Maison > interface Web > js tutoriel > Classification du framework et principales fonctions du framework javascript design_javascript skills

Classification du framework et principales fonctions du framework javascript design_javascript skills

WBOY
Libérer: 2016-05-16 15:53:36
original
1216 Les gens l'ont consulté

Du point de vue de l'architecture interne et des concepts, le framework JavaScript actuel peut être divisé en 5 catégories.

Le premier est une bibliothèque ou un framework orienté espace de noms Si vous créez un tableau, utilisez new Array() et générez un objet, utilisez new Object(), qui est entièrement de style Java. Par conséquent, nous utilisons un certain objet comme base et y ajoutons constamment des objets et des attributs d'objet secondaire pour organiser le code, en le construisant comme une pyramide. Au début, il représentait YUI, EXT (donc, pas toutes les entreprises dynamiques). je les utilise toujours)

Le second est un framework orienté usine de classe . Les plus célèbres incluent Prototype, mootools, Base2 et Ten. Fondamentalement, à l'exception de l'espace de noms le plus basique, les autres modules sont des objets de classe dérivés d'usines de classes. En particulier, mootools1.3 encapsule tous les types dans des types Type.

Le troisième type est le framework orienté sélecteur représenté par jQuery. L'ensemble du framework ou du corps de la bibliothèque est un objet spécial de type tableau, qui facilite les opérations centralisées (car le sélecteur a soudainement sélectionné N nœuds d'éléments). ), ils ont donc été traités ensemble. Il y a plusieurs avantages à propos de jQuery :

Technologie "Aucune nouvelle instanciation", $(expr) renvoie une instance, aucune nouvelle explicite n'est requise
; commencez par définir toutes les règles d'accès ;
Système de mise en cache des données. De cette façon, vous pouvez attribuer des événements de nœud.
IIFE a également été découvert

Le quatrième type est le framework connecté par des chargeurs. Il possède plusieurs fichiers javascript, et chaque fichier javascript est écrit selon des règles fixes. Parmi eux, le plus connu est AMD. La modularisation est le signe que JavaScript évolue vers l'industrialisation : « La seule façon d'écrire des logiciels complexes sans les rendre compliqués est de définir des interfaces claires et de combiner plusieurs modules. De cette façon, la plupart des problèmes n'apparaîtront que localement, donc il reste des problèmes. " On espère que des améliorations et des optimisations locales pourront être apportées sans affecter l'ensemble du corps. " De nombreux frameworks internes d'entreprise adoptent essentiellement cette architecture, comme Dojo, YUI, Kissy, qwrap, mass, (requirejs, Seajs), etc.

Le cinquième type est MV* avec une architecture en couches claire. Le premier est javascript MVC (maintenant appelé Canjs), backbone.js et spinejs, puis le framework MVVM qui est plus conforme à celui-ci. le front-end réel. Par exemple, knockout, emberm, angulaire, avalon, winjs. Dans le framework MVVM, les opérations DOM d'origine sont remplacées par une liaison déclarative, qui est gérée librement par le framework, et l'utilisateur se concentre uniquement sur le code métier.

Principales fonctions du framework javascript

La division des modules de la bibliothèque de classes du framework jQuery est principalement basée sur le code source de github, qui est essentiellement un module et un fichier javascript. L'idée de jQuery de se concentrer sur les opérations DOM était dès le début, et ce sera le cas. continuer à améliorer la compatibilité à l’avenir. Après des années de développement, les énormes plug-ins de jQuery et les canaux complets de soumission de BUG lui ont permis de continuer à s’améliorer

Prototype.jsLe premier roi, il est divisé en quatre parties.

Extension de langue
Extension DOM
Partie Ajax
La partie abandonnée, la nouvelle version utilise d'autres méthodes pour réaliser les fonctions d'origine

Prototype.js dispose d'un large éventail d'extensions de langage, y compris des types de données de base et des « classes » empruntées au langage. Parmi eux, Enumerable n'est qu'un package de méthodes ordinaire, tandis que ObjectRange, PeriodicalExecuter et Templat sont produits à l'aide de la fabrique de classes Class (à partir des contributions de la communauté).

mootoolsParce que la conception de l'API est très élégante et qu'il existe de nombreux plug-ins de haute qualité sur son site officiel, elle n'a pas décliné dans la vague d'opposition aux extensions prototypes.

Rightjs : Autre framework d'extension de prototype, MochiKit est un framework de style Python qui est tout à fait unique et peut être classé parmi les dix meilleurs frameworks.
Dix : Le framework Javascript de la célèbre communauté de blogs japonaise Hatena, développé par amachang, influencé par Prototype.js, est le premier exemple de framework nommé d'après l'espace mass Framework : un framework de style jQuery ciblant les grands ; développement de modules .

Après une comparaison détaillée, nous pouvons facilement tirer des conclusions sur les fonctionnalités suivantes du framework

对基本数据的操作是基础,如jQuery提供的trim camelCase each map等方法,Prototype.js等入侵式框架则在原型上添加camelize等方法
类型的判定比不可少,常见的形式是jsXXX系列
选择器,domReady Ajax是现代框架的标配
DOM操作是重中之重,节点的遍历,样式操作,属性操作也属于它的范畴
现在主流的事件系统都支持事件代理
数据的缓存与处理,目前浏览器也支持data-属性进行操作,但不好用,需要框架封装
动画引擎
插件的易开发和扩展性
提供诸如Deferred这样处理异步的解决方案
即使不专门提供一个类工厂,也应该存在一个名为extend或mixin的方法对对象进行扩展。jQuery虽然没有类工厂,但在jQuery UI中也不得不增加一个,可见其重要性。
自从jQuery出来一个名为noConflict的方法,新兴的框架都带此方法,以求狭缝中生存。
许多框架非常重视Cookie操作。
Copier après la connexion

Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal