why udacity the steve philosophy how hbr everything español create changes blank asp.net-mvc angularjs backbone.js knockout.js

asp.net-mvc - the - udacity steve blank startup



Para asp.net mvc, ¿cuál es el mejor AngularJs o BackboneJs o KnockOutJs? (4)

Estoy trabajando en Asp.net MVC durante el último año, pero nunca he usado AngularJs, BackboneJs o KnockoutJs. Ahora quiero usarlo en mi proyecto, pero estoy un poco confundido de que para MVC es uno de los mejores. En algún lugar donde leí que AngularJs tiene el mejor rendimiento, pero se usa principalmente con el marco MVVM, así que amablemente, bríndeme una guía adecuada para que con Asp.net MVC, ¿cuál js sea el mejor AngularJs o BackboneJs o KnockoutJs?

Gracias por adelantado.


Depende de la naturaleza de su aplicación. Y como no lo describió con gran detalle, es una pregunta imposible de responder. Creo que Backbone es el más fácil, pero trabajo en Angular todo el día. El rendimiento depende más del programador que el marco, en mi opinión.

¿Estás haciendo una manipulación pesada de DOM? Yo usaría jquery y backbone

Muy aplicación basada en datos? Angular con su enlace de datos agradable

Programación de juegos? ninguno, directo al lienzo, tal vez un motor de juego - Source

Además, eche un vistazo a https://.com/questions/5112899/knockout-js-vs-backbone-js

Puede consultar la siguiente fuente. Es realmente completo:

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

Personalmente, apostaría por Angular solo por su rendimiento, pero hay muchas razones ...


Estoy usando Knockout con ASP.NET MVC / Web API en el trabajo, pero he jugado con Angular en casa y honestamente lo prefiero. Sin embargo, tenga en cuenta que Knockout resuelve un problema mucho más pequeño que Angular, este último es un completo marco SPA (con servicios, directivas HTML, etc.). Para comparar manzanas con manzanas, debe considerar Knockout junto con durandaljs.com , ya que se trata de un marco de SPA en toda regla como Angular.

Por experiencia práctica, sospecho que las fugas de memoria son más fáciles de evitar con Angular que con Knockout, ya que Knockout produce referencias implícitas al suscribirse a observables (generalmente a través de ko.computed) y nos resultó muy difícil intentar rastrear dichas fugas de memoria debido a toma indisciplinada de suscripciones de Knockout sin limpieza. Con Angular no pude ver que tienes el mismo problema, ya que no te suscribes directamente a las variables de mutación ("observables"). En cambio, el marco tiene el control total de la aplicación de cambios en el modelo, lo que puede ser más difícil de comprender inicialmente, pero en última instancia conduce a una mejor capacidad de mantenimiento.


No he intentado knockout o columna vertebral. Con Angular he trabajado con ASP.NET MVC. Personalmente no me gustó usar las vistas MVC. Debido a que Angular requiere POJO (objetos antiguos de JavaScript), cambié a Web Api y Angular. Para ser honesto, estoy muy satisfecho con Angular por las siguientes razones:

  • Maniuplaciones DOM se realizan donde pertenecen.
  • Enlace de dos vías
  • Diseñado con pruebas unitarias.
  • Los servicios son donde pertenecen.
  • Diseñado con HTML5 en mente
  • Capacidad para crear un marcado HTML que se adapte a las necesidades empresariales (directivas) y muchos más.

Si está creando una aplicación de una sola página, necesita un marco de SPA. Debe incluir enlace de datos bidireccional, enrutamiento del lado del cliente, composición de la página, navegación, gestión del estado de la pantalla, sistema de módulos, agrupación. Puedes elegir entre Angular y Durandal. Ambos proporcionan una funcionalidad muy similar, pero en mi opinión, Durandal es el marco de trabajo más completo de SPA, que es muy fácil de usar. Tanto Durandal como Angular se pueden usar con Breezejs para crear aplicaciones centradas en datos.

consultar Durandal , Durandal Auth y HotTowel Angular

Si está creando una aplicación MVC de ASP.NET, todo lo que necesita en el lado del cliente es un enlace de datos bidireccional para reducir las manipulaciones de DOM. En mi opinión, es excesivo utilizar angular solo para el enlace de datos. Backbone o Knockout son buenas opciones, pero también se puede usar Angular.