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 sans nécessiter de modifications architecturales majeures. 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 2.3.0 vient de sortir. Elle propose notamment :
- le renommage de hasfocus en hasFocus ;
- le paramètre name de template accepte les observables ;
- ko.unwrap ajoute un substitut pour ko.utils.unwrapObservable ;
- les options de binding utilisent la même technique que le foreach afin d'éviter des conversions inutiles ;
- l'ajout du callback optionsAfterRender afin de permettre un traitement personnalisé des options supplémentaires ;
- optionsCaption affiche une légende vide si la valeur est une chaîne vide.
Site officiel.
Téléchargement.
Documentation.