La bibliothèque JavaScript UI de type MVVM se consolide.
Knockout est une bibliothèque JavaScript qui permet de créer des interfaces utilisateur riches et dynamiques, ainsi qu'un éditeur d'interface utilisant un modèle de données sous-jacent. C'est une architecture MVVM (Modèle-Vue-VueModèle).
Avec cet outil, vous pouvez faire, par exemple :
- une mise à jour automatique des bonnes parties de votre interface utilisateur à chaque changement du modèle de données ;
- des liaisons déclaratives. C'est une façon simple et évidente pour relier votre interface utilisateur à votre modèle de données ;
- mettre en œuvre des comportements personnalisés comme de nouvelles liaisons déclaratives pour une réutilisation facile en seulement quelques lignes de code.
Étant écrit en JavaScript pur, Knockout fonctionne avec n'importe quelle technologie serveur ou cliente. Elle peut donc être ajoutée à vos applications Web existantes. L'outil est d'ailleurs léger, environs 13 ko après compression.
Il fonctionne sur n'importe quel grand navigateur (IE 6+, Firefox 2+, Chrome, Safari, etc.).
Les développeurs familiarisés avec Ruby on Rails, ASP.NET MVC ou d'autres technologies de type MV* peuvent voir MVVM comme une forme en temps réel de MVC avec la syntaxe déclarative.
La version 3.1.0 vient de sortir. Contrairement à une prochaine version qui contiendra des changements plus conséquénts, celle-ci propose quelques améliorations et nouveautés comme notamment :
- une nouvelle fonctionnalité pour avoir plus de contrôle et de souplesse sur throttle et debounce ;
- renderTemplate supporte l'argument name pour être observable ;
- l'ajout de l'option valueAllowUnset qui permet à la value de liaison d'accepter une valeur sélectionnée qui n'est pas actuellement dans la liste des options ;
- dans les navigateurs qui prennent en charge le paramètre proto, on définit des prototypes subscribable/observable/computed/observableArray plutôt que les méthodes de copie des objets fn ;
- l'utilisation des objets au lieu des tableaux pour assurer le suivi des dépendances calculées (principalement significatif dans les anciennes version d'IE) ;
- la correction des erreurs lors de l'utilisation de la value de liaison avec les templates jQuery ;
- et bien d'autres.
Site officiel.
Téléchargement.
Documentation.