Si se divide de la arquitectura y el concepto internos, el marco JavaScript se puede dividir en 5 categorías.
Tipo 1
Lo que aparece es una biblioteca o marco de clases orientada a un espacio de nombres. Por ejemplo, si crea una matriz, usa una nueva matriz () y genera un objeto con nuevo objeto (), es completamente estilo Java. Por lo tanto, podemos usar un objeto como raíz y agregar constantemente atributos del objeto o atributos del objeto secundario para organizar el código y apilarlos como una pirámide. Trabajos representativos como Early Yui y Ext.
Tipo 2
Lo que apareció es un marco orientado a la fábrica, como el famoso prototipo, así como Mootols, Base2 y Ten. Básicamente, a excepción del espacio de nombres más básico, otros módulos son objetos de clase derivados de fábricas de clases. Especialmente Mootols 1.3, encapsula todos los tipos en tipos de tipos.
Tipo 3
Es un marco orientado al selector representado por jQuery. Todo el marco o el cuerpo de la biblioteca es un objeto de matriz de clase especial, que es conveniente para las operaciones de recolección, porque el selector generalmente selecciona N nodos de elementos a la vez, por lo que se procesa juntos. JQuery contiene varias cosas sorprendentes: la tecnología de "instanciación nueva", $ (expr) es devolver una instancia sin explícitamente nueva; Obtenga la primera configuración de todas las reglas de acceso: sistema de almacenamiento en caché de datos. De esta manera, los eventos del nodo se pueden replicar. Además, también se ha descubierto IIFE (expresión de la función invocada inmediatamente).
Tipo 4
Es un marco conectado por los cargadores. Todos tienen múltiples archivos JavaScript, y cada archivo JavaScript está escrito con reglas fijas. El más famoso de ellos es AMD. La modularidad es una señal de que JavaScript se está moviendo hacia la industrialización. La primera de las muchas "Reglas de Oro" enumeradas en "Unix Programming Art" son los módulos, lo que dice: "La única forma de escribir software complejo sin falta es combinar varios módulos simples con interfaces claramente definidas. De esta manera, la mayoría de los problemas solo ocurrirán en el área local, y todavía hay esperanza de mejorar o optimizar el área local sin afectar el cuerpo completo". Muchos marcos internos de empresas básicamente adoptan esta arquitectura, como Dojo, Yui, Kissy, QWrap y Mass.
Tipo 5
Es un marco MV* con una arquitectura jerárquica clara. Primero, JavaScript MVC (ahora llamado CANJS), Backbonejs y Spinejs, y luego más en línea con los marcos MVVM front-end reales, como Knockout, Ember, Angular, Avalon y Winjs. En el marco MVVM, las operaciones DOM originales se reemplazan por vinculación declarativa y son manejadas por el marco en sí, y los usuarios solo necesitan centrarse en el código de negocio.
A continuación hay conclusiones sobre las características del marco.
Las operaciones en tipos de datos básicos son lo básico. Por ejemplo, JQuery proporciona métodos como Trim, Camelcase, cada uno, MAP, etc. y marcos invasivos como prototipo.js agregan métodos como camelizar a los prototipos.
La determinación del tipo es esencial, y la forma común es la serie ISXXX.
Los selectores, DomReady y AJAX son características estándar de los marcos modernos.
Las operaciones DOM son la principal prioridad. El recorrido de los nodos, las operaciones de estilo y las operaciones de atributos también pertenecen a su alcance. Si subdividir depende del tamaño del marco.
Brower Sniff está obsoleto y la detección de características se está aplicando. Sin embargo, la detección de características todavía tiene limitaciones. Si está utilizando el navegador para renderizar errores, políticas de seguridad o correcciones a ciertas versiones del navegador, todavía se requiere olfateo del navegador. Pero debe ser independiente como un módulo o complemento, eliminando el núcleo del marco.
Ahora los sistemas de eventos principales admiten la proxy de eventos.
El caché y el procesamiento de datos son proporcionados actualmente por el navegador para proporcionar datos de datos:* para este trabajo, pero no son fáciles de usar y requieren una mayor encapsulación del marco.
Animation Engine, a menos que su marco tenga un marco de animación de primer nivel como script.aCulo.us como respaldo, es mejor agregarlo.
Complementos fáciles de desarrollar y extensibles.
Proporciona soluciones para manejar procesos asincrónicos como diferidos.
Incluso si no se proporciona una fábrica de clase específicamente, debe haber un método llamado Extend o Mezcle para extender el objeto. Aunque JQuery no tiene una fábrica de clase, uno debe agregarse en la interfaz de usuario jQuery, lo que muestra su importancia.
Desde que JQuery salió con un método llamado Noconflict, los marcos emergentes han traído este método para sobrevivir en la hendidura.
Muchos marcos ponen un gran énfasis en las operaciones de galletas.