J'ai un projet ASP.NET MVC 4 et je suis bloqué sur une décision architecturale concernant le cadre ou la bibliothèque JavaScript à utiliser : Angular.js ou Knock.js. Je penche actuellement pour l'utilisation d'Angular.js plutôt que de Knockout.js, mais je ne veux pas découvrir à mi-chemin du développement du projet que j'ai fait une erreur.
Voici le contexte :
- Nous avons besoin d'une liaison bidirectionnelle des données du modèle
- Nous avons besoin de la possibilité de tester les vues. Je veux être capable de faire des tests unitaires de bout en bout. De plus, nous utilisons l'intégration continue.
- Fonctionnalité "Enregistrer les modifications" : si un utilisateur apporte des modifications à une page, nous devons être en mesure de détecter ces modifications et d'inviter l'utilisateur à les enregistrer avant de quitter la page.
- Fonctionnalité de "notifications". Par exemple, l'utilisateur sera connecté environ 8 heures et devra être informé et mis à jour des modifications apportées par d'autres utilisateurs (erreurs, modifications de l'état des données, etc.).
- Nous devons "préparer l'avenir" de notre application. Actuellement, l'unité commerciale n'a pas décidé si nous devrons prendre en charge les appareils mobiles, mais je sais que ce n'est qu'une question de temps.
- Notre équipe est composée de développeurs dont les niveaux d'expérience varient de très jeunes à des développeurs seniors.
- Actuellement, nos modèles sont compliqués et pourraient le devenir encore plus.
- Nous devons également tenir compte de la RAD, de la réutilisation du code et de la maintenabilité.
J'ai lu l'excellente réponse aquí et regardé l'interview de Scott Allen sur Angular aquí
Puisque nous ne sommes pas en mesure de passer de notre architecture actuelle ASP.NET MVC 4 à l'utilisation de quelque chose du côté serveur comme l'API Web, j'ai quelques préoccupations en essayant de mettre en œuvre Angular.js avec MVC 4. Cela nous obligera-t-il à avoir deux modèles, un sur le serveur et un sur le client ?
Je ne cherche pas à avoir une discussion sur "ce qui est mieux" entre Angular et Knockout, car je pense qu'ils ont tous deux leurs avantages et leurs inconvénients. Je cherche du code réel sur la mise en œuvre d'un framework ou d'une bibliothèque JavaScript dans une application ASP.NET MVC 4. J'ai besoin d'une solution avec laquelle je pourrai vivre dans plus de deux ans :)
Des idées ou des suggestions ? Peut-être que la réponse n'est pas Knock ou Angular, mais un autre framework JavaScript ?