J'utilise heureusement JQuery depuis 2 ans et j'ai réussi à créer des fonctionnalités vraiment cool avec lui ... donc je suis très à l'aise avec. Je crois également que l'avenir du Web se poursuivra sur le chemin actuel côté client.
Pourtant...
Le prochain défi semble venir sous la forme de divers cadres de contrôleur: KnockoutJS , BackboneJS , SproutCore , JavaScriptMVC (la liste continue).
Additonally, il y a quelques grands AMD Loader outils à utiliser comme RequireJS ou LabJS etc. Cependant, jQuery a maintenant define
et then
capacités au four-in.
Il devient de plus en plus difficile de garder une trace de tout cela ...
Et maintenant, ma tâche semble être d'évaluer / décider d'une direction stratégique pour l'utilisation d'une forme de MVC ou de MVVM côté client ... mais j'ai tellement de questions.
- Où JQuery s'intègre-t-il avec les différents cadres de contrôleur mentionnés ci-dessus?
- Est-ce que JQuery est utilisé à côté de chacun ou certains d'entre eux ont-ils leur propre " version stylée JQuery " intégrée?
- Des outils comme RequireJS sont-ils toujours nécessaires si vous implémentez l'un des différents frameworks de contrôleur mentionnés ci-dessus?
- Les fonctionnalités
define
et lesthen
fonctionnalités intégrées à JQuery remplacent-elles désormais le chargeur AMD mentionné ci-dessus? - Lequel semble le plus modulaire? (voir notes ci-dessous)
REMARQUES:
Une chose que je ne veux dans aucun futur framework est l'exigence d'avoir à intégrer de grandes quantités de fonctionnalités que je n'utilise pas. Cela signifie que je préfère utiliser un cadre vraiment modulaire. Par exemple, pour utiliser l'interface utilisateur jQuery, vous devez intégrer de nombreuses autres bibliothèques de base que vous pourriez ne pas utiliser réellement.
J'expérimenterai avec chacun, mais de VRAIS commentaires seraient formidables. J'ai vu des questions «similaires», mais aucune n'a vraiment répondu au biais ci-dessus.
Merci d'avance!
la source
Je répondrai sur JavaScriptMVC car je suis un contributeur:
JavaScriptMVC dépend de jQuery et l'utilise largement.
JavaScriptMVC n'a aucune fonctionnalité concurrente avec jQuery. Ce n'est pas aussi vrai avec Backbone qui a son propre système d'événements. Mais tout ce que la colonne vertébrale ou la colonne vertébrale ajoutent est très minime.
JavaScriptMVC est livré avec un système de gestion des dépendances -> steal. Vous pouvez utiliser JavaScriptMVC avec RequireJS, mais le vol est en réalité beaucoup plus puissant et à peu près de même taille téléchargé par un utilisateur.
Ce n'est pas opiniâtre. JavaScriptMVC est extrêmement modulaire. Vous n'utilisez que ce dont vous avez besoin. Comparé au Backbone ou à la colonne vertébrale, vous pouvez utiliser ses pièces M, V ou C de manière autonome. Une fois assemblé, il n'est que 1k plus grand que Backbone (lors de l'utilisation de jQuery et Underscore). Vous pouvez voir les différentes tailles des composants de base ici: https://github.com/jupiterjs/javascriptmvc/issues/26
Mais JavaScriptMVC est beaucoup plus puissant (en termes de fonctionnalités) que Backbone ou Spine. Par exemple, ses gestionnaires d'événements basés sur des modèles empêchent pratiquement toutes les fuites de mémoire. Voici une info-bulle qui se cache lorsque vous cliquez sur la fenêtre:
Ceci est absolument essentiel avec l'approche MVC lorsque vos contrôles écoutent les changements dans le modèle comme:
Le contrôleur déliera automatiquement tous ces gestionnaires d'événements externes.
Quelques autres points forts des pièces MVC:
Maintenant, JavaScriptMVC est bien plus que ses parties MVC (qui font partie du sous-projet jQueryMX). Il a:
Maintenant, de quoi utiliser, beaucoup dépend. Cela dépend beaucoup si vous créez une "application" ou une "page". Une application, qui a besoin de tests, de gestion des dépendances, où vous vous souciez des fuites de mémoire, je regarderais JMVC ou SproutCore.
Si vous collez quelques widgets de base ensemble, je regarderais la colonne vertébrale ou l'épine dorsale.
la source