Aujourd'hui, je cherchais dans la bibliothèque Knockout JavaScript et ses fonctionnalités. Maintenant, je veux utiliser cela avec les applications MVC 3, mais quels sont les avantages à utiliser avec MVC 3?Quels sont les principaux avantages de la bibliothèque de scripts Knockout java avec MVC 3
Répondre
Knockout est un modèle MVVM qui fonctionne avec un ViewModel javascript. La raison pour laquelle cela fonctionne bien avec MVC est que la sérialisation vers et depuis les modèles javascript dans JSON est très simple.
De plus, il sera inclus dans MVC4. Voici une vidéo par le créateur du knock-out sur la façon de l'utiliser pour les applications d'une seule page dans MVC4 (avec la nouvelle fonction de l'API Web de Microsoft):
http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2159
Mais les avantages sont vraiment que MVVM vous permet de développer riche interface utilisateur de avec beaucoup moins de codage (si vous connaissez Silverlight ou WPVM MVF, vous saurez exactement ce que je veux dire).
Compte tenu d'un ViewModel de:
var myViewModel = { myValue: 'some text' };
Vous n'êtes pas obligé de lier
$('#textBox').change(function() { myViewModel.myValue = $(this).val(); })
et l'inverse de
$('#textBox').val(myViewModel.myValue)
dans tous les sens, ou la manipulation de code spécial de propriétés calculées dans votre vue dans Knockout. Vous pouvez tout faire d'une manière très orientée objet.
<input type="text" data-bind="value: myValue" />
Et tous les événements sont câblés.
Les avantages sont énumérés ici - http://knockoutjs.com/documentation/introduction.html
Les benifits sont plus structurés, flexible code javascript côté client. Vous pouvez partitionner mieux l'interface utilisateur et pouvez aller si loin que vous vous retrouvez avec "un site web unique" ... qui ne fait que des requêtes json (si vous le souhaitez) signifie moins d'allers-retours de serveur plus petits répond , etc ...
Et pour moi le pense vraiment cool est la liaison par ... observables
http://knockoutjs.com/documentation/observables.html
vérifiez également ceci: MVC + Knockoutjs = côté client MVVM bonheur http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2378
Les avantages sont nombreux, quelques caractéristiques remarquables sont présentées ci-dessous:
- Faisabilité de se connecter à tout moment avec les éléments de l'interface utilisateur dans le modèle de données.
- Créez facilement des modèles de données complexes et dynamiques.
- La liaison de données permet de manipuler les données stockées, de les répercuter sur l'interface utilisateur et de mettre à jour l'interface utilisateur avec des modifications régulières du serveur principal le cas échéant.
- Prend en charge le modèle de programmation piloté par événement et offre une personnalisation à 100%.
- Supporte IE, Firefox, Safari, Bing, Chrome et bien d'autres navigateurs principaux .
- Permet d'éviter les ballonnements du dialogue HTTP avec la logique de présentation et la présentation de balisage sur le serveur.
- Il assure l'application des règles métier, la sécurité des données et plus de contrôle sur la page Web .
- Il offre également l'intégrité référentielle et de nombreuses fonctionnalités de validation en ce qui concerne le flux de travail pour plus de sécurité.
- Knockoutjs offrent une extensibilité exceptionnelle. Il a de nombreux points d'extension et utilitaires pour construire une application.
Vous pouvez en lire plus ici de notre article https://cynere.com/advantages-of-knockoutjs
- 1. Quels sont les avantages de l'utilisation du framework MVC 3?
- 2. Quels sont les principaux concurrents de Servoy?
- 3. Quels sont les avantages de Struts
- 4. Quels sont les avantages de ConcurrentSkipListMap?
- 5. Quels sont les trois principaux concepts principaux de WPF?
- 6. Quels sont les principaux/principaux dépôts Maven à utiliser?
- 7. Quels sont les principaux avantages des annotations Plus XML en Java
- 8. Quels sont les avantages à inclure la bibliothèque Jquery de la bibliothèque ajax api de google?
- 9. Quels sont les principaux avantages du passage au DLR pour mon langage de script?
- 10. Quels sont les avantages/inconvénients de py2exe
- 11. Quels sont les avantages de VS2010 SP1?
- 12. Quels sont les avantages de Blocking Queue en Java?
- 13. Quels sont les avantages de Linq?
- 14. Quels sont les avantages de l'utilisation Rubinius
- 15. Quels sont les avantages de l'élimination de la fragmentation d'IPv6?
- 16. Quels sont les principaux avantages, ou non, du développement avec Vala?
- 17. Quels sont les avantages de Reflection?
- 18. Quels sont les avantages d'utiliser MSBuild?
- 19. Quels sont les principaux avantages de l'utilisation d'une classe Singleton pour une classe "utilitaire"?
- 20. Quels sont les principaux avantages de l'implémentation d'une machine virtuelle dans le cadre d'une application?
- 21. Quels sont les principaux avantages d'un examen de projet en face-à-face?
- 22. quels sont les avantages de MVC3 sur MVC2
- 23. Quels sont les avantages à utiliser Qt?
- 24. Quels sont les véritables avantages d'ExpandoObject?
- 25. Quels sont les principaux points d'hibernation?
- 26. Quels sont les avantages d'utiliser Generics?
- 27. Quels sont les avantages de la classe Guava Stopwatch?
- 28. Quels sont les avantages et les inconvénients de l'utilisation de Jquery UI avec AngularJS?
- 29. Knockout + mvc 3 + Validation
- 30. Quels sont les avantages d'utiliser automapper?
Merci beaucoup pour Paul réponse rapide. Oui, je sais MVVM dans WPF mais je ne suis pas capable de trouver un avantage spécifique dans l'application MVC, comme supposé que j'ai 10 propriétés dans mon modèle et maintenant je dois créer les mêmes 10 propriétés dans la vue Modèle pour lier les données. Alors pourquoi je fais du code supplémentaire? –
Modifications immédiates de l'interface utilisateur lorsque les données changent. Si vous n'avez pas besoin de mises à jour "like-live", alors vous n'avez pas besoin de knock-out – soniiic
ok. donc cela signifie que si quelqu'un fait des changements dans mes données, l'interface utilisateur mettra automatiquement à jour les valeurs sans aucune demande au serveur? –