Самое популярное

 


jQuery UI

Разработчики Brat Tech LLC, Google Inc. и сообщество
Последняя версия 1.5.7
Написана на JavaScript
Лицензия MIT
Сайт http://angularjs.org/ , http://angular.io/
История появления
Философия Angular
Стратегия и цели
Популярные директивы
Двухсторонняя связь данных
Плагины Google Chrome
Backbone.js или AngularJS

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

AngularJS функционирует с кодом HTML, поддерживающим любые дополняющие атрибуты пользователя. Описание, которых происходит благодаря директивам, при этом, связывая ввод и вывод область страниц с моделью, функционирующей при помощи обычных переменных JavaScript’a. Значения применяемых переменных можно извлечь при помощи таких двух методов, как:

  • Произведение их поиска и извлечения в ручном режиме.
  • Использование извлечений значений из JSON данных статического или динамического типа.

История появления

Изначально AngularJS разрабатывался как ПО, обеспечивающее хранение JSON-данных позади сервиса, измерение, которого исчислялось в мегабайтах, что обеспечивало облегчение для разработки приложений в организациях. Сам же сервис первоначально, начиная с 2009 года, был размещен на доменном адресе "GetAngular.com", а также насчитывал в своей базе несколько залогиненных пользователей. Так появился проект, который был направлен на коммерческую нишу. Но, после того как разработчики данного ПО – Мишко Хевери и Адам Абронсон отказались от идеи бизнеса, и выпустили библиотеку, обладающую открытым кодом в исходниках, что в последующем получила название Angular.

В настоящее время, один из творцов программы Абронс покинул команду, а вот работающий в Google – Хевери продолжает развитие библиотеки, и ему в этом помогают еще двое сотрудников компании – Игорь Минар и Войт Джин.

Рабочая философия Angular

AngularJS проектировалась уже изначально с уверенностью в том, что декларативное программирование — это идеальный вариант для того, чтобы строить пользовательские интерфейсы и производить описание компонентов программ. А императивное программирование является лучшим методом, описывающим бизнес-логику. Именно по этой причине фреймворк легко проходит адаптацию и расширяет HTML с традиционным кодом. Такая синхронизация позволяет максимально эффективно обеспечить связывание данных, разработанных для контента динамического типа, тем самым, позволяет автоматическую синхронизацию модели и представления. Такая функциональность позволила программе AngularJS уменьшить роль DOM манипулирования, а также максимально облегчить и улучшить процесс тестирования.

Стратегия и целевая направленность

Отделение манипуляции DOM от логики приложений позволило максимально улучшить тестирование кода. Разработчики максимально углубленно подошли к вопросу тестирования. Ведь известно, что сложность любых тестовых действий напрямую зависит от структуры кода. Разделив серверную и клиентскую части, проектировщики внедрили возможность параллельной разработки.

Указанная программа обладает уникальной возможностью, она проводит разработчика по всем этапам создания приложения: начиная от проектирования интерфейса для пользователя, проводя через бизнес-логику и завершая все успешным тестированием.

AngularJS использует шаблон проектирования MVC, тем самым, одобряя практически отсутствующую (слабую) связь между логикой и данными компонентов. При этом внедренная зависимость позволила переместить на клиентскую часть такие сервисы классического типа, как контролеры видеозависимости. Это поспособствовало уменьшению нагрузки на сервера, «облегчая» веб-приложения.

Популярные директивы

С помощью директив AngularJS можно создавать пользовательские HTML теги и атрибуты:

  • ng-app - Объявляет элемент корневым для приложения.
  • ng-bind - Автоматически заменяет текст HTML-элемента на значение переданного выражения.
  • ng-model - То же что и ng-bind, только обеспечивает двустороннее связывание данных. Изменится содержимое элемента, ангуляр изменит и значение модели. Изменится значение модели, ангуляр изменит текст внутри элемента.
  • ng-class - Определяет классы для динамической загрузки.
  • ng-controller - Определяет JavaScript-контроллер для вычисления HTML-выражений.
  • ng-repeat - Создает экземпляр для каждого элемента из коллекции.
  • ng-show и ng-hide - Показывает или скрывает элемент в зависимости от значения логического выражения.
  • ng-switch - Создает экземпляр шаблона из множества вариантов, в зависимости от значения выражения.
  • ng-view - базовая директива, отвечает за обработку маршрутов, которые принимают JSON перед отображением шаблонов, управляемых указанными контроллерами.

Двухсторонняя связь данных

Самой удобной и примечательной функцией фреймворка AngularJS является двухсторонняя связь данных, что значительно сокращает количество кода, тем самым, освобождая сервер от работы с шаблонными данными. Это стало возможно благодаря шаблонам, которые видны системам, как обычный код HTML, где указаны все необходимые данные для области виденья, определенной в модели.

Уникальный в своем роде сервис $scope, встроенный в Angular производит мониторинг изменений в модели и способен изменить раздел HTML-выражений, которые представлены через контроллер. Помимо этого, любые иные изменения, произошедшие в представлении, сразу же отображаются в модели. Именно этот момент и дает возможность обхода необходимости манипуляции DOM, тем самым, облегчая инициализацию с прототипированием веб-приложений.

Плагины работающие с Google Chrome

Поскольку Google Chrome занимает лидирующие позиции сред пользователей ПК, то команда Angular в 2012 году создала плагин Batarang, разработанный для данного браузера. Именно этот плагин способен облегчить отладку любого веб-приложения, которое имеет строение от Angular. При помощи указанного расширения, можно легко выявить «узкие» места, при этом предлагается интерфейс в графике для отладки приложений.

Backbone.js или AngularJS

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

REST

Backbone.js очень идеально функционирует с RESTFul – бэкэнд. А вот AngularJS, используя свою функцию $resource, хорошо поддерживает RESTFul API. Также AngularJS обладает достаточно гибким сервисом $http, что позволяет подключиться к любым удаленным серверам, используя браузерный объект XMLHttpRequest или JSONP.

Применяемые шаблоны.

В своей шаблонной практике AngularJS применяет комбинированные настройки HTML тегов и выражений, а вот Backbone.js применяет разнообразные шаблонизаторы.