Maison  >  Article  >  interface Web  >  La différence entre LABjs, RequireJS et SeaJS_Seajs

La différence entre LABjs, RequireJS et SeaJS_Seajs

WBOY
WBOYoriginal
2016-05-16 16:57:221164parcourir

1. Le cœur de LABjs est LAB (Loading and Blocking) : le chargement fait référence au chargement parallèle asynchrone et le blocage fait référence à l'attente synchrone d'exécution. LABjs implémente ces deux fonctionnalités grâce à une syntaxe élégante (script et attente), et sa valeur fondamentale est l'optimisation des performances. LABjs est un chargeur de fichiers.

2. RequireJS et SeaJS sont des chargeurs de modules, prônant un concept de développement modulaire, et leur valeur fondamentale est de rendre le développement modulaire de JavaScript plus facile et plus naturel. Le chargeur de module peut également être rétrogradé vers un chargeur de fichiers, donc l'utilisation de RequireJS et SeaJS peut également atteindre l'objectif d'optimisation des performances de LABjs.

3. RequireJS et SeaJS sont tous deux de très bons chargeurs de modules. Les différences entre les deux sont les suivantes :

1. Il existe des différences dans le positionnement des deux. RequireJS veut être un chargeur de modules côté navigateur, mais veut également être un chargeur de modules pour des environnements tels que Rhino/Node. SeaJS se concentre sur le côté navigateur Web et peut facilement s'exécuter côté serveur Node via l'extension Node
2. Les normes suivies par les deux sont différentes. RequireJS suit la spécification AMD (Asynchronous Module Definition) et SeaJS suit la spécification CMD (Common Module Definition). La différence de spécifications conduit à des API différentes entre les deux. SeaJS est plus concis et élégant, et plus proche des spécifications CommonJS Modules/1.1 et Node Modules.
3. Il existe des différences dans les concepts communautaires entre les deux. RequireJS essaie de permettre aux bibliothèques tierces de se modifier pour prendre en charge RequireJS, mais actuellement, seules quelques communautés l'ont adopté. SeaJS ne le force pas, mais adopte sa propre méthode de packaging pour « s'adapter à toutes les rivières ». Actuellement, il existe une stratégie de packaging relativement mature.
4. Il existe une différence de qualité de code entre les deux. RequireJS n'a pas de bugs évidents, et SeaJS n'a pas de bugs évidents.
5. Les deux ont un support différent pour le débogage. SeaJS peut réaliser la fonction de cartographie automatique dans Fiddler via des plug-ins, et peut également réaliser des fonctions telles que le combo automatique, ce qui est très pratique et pratique. RequireJS ne prend pas en charge cela.
6. Il existe des différences dans les mécanismes de plug-in entre les deux. RequireJS prend la forme de réservations d'interfaces dans le code source, et le code source contient du code écrit pour les plug-ins. Le mécanisme de plug-in adopté par SeaJS est cohérent avec l'approche de Node : il s'ouvre pour que les développeurs de plug-ins puissent y accéder ou le modifier directement, le rendant très flexible et capable d'implémenter différents types de plug-ins.

Il existe de nombreuses différences détaillées dans lesquelles je n’entrerai pas dans les détails.

En bref, SeaJS est plus concis et élégant que RequireJS, de l'API à l'implémentation. Si RequireJS est une bibliothèque de classes Prototype, alors SeaJS est une bibliothèque de classes jQuery.
Enfin, chapeau bas à RequireJS ! RequireJS et SeaJS sont de bons frères et travaillent ensemble pour promouvoir l'idée du développement modulaire. C'est la chose la plus importante.

Déclaration:
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