Ответ 1
Я подумал об этом, включив Angular в наше корпоративное приложение. Во-первых, некоторая дополнительная справочная информация. Мне действительно нужно было сохранить все состояние страницы на клиентской стороне, поскольку воссоздание ее на стороне сервера является очень ресурсоемкой задачей. Я начал с создания его только с JQuery, так как мне было нужно всего лишь несколько вещей, но вскоре я обнаружил, что мне трудно отслеживать обратные вызовы, которые я написал только на прошлой неделе. Следовательно, я хотел реорганизовать. Пока я был на нем, Angular выглядел как наилучшим образом подходящий для моего стиля программирования.
Чтобы решить ваши проблемы:
Я думаю, что он более удобен в обслуживании, так как он побуждает вас разделить вещи. Это, однако, полностью зависит от вашей команды и вашей дисциплины, чтобы сохранить работоспособность.
Команда Angular определенно думала о тестировании, когда делала это. Вещи очень просты в тестировании - от модульного тестирования до тестирования e2e. Другие даже нашли промежуточную почву между ними.
Мы используем Jenkins в нашем магазине Microsoft для непрерывной интеграции, поскольку нам было проще подключать собственные программы, чтобы он работал с нашими сложными настройками среды. Тем не менее, я не думаю, что это очень касается того, с какими рамками вы решите пойти.
Исходя из Visual Studio, я считаю, что JavaScript вообще оставляет желать лучшего. Я люблю редактирование и продолжаю, раскручиваю стек и перетаскивая эту желтую стрелку вокруг. Это всего лишь чистое магическое блаженство. Отладка в браузере просто не дает вам всего этого.
Безопасность очень хорошая. Просматривая документы, вы можете видеть, что команда занимается проблемами безопасности, такими как атаки XSS и CSRF. Однако все, что делается над браузером, сложно. С каждым днем появляются новые атаки и ошибки. Если вы действительно обеспокоены безопасностью, у вас не будет онлайн-приложения. Вы должны убедиться, что ваши клиенты только банковские в филиале с несколькими формами ID. С учетом сказанного, я не думаю, что Angular менее безопасен, чем любое другое решение для JavaScript.
Я хотел бы затронуть еще одну проблему со всеми этими фреймворками/библиотеками JavaScript. Они все довольно новые и постоянно развиваются. Посмотрите, сколько функций JQuery устарело в последнее время, и вы получите представление о том, как сложно хранить поверх своих библиотек. Многие из них также забыты и оставлены гнить. Angular, являющийся одним из продуктов Google, также заставляет меня немного испугаться, поскольку они отменяют волны своих проектов. Надеемся, что Angular не станет одним из них.
Документация также отсутствует. Хотя сообщество хорошо, документации нет. Многие страницы сделаны наполовину. Опять же, по сравнению с последними материалами Microsoft, документация довольно скудная.
Это одна из новых вещей, труднее нанять кого-то, кто поможет/возьмется за это.
Несмотря на все эти недостатки, мне это очень нравится, и я определенно собираюсь подтолкнуть свою компанию к ее принятию.