Подходит ли использование AngularJS и WebAPI для больших сложных систем? Вопросы также

#javascript #asp.net-mvc #angularjs #asp.net-web-api #angular-ui

#javascript #asp.net-mvc #angularjs #asp.net-веб-api #angular-пользовательский интерфейс #asp.net-web-api

Вопрос:

В настоящее время у нас есть asp.net веб-приложение webforms, которое нуждается в обновлении с точки зрения внешнего вида и скорости. Я думаю, что пришло время его переделать, и я подумывал о создании WebAPI и изменении веб-сайта на asp mvc. Но потом я начал использовать AngularJS, и мне это понравилось, теперь я подумываю о переделке нашего сайта с использованием AngularJS и WebAPI.

Прав ли я, думая, что использование AngularJS ASP MVC бессмысленно, поскольку это почти одно и то же (хотя 1 — это клиентская сторона, а 1 — серверная)

Также у меня есть пара вопросов об использовании AngularJS на веб-сайте.

  1. В мобильных приложениях, которые я использовал AngularJS, я использовал routeProvider и stateProvider для изменения страницы. Это добавляет #/ SOMETHING к URL-адресу, и angular соответствующим образом загружает правильный контент. Нормально ли это работает с поисковыми системами, такими как Google?

  2. Должно ли все веб-приложение состоять из одного приложения в angular, или оно должно быть разбито на модули приложений, и каждый из них должен быть отдельным «приложением», даже если это 1 веб-сайт? Меня интересует производительность. Допустим, у меня есть веб-сайт, где пользователь может просматривать компании, контакты, проекты. Каждый модуль может содержать 10 разных страниц, может ли angular справиться с этим? В нашем приложении у нас было бы более 20 модулей, каждый из которых содержал бы, возможно, более 10 страниц.

  3. Это то, чего мне следует избегать? Будет ли ASP MVC WebAPI лучше?

Любые другие взгляды и заключения очень приветствуются, я хочу получить как можно больше информации, прежде чем принимать свое решение и развиваться.

Заранее спасибо

Ответ №1:

Позвольте мне попытаться решить некоторые из ваших проблем.

ASP.Чистые частичные представления все еще можно использовать, даже если вы решите использовать AngularJS и WebAPI. Просмотр сервера имеет некоторые преимущества. Например, если в вашем представлении есть элементы, доступные только для авторизации пользователей в определенной роли, тогда лучше не передавать содержимое этого представления с сервера, а не скрывать его на стороне клиента с помощью AngularJS.

Я не занимался мобильной разработкой с использованием AngularJS, поэтому не могу ответить на ваш пункт 1. Но что касается SEO, то у каждой клиентской платформы есть одна и та же проблема. Погуглите SEO techniques Angular, и вы, возможно, найдете что-то интересное.

Что касается пункта 2, все зависит. Можно создать несколько приложений SPA, если функциональность является второстепенной. Например, пользовательская часть приложения и административная часть приложения могут быть разными SPA, но они также могут быть и одним SPA. Я думаю, что все зависит от сценария, и нет жесткого правила.

Для пункта 3 это слишком широкий вопрос. Я могу только сказать, что AngularJS — это очень способный фреймворк, который может делать все, чего могут достичь MVC WebAPI. Здесь задействована кривая обучения, и требуется некоторое время, чтобы делать вещи с помощью Angular, но я считаю, что это того стоит.

Комментарии:

1. Спасибо за ответ. Если я использую ASP.MVC AngularJS, загружается ли мое приложение при каждом вызове сервера / изменении страницы? Я никогда не имел дела с вызовами серверных страниц с помощью angular.

2. Это не вызов страницы сервера. Посмотрите на этот проект VS template visualstudiogallery.msdn.microsoft.com / … для интеграции MVC, WebAPI и AngularJS. Это простая реализация, которую я выпустил. Это должно ответить на ваши вопросы.