Existe-t-il des frameworks JavaScript MVC (micro-) côté client ?
J'ai un formulaire HTML assez compliqué, et il bénéficierait du modèle MVC.
J'imagine qu'une bonne solution fournirait ce qui suit:
- Le modèle et la vue mettent à jour le contrôleur lorsque les valeurs changent (modèle d'observateur)
- Remplir le modèle à partir des données du formulaire lors du chargement de la page
- Remplir le formulaire à partir du modèle lorsque le modèle change
Ajax, comet, JSONP et tout ce jazz sont vraiment exagérés.
javascript
model-view-controller
forms
nicholaides
la source
la source
Réponses:
Backbone est un excellent cadre léger. Essayez-le: http://backbonejs.org/
la source
JavaScriptMVC est une excellente solution. Tout est une approche plugin vous permet de sélectionner uniquement les fonctionnalités dont vous avez besoin. Depuis la version 2.0, il est basé sur jQuery.
L'amélioration progressive de votre site Web est laissée à l'utilisateur car JMVC ne fournit qu'une couche intermédiaire pour le développement - c'est à vous de faire vous-même ce choix de conception.
Cependant, JavaScriptMVC est tout simplement la meilleure bibliothèque JavaScriptMVC à usage général en raison de ses puissants contrôleurs basés sur la délégation d'événements.
La délégation d'événements vous permet d'éviter d'avoir à attacher des gestionnaires d'événements et de créer simplement des règles pour votre page.
Enfin, JMVC est bien plus qu'une architecture MVC. Toutes les parties du cycle de développement sont couvertes par:
la source
Spine a une API similaire à Backbone mais elle est beaucoup plus petite. Il présente un héritage prototypique.
la source
AngularJS fonctionne bien avec jQuery et vous aidera beaucoup avec la structure MVC et la séparation stricte des préoccupations.
Environnement de test complet et injection de dépendances inclus ...
Découvrez-le sur http://angularjs.org
la source
En effet il y a: http://www.javascriptmvc.com/
Je pense que vous trouverez cela suffisant!
la source
Je pense que celui-ci ressemble à quelque chose que vous devriez vérifier: http://knockoutjs.com/
(En tant que programmeur silverlight / wpf, c'est la bibliothèque qui m'a finalement permis de commencer à apprendre le javascript. Elle est basée sur le modèle Model-View-View-Model (MVVM), car pour moi en ce moment me semble être un bon choix!)
la source
Il y a le populaire Backbone.js
la source
Ember.js
Voici les trois fonctionnalités qui font d'Ember un plaisir à utiliser:
Fixations
Utilisez des liaisons pour synchroniser les propriétés entre deux objets différents. Vous ne déclarez qu'une seule liaison et Ember s'assurera que les modifications sont propagées dans les deux sens.
Voici comment créer une liaison entre deux objets:
Les liaisons vous permettent de structurer votre application en utilisant le modèle MVC (Model-View-Controller), puis soyez tranquille en sachant que les données circuleront toujours correctement d'une couche à l'autre.
Propriétés calculées
Les propriétés calculées vous permettent de traiter une fonction comme une propriété. Les propriétés calculées sont utiles car elles peuvent fonctionner avec des liaisons, comme toute autre propriété.
Modèles de mise à jour automatique
Ember utilise Handlebars, une bibliothèque de modèles sémantiques. Pour prendre des données de votre application JavaScript et les mettre dans le DOM, créez une balise et placez-la dans votre HTML, là où vous souhaitez que la valeur apparaisse:
la source
Stapes.js
Divulgation complète: je suis l'auteur de cette bibliothèque :)
Si vous cherchez quelque chose de vraiment minuscule (1,5 ko minifié / gzippé), jetez un œil et dites-moi si vous l'aimez.
la source
new
opérateur déroutant ). Ce qui semble inutile est encore un autreeach
etmap
. Je les ai déjà dans Underscore.js et jQuery .Si vos besoins sont vraiment simples, vous pouvez écrire votre propre MVC simple comme Alex Netkachov l'a fait.
Ses exemples sont construits sur dojo (Remarque: ils ne fonctionnent pas pour moi sur sa page à cause d'un fichier dojo.js manquant), mais vous pouvez suivre le modèle en Javascript brut.
la source
C'est probablement exagéré pour ce dont vous avez besoin, mais SproutCore est un framework MVC, et il n'a pas l'air plus lourd que JavaScriptMVC ou TrimPath's Junction .
Malheureusement, aucun de ceux-ci ne semble être fondé sur le principe de l'amélioration progressive .
la source
Le populaire framework ActionScript MVC PureMVC a récemment été porté en JavaScript. Je n'ai pas encore eu l'occasion de l'essayer, mais je suis convaincu que c'est bon.
la source
S'il vous plaît également vérifier jquery-claypool .
jquery-claypool est un petit framework mvc rapide et disponible construit sur jquery, basé sur mon expérience avec django, rails, spring etc. Son poids très léger et fonctionne à la fois sur le client et dans les environnements serveur.
il fournit un cadre de routage pour le mvc propre, la journalisation des catégories, les filtres (aop), la création paresseuse de contrôleurs, l'inversion de contrôle, la convention sur la configuration et pas beaucoup plus par conception.
il ne fait rien que jquery fait déjà, ressemble à jquery et fonctionne comme un bon framework devrait: simplement.
jquery-claypool
J'espère que vous le vérifiez.
la source
Jamal est le plus léger que j'ai vu. Il est également basé sur jQuery (bonus). Je n'ai pas utilisé.
http://jamal-mvc.com/
la source
Si vous voulez garder les choses sous contrôle et assez simples, vous n'avez peut-être pas besoin d'un framework, mais implémentez simplement votre propre modèle mvc. Il suffit de consulter cet article: Model-View-Controller (MVC) avec JavaScript par Alex Netkachov sur 2006.
la source
Voici une liste de tous les frameworks JavaScript open-source connus de l'humanité.
http://getopensource.info/explore/javascript/framework/
Ou seulement les frameworks MVC
http://getopensource.info/explore/javascript/mvc/
Divulgation: Je suis le développeur de ce site Web.
la source
Essayez Kitty . Il ne fait que 1,4 Ko et sa seule dépendance est EJS.
la source
MISE À JOUR 2016: Sammy.js semble être abandonné.
Jetez un œil à Sammy.js
Texte du site:
Un petit webframework avec classe.
la source
Je n'appellerais pas cela un micro- cadre, mais cela semble intéressant: Cappuccino Web Framework
la source
CorMVC, facile à comprendre et à démarrer, basé sur jquery et ne dépend d'aucune technologie de serveur
la source
J'ai développé un framework Javascript MVC très simple appelé MCV . Il ne fait pas exactement ce que vous demandez, mais il est facilement extensible avec des aides. Quoi qu'il en soit, c'est vraiment micro (1,9kb emballé).
Cela fonctionne plus ou moins comme Jamal, mais j'ai décidé de rouler le mien pour deux raisons:
la source
Juste pour rendre la liste un peu plus complète: ActiveJS
la source
J'ai voté pour AngularJS (divulgation complète, je suis impliqué de manière limitée dans l'effort de développement angulaire) et j'en suis très enthousiasmé. J'ai fait une comparaison côte à côte en prenant une fonctionnalité pour un projet interne (désolé, je n'ai pas d'approbation pour la partager) et en l'implémentant dans AngularJS et Backbone. C'était un super exercice et au final, je penche beaucoup vers Angular. Les principaux développeurs sont très doués pour répondre aux questions et ils ont fait un très bon travail avec la liaison de données intégrée, les tests unitaires / e2e et la documentation. Il est toujours en version bêta avec la sortie de la version 1.0 dans un proche avenir. La version bêta est très stable.
Il y a un peu de changement de paradigme, et ils utilisent une approche assez différente de la plupart. L'intégration de vos plugins jquery préférés demande un peu d'effort, mais c'est faisable et a été fait (angular-contrib sur github).
Je dirai (et c'est un problème pour la plupart des frameworks centrés sur js), assurez-vous de rechercher comment rendre votre contenu convivial pour le référencement (si cela est important pour vous). Depuis que j'ai rejoint la communauté angulaire en juin, j'ai remarqué que l'intérêt grandissait et qu'un certain nombre de personnes publient des messages disant qu'ils ont regardé Backbone et d'autres mais aiment vraiment ce qu'ils voient dans Angular.
la source
Maverick est un petit framework JavaScript MVC - http://maverick.round.ee
la source
Je vais aussi parler ici - AFrameJS fonctionne avec jQuery, MooTools et Prototype.
la source
Un autre: MooTools-MVC
la source
Il y avait un framework JavaScript de liaison clé-valeur appelé "Coherent", inspiré des Cocoa Bindings d'Apple. Le framework a été acheté par Apple, mais il existe encore une ancienne copie sur http://github.com/trek/coherentjs/tree/master .
la source
Essayez ce framework javascript MVC basé sur jQuery .
la source
Un de plus, léger et minuscule: http://jqnano.oleksiy.pro/
la source
Can.js a tout ce dont vous avez besoin et ne pèse que 8 Ko. Il a pris les meilleurs morceaux de JavaScriptMVC et les a distillés dans un cadre petit mais dynamique avec des observateurs, des widgets, des liaisons, les travaux. Il est compatible avec les principaux frameworks ( jQuery , Dojo Toolkit , MooTools , etc.). La documentation est excellente et les auteurs sont réactifs. Cela vaut vraiment le coup d'œil.
la source