Ich habe ein ASP.NET MVC 4-Projekt und bin bei einer architektonischen Entscheidung festgefahren, welches JavaScript-Framework oder welche Bibliothek Angular.js oder Knock.js verwenden soll. Ich neige derzeit dazu, Angular.js über Knockout.js zu verwenden, möchte aber nicht herausfinden, dass ich während der Projektentwicklung einen Fehler gemacht habe.
Hier einige Hintergrundinformationen:
- Wir brauchen eine bidirektionale Modelldatenbindung
- Wir brauchen die Fähigkeit, Ansichten zu testen. Ich möchte in der Lage sein, End-to-End-Unit-Tests durchzuführen. Außerdem verwenden wir die kontinuierliche Integration.
- Funktion "Änderungen speichern". Wenn ein Benutzer Änderungen an einer Seite vornimmt, muss er in der Lage sein, Änderungen zu erkennen und den Benutzer aufzufordern, seine Änderungen zu speichern, bevor er von der Seite weg navigiert
- "Benachrichtigungen" -Funktionalität. Das heißt, der Benutzer wird ungefähr 8 Stunden lang angemeldet und muss über Änderungen anderer Benutzer (Fehler, Änderungen des Datenstatus und dergleichen) informiert und aktualisiert werden.
- Wir müssen unsere Bewerbung "zukunftssicher" machen. Derzeit hat die Geschäftseinheit nicht entschieden, ob wir mobile Geräte unterstützen müssen, aber ich weiß, dass dies nur eine Frage der Zeit ist.
- Unser Team besteht aus Entwicklern mit unterschiedlichen Erfahrungsstufen, von sehr jungen bis zu älteren Entwicklern.
- Derzeit sind unsere Modelle kompliziert und werden möglicherweise noch komplizierter
- Wir müssen auch RAD, Wiederverwendung von Code und Wartbarkeit berücksichtigen
Ich habe die ausgezeichnete Antwort hier gelesen und Scott Allens Interview über Angular hier gesehen
Da wir nicht von unserer aktuellen ASP.NET MVC 4-Architektur wechseln können, um etwas auf der Serverseite wie die Web-API zu verwenden, habe ich einige Bedenken beim Versuch, Angular.js mit MVC 4 zu implementieren. Wird dies dazu führen, dass wir zwei Modelle haben? der Server und einer auf dem Client?
Ich suche keine "was besser ist" -Diskussion über Angular und Knockout, weil ich denke, dass beide ihre Vor- und Nachteile haben. Ich suche nach aktuellem Code zum Implementieren eines JavaScript-Frameworks oder einer JavaScript-Bibliothek in einer ASP.NET MVC 4-Anwendung. Ich brauche eine Lösung, mit der ich in 2+ Jahren leben kann :)
Irgendwelche Ideen oder Vorschläge? Vielleicht lautet die Antwort nicht Knock oder Angular, sondern ein anderes JavaScript-Framework?