Почему каждый обязан знать AngularJS

AngularJS великолепен… и чертовски сложен

| Категории: AngularJS, Для новичков
Виталий Аминев

Иллюстрация блокнота

Я работаю с Angular.JS почти год, с того момента как появился логотип Google на сайте фреймворка. Работа с ним последние 10 месяцев занимала у меня от 20 до 40 часов в неделю. Используя Angular.JS я написал несколько расширений для Chrome, мобильных и веб приложений, модулей и одностраничных приложений (SPA’s).

AngularJS великолепен… и чертовски сложен

Не смотря на то, что я работаю с этим фреймворком продолжительное время и с несколькими проектами, я не считаю себя гуру в нем; каждый день я натыкаюсь на большое количество ошибок в собственном коде. Я закончил с интерфейсами, которые не имеют смысла и с тесно объединенными сервисами. Не только я, но и мои сотрудники, которых я считаю высококвалифицированными разработчиками, испытывают сложности с некоторыми базовыми концептуальными моделями, которые используются при создании ПО всякий раз, когда требуется создать действительно сложное приложение. Я улучшил один из самых больших модулей в моей компании, осознав, что даже 2 месяца назад, у меня не было ни малейшей идеи как на самом деле пользоваться AngularJS.

AngularJS с самого начала

Ничего страшного, если вы полностью не разберетесь в Angular.JS с самого начала. Начинать работу с софтом намного проще, чем создавать с помощью него настоящие приложения. Чтобы понять Angular.JS полностью потребуется потратить гораздо больше времени, чем кажется.
Если вы когда-либо были разочарованы фреймворком, который вы пытались изучить, хорошие новости с ангуляром заключаются в том, что его изучение всего лишь занимает время. Обучение не будет таким простым как в случае с jQuery – вы не сможете быстро прогнать пример в jsFiddle, angular потребует потратить больше усилий и времени.

Концептуальная модель Angular.JS

В какой-то момент вы начнете лучше понимать концептуальную модель Angular.JS. Следующей ступенью для вас будет создание проектов, фидлов… но только с их юнит тестированием. Практика показывает, что лучшие концепты AngularJS могут быть реализованы только после добавления тестов в ваши проекты. Если вы не тестируете ваше программное обеспечение, написание кода прекращается. Отправка непроверенного программного обеспечения - это непрофессионально и этого следует избегать. Вы должны быть свободнее, когда делитесь знаниями с другими, НО в какой-то момент укажите, что ваше программное обеспечение не оттестировано или то, что вы добавите тесты позднее.

Мудро подбирайте источники информации по ангуляру

Вот мои любимые:

  • Egghead.io Videos Я относился достаточно скептически к этой странице, но после просмотра некоторых видео, я осознал что видео Джона на самом деле адекватны и стоят просмотра. Они предназначены специально для начинающих.
  • Я только, что закончил читать книгу, которая написана специально для angular.js разработчика “The Mastering Web Application Development with AngularJS book”. Книга прекрасно написана, включает практические примеры и основные трюки в его использовании. Вот она отсутствующая документация, которую теперь можно просто купить.
  • AngularJS App Скопируйте, запустите и играйте с этим приложением. Посмотрите как создаются директивы, как они организовывают код, как структурируют тесты. Даже сегодня я запускаю этот проект, чтобы увидеть как используются перехватчики interceptors, как ребята из гугл тестируют свои директивы и какие конвенции при именовании переменных используется в их провайдерах.
  • The AngularJS Wiki Всякий раз, когда вы испытываете сложности с концептуальной моделью AngularюJS и не улавливаете весь смысл об областях видимости (scopes) - открывайте и изучайте википедию по ангуляру. А так же если что-то, связанное с AngularJS вызывает у вас чувство головокружения, то вы знаете куда обращаться.

Заметка напоследок

Не смотря на то, что начать работать с AngularJS достаточно просто, но достичь мастерства сложно. Ожидаемо то, что будут постоянно вылезать ошибки.

Читайте так же статьи по теме: