Нужен ли AngularJS

Автор: urmaul
25.11.2013 13:01

После долгих агитаций я всё-таки прошел туториал по AngularJS. И хочу поделиться мыслями о нем. Потому, что мыслей много и я до сих пор не решил, как к нему относиться. Потому, что Angular - не просто фреймворк. Он меняет парадигму веб-разработки.

Особенности AngularJS

  • AngularJS посволяет построить рабочее приложение на статичных файлах.

    И вам показывают, как это делать в туториале. Там три файла шаблонов несколько файлов со скриптами и много json файлов с данными. И это всё. Всё приложение работает в браузере, нагрузка на сервер минимальна - он только выполняет роль базы данных.

  • Приложения на AngularJS какие-то непривычные

    В этих приложениях нет страниц с разными адресами. Нам предлагают всё премя держать пользователя на одном урле, а его положение определять хэш-кодом. В этих приложениях нет страниц с данными. В этих приложениях сервер присылает вам данные в чистом виде, а Angular вставляет эти данные в шаблон. При этом, рендерить html на сервере - надежный способ выстрелить себе в ногу.

  • AngularJS - это фреймворк для веб-приложений, а не сайтов

    Википедия говорит, что это фреймворк для одностраницых приложений работающих в браузере. В старом добром вебе html-страницы считались документами, а javascript - только необязательным дополнением к ним. AngularJS делает приложение первичным, а данные - необязательным дополнением к нему. Это самое важное свойство и всё остальное является следствием от него.

  • Приложения на AngularJS не индексируются поисковиками

    Это основная беда тех, кто применяет AngularJS там, где этого делать не нужно. Поисковые системы умеют работать только с документами, у которых есть адреса и контент. В Angular-приложниях таких страниц нет. Людям приходится отлавливать поисковых роботов и отдавать им html-страницы, отрендеренные в безголовом браузере типа PhantomJS. Или можно регулярно платить сервисам, которые делают это за вас.

  • AngularJS позволяет писать меньше кода

    Программист больше не рассказывает приложению, что делать. Он описывает, как всё должно получиться. В любом случае, меньше кода - это хорошо.

  • AngularJS делает шаблон зависимым от логики

    Долгое время программисты отучивались от аттрибута onclick (это было плохо), а теперь нас учать писать аттрибут ng-click и говорят, что это хорошо. И действительно: мешать логику в документах плохо. Но здесь html - это уже не документ, а шаблон. Часть приложения. И ng-click - это уже самый простой способ связать две части приложения.

Стоит ли использовать AngularJS

Каждый инструмент хорош только для определенной цели. AngularJS - дрель, которую Google разработали когда заметили, что неудобно делать дырки молотком.

Если у вас веб-приложение, позволяющее пользователям манипулировать не доступными публично данными - попробуйте Angular. Он может сэкономить вам много времени и нервов.

Если у вас есть сайт и вы хотите, чтобы он был доступен поисковикам и гостевым пользователям. Если основая задача сайта - отдавать контент, а ваши страницы ещё можно назвать документами - не внедряйте AngularJS. От него вам будет мало пользы, и он добавит вам много проблем.

Я люблю старый добрый веб с его урлами и документами. Пожалуйста, не забивайте гвозди дрелью.

Обновлено 25.11.2013 17:52

 

Комментарии  

 
#1 Vitaly 09.06.2015 09:39
Agree with all above, Angular is a fail just like Google+
Цитировать
 
 
#2 manicure 23.04.2017 14:43
I for all time emailed this webpage post page to all my
friends, because if like to read it next my links will too.
Цитировать
 

Добавить комментарий


Защитный код
Обновить