Для asp.net mvc, который лучше всего подходит для AngularJs или BackboneJs или KnockOutJs?
Я работаю в Asp.net MVC за последний год, но я никогда не использовал AngularJs, BackboneJs или KnockoutJs. Теперь я хочу использовать его в своем проекте, но я немного путаюсь, что для MVC, который является одним из лучших. Где-то я читал, что AngularJs имеет лучшую производительность, но в основном используется с картой MVVM, поэтому любезно предоставляйте мне правильное руководство, которое с Asp.net MVC, которое js лучше всего - AngularJs или BackboneJs или KnockoutJs?
Спасибо в Advance.
Ответы
Ответ 1
Это зависит от характера вашего приложения. И так как вы этого не сделали опишите это очень подробно, это вопрос, который невозможно ответить. я найти Backbone, чтобы быть самым простым, но я работаю в Angular весь день. По моему мнению, производительность больше, чем кодер, чем структура.
Вы делаете тяжелую манипуляцию DOM? Я бы использовал jquery и позвоночник
Приложение, ориентированное на данные? Angular с ним хорошая привязка данных
Игровое программирование? нет, прямо на холст, возможно, игровой движок - Источник
Кроме того, посмотрите https://stackoverflow.com/questions/5112899/knockout-js-vs-backbone-js
Вы можете проверить следующий источник. Это действительно завершено:
http://www.infoq.com/research/top-javascript-mvc-frameworks
Лично я пошел бы за Angular только из-за его производительности, но есть много причин...
Ответ 2
Если вы создаете одностраничное приложение, вам нужна инфраструктура SPA. Он должен включать двустороннюю привязку данных, маршрутизацию на стороне клиента, составление страниц, навигацию, управление состоянием экрана, модульную систему, комплектацию. Вы можете выбрать между Angular и Durandal. Оба они обеспечивают очень похожую функциональность, но, на мой взгляд, Durandal - это самая полная инфраструктура SPA, которая очень проста в использовании. Оба Durandal и Angular могут использоваться с Breezejs для создания приложений, ориентированных на данные.
проверьте Durandal, Durandal Auth и HotTowel Angular
Если вы создаете приложение ASP.NET MVC, все, что вам нужно на стороне клиента, - это двусторонняя привязка данных для уменьшения DOM-манипуляций. В моем opionion, overkill использовать Angular только для привязки данных. Магистраль или нокаут - хороший выбор, но можно использовать Angular.
Ответ 3
Я использую Knockout с ASP.NET MVC/Web API на работе, но я играл с Angular дома и честно предпочитаю это. Имейте в виду, что Knockout решает гораздо меньшую проблему, чем Angular, причем последняя является полной инфраструктурой SPA (с услугами, директивами HTML и т.д.). Чтобы сравнить яблоки с яблоками, вы должны рассмотреть Knockout в тандеме с Durandal, так как это полномасштабная инфраструктура SPA, например Angular.
Из практического опыта я подозреваю, что утечки памяти легче избежать с помощью Angular, чем Knockout, так как Knockout создает ссылки неявно, когда вы подписываетесь на наблюдаемые (обычно через ko.computed), и нам очень трудно было попытаться отследить такие утечки памяти из-за неаккуратного приема подписки на нокаут без очистки. С Angular я не мог видеть, что у вас такая же проблема, поскольку вы не подписываетесь напрямую на переменные переменные ( "наблюдаемые" ). Вместо этого структура полностью контролирует применение изменений модели, которые могут быть сложнее понять первоначально, но в конечном итоге приводит к лучшей ремонтопригодности.
Ответ 4
Я не пробовал нокаутировать или позвоночник. С Angular я работал с ASP.NET MVC. Мне лично не нравилось использование просмотров MVC. Поскольку Angular требует POJO
(Обычные старые объекты JavaScript), поэтому я перешел на Web Api и Angular. Честно говоря, я очень доволен Angular по следующим причинам:
- Манипуляции DOM выполняются там, где они принадлежат.
- Двусторонняя привязка
- Разработан с модульным тестированием
- Службы находятся там, где они принадлежат
- Разработан с учетом HTML5
- Возможность создания разметки HTML в соответствии с потребностями бизнеса (директивы) и многими другими.