Я работаю с ASP.NET MVC около года. Мне нравится создавать SPA, особенно используя следующие инструменты:
- Частичные представления (через html.action() и renderPartial())
- Помощники Ajax (Ajax.Actionlink() и Ajax.beginform())
Мой вопрос: безопасно ли просто продолжать работу без фреймворков JavaScript или я серьезно упускаю что-то, не используя структуру Javascript framework
такую как Angular JS
.
Вы определенно пропустили некоторые вещи.
Цель таких фреймворков, как угловое, состоит не только в том, чтобы обрабатывать переключатели вкладки бутстрапа или что угодно, чтобы отображать только части пользовательского интерфейса, а не все. Конечно, вы можете создавать небольшие и простые SPA-системы, используя такую логику, но как только вы приступите к созданию приложений реального мира, которые подходят, станет непригодным. Причины этого:
Вернемся к шаблонам, это очень мощная функция. Опять же, в случае простых приложений вы можете использовать собственный JS-код, то есть объединить строки для создания фрагментов HTML и затем вставить их в DOM. Но даже с простыми приложениями это вонючая вещь. Представьте, что вам приходилось писать пользовательские JS, чтобы объединить ваши сообщения чата в приложении, например Facebook, и вставить их в DOM. Например, с угловым2 вы можете сделать что-то вроде этого:
<ul>
<li *ngFor="let msg of messages">{{msg.Sender}} said: {{msg.Content}}</li>
</ul>
Таким образом, Angular2 будет выполнять все синтаксические разборки и обработку DOM. То есть вы пишете декларативную разметку, а не императивную логику для того, что вы хотите отобразить.
В целом, они помогают вам отделить логику от пользовательского интерфейса, поэтому вам обязательно нужно вникнуть в любую из популярных фреймворков и получить представление о своих возможностях, если вы хотите создавать богатые приложения. Вы не будете сожалеть об этом.
Поскольку ASP.NET представляет собой серверную структуру, она может работать только в том случае, если она включена в AJAX. Угловая JS - это клиентская платформа, предназначенная для SPA. Если вы идете на легкий SPA, ASP.NET будет хорошо, но я думаю, вы должны использовать правильные инструменты для правильной работы. Не стесняйтесь смешивать их, чтобы найти нужное место между рендерингом на стороне сервера и динамикой на стороне клиента.
Это зависит от того, какой тип приложения вы создаете, но в целом вам необязательно выбирать между ASP.NET MVC и Angular, вы можете использовать оба проекта. Например, если у вас есть страница с сеткой, где пользователь будет добавлять строки, и вам нужно рассчитать суммы и т.д., Вы можете использовать угловое значение на этой странице (и это ускорит процесс разработки). Но если у вас есть страницы со статическим содержимым, вы можете просто использовать html файл там, используя ASP.NET MVC. И вы можете использовать их оба. Для чего-то вроде сообщения в блоге, вы можете использовать статический html файл для содержимого сообщения, а затем реализовать комментарии с угловыми.