2014-01-07 10 views
16

Ich arbeite seit 1 Jahr in Asp.net MVC, aber ich habe nie AngularJs, BackboneJs oder KnockoutJs verwendet. Jetzt möchte ich es in meinem Projekt verwenden, aber ich bin ein bisschen verwirrt, dass für MVC, das ist eins Best. Irgendwo habe ich gelesen, dass AngularJs die beste Leistung hat, aber meistens mit dem MVVM-Framework verwendet wird, also bitte geben Sie mir die richtige Anleitung, dass mit Asp.net MVC, welches ist am besten AngularJs oder BackboneJs oder KnockoutJs?Für asp.net mvc, die am besten entweder AngularJs oder BackboneJs oder KnockOutJs ist?

Vielen Dank im Voraus.

+3

'4.9k eben Nachfolger Angularjs :) –

+0

@Murali Vielen Dank für Ihre Führung aber können Sie den Grund angeben. – Dilip0165

+2

Dont vergessen Durandal http://durandaljs.com/ Persönlich verwende ich AngularJs mit Web-API und bisher war großartig. – Beyers

Antwort

12

Es hängt von der Art Ihrer Anwendung ab. Und da Sie nicht es sehr detailliert beschreiben, ist es eine unmögliche Frage zu beantworten. I finde Backbone am einfachsten zu sein, aber ich arbeite den ganzen Tag in Angular. Leistung ist mehr auf den Coder als der Rahmen, meiner Meinung nach.

Machst du schwere DOM-Manipulation? Ich würde jquery und Backbone verwenden

Sehr datengesteuerte App? Angular mit seiner netten Datenbindung

Spielprogrammierung? keine, direkt auf die Leinwand, vielleicht ein Spiel-Engine - Source

Werfen Sie auch einen Blick auf https://stackoverflow.com/questions/5112899/knockout-js-vs-backbone-js

Sie die folgende Quelle überprüfen. Es ist wirklich komplett:

http://www.infoq.com/research/top-javascript-mvc-frameworks

Ich persönlich würde gehen für Angular nur wegen seiner Leistung, aber es gibt viele Gründe, ...

+0

Danke für Ihre schnelle Antwort. nur eine Sache lassen Sie mich wissen, dass AngularJs ist am besten für welche MVC oder MVVM? – Dilip0165

+2

Angular js sowohl für MVC und MVVM Check funktioniert, obwohl es am besten für MVVM – Nilesh

+0

@Nilesh Seite nicht gefunden: http://stackoverflow.com/questions/5112899/knockout-js-vs-backbone-js –

7

Ich habe Knockout oder Rückgrat nicht versucht. Mit Angular habe ich mit ASP.NET MVC gearbeitet. Ich persönlich mochte MVC-Ansichten nicht. Da Angular (Plain Old JavaScript Objects) benötigt, habe ich zu Web Api und Angular gewechselt. Um ehrlich zu sein, ich bin sehr zufrieden mit Angular aus folgenden Gründen:

  • DOM Maniuplations sind, wo sie hingehören.
  • Zwei-Wege-
  • Bindung mit Unit-Tests entwickelt
  • Dienstleistungen sind, wo sie hingehören
  • Entwickelt mit HTML5 im Auge
  • Fähigkeit HTML-Markup zu erstellen geschäftlichen Anforderungen (Richtlinien) und vieles mehr zu bieten.
  • +0

    Ich werde Ihren Vorschlag in meinem Kopf behalten. Danke – Dilip0165

    +0

    mvc views kann nicht mit eckigen js Routing rechts verwendet werden ?? –

    9

    Ich benutze Knockout mit ASP.NET MVC/Web API bei der Arbeit, aber ich habe mit Angular zu Hause gespielt und ehrlich gesagt bevorzugen. Bedenken Sie jedoch, dass Knockout ein wesentlich kleineres Problem löst als Angular, wobei letzteres ein vollständiges SPA-Framework ist (mit Diensten, HTML-Anweisungen usw.). Um Äpfel mit Äpfeln zu vergleichen, sollten Sie Knockout in Verbindung mit Durandal betrachten, da dies ein vollwertiges SPA-Framework wie Angular ist.

    Aus der Praxis Ich vermute, dass Speicherlecks mit kantigem zu vermeiden, sind leichter als Knockout, da Knockout Referenzen erzeugt implizit, wie Sie Observablen (in der Regel über ko.computed) abonnieren und wir hatten eine sehr harte Zeit so zu verfolgen, versuchen, nach unten Speicherlecks durch nicht disziplinierte Aufnahme von Knockout-Abonnements ohne Aufräumen.Mit Angular konnte ich nicht sehen, dass Sie das gleiche Problem haben, da Sie nicht direkt auf mutierende Variablen ("observables") subskribieren. Stattdessen hat das Framework die volle Kontrolle über die Anwendung von Modelländerungen, die anfangs vielleicht schwerer zu verstehen sind, aber letztlich zu einer besseren Wartbarkeit führen.

    14

    Wenn Sie einzelne Seite Anwendung erstellen benötigen Sie einen SPA-Framework. Es sollte Zweiwege-Datenbindung, clientseitiges Routing, Seitenzusammensetzung, Navigation, Bildschirmzustandsverwaltung, Modulsystem, Bündelung einschließen. Sie können zwischen Angular und Durandal wählen. Beide bieten eine sehr ähnliche Funktionalität, aber meiner Meinung nach ist Durandal das umfassendste SPA-Framework, das sehr einfach zu bedienen ist. Sowohl Durandal als auch Angular können mit Breezejs verwendet werden, um datenzentrische Anwendungen zu erstellen.

    Scheck Durandal, Durandal Auth und HotTowel Angular

    Wenn Sie ASP.NET MVC-Anwendung erstellen, dann alles, was Sie auf der Client-Seite benötigen, ist Zwei-Wege-Datenbindung DOM-Manipulationen zu reduzieren. Meiner Meinung nach ist es ein Overkill, eckig nur für die Datenbindung zu verwenden. Backbone oder Knockout sind eine gute Wahl, aber auch Angular kann verwendet werden.

    Verwandte Themen