AngularJS - полноценный фреймворк для создания динамических веб-приложений

| Вторник, 28 мая, 2013

Метки: AngularJS, Javascript Комментарии: 0

Почему AngularJS?

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

Другие среды пытаются устранить недостатки HTML, либо разделением HTML, CSS и Javascript, либо используют императивный способ манипулирования объектами DOM. Ни одна из сторонних библиотек не решает главную проблему формата HTML, - он не приспособлен для создания динамики на веб-страницах.

AngularJS – это полностью расширяемый набор инструментов, прекрасно работающий с другими фреймворками. Любая функция этой библиотеки может быть дополнена или заменена, если это потребуется для конкретного приложения.

Контроль над элементами на веб-страницах

Связывание данных – это автоматическое немедленное обновление представления при изменении модели. Данный подход позволяет не писать код для управления элементами DOM.

В контроллерах определяется поведение DOM-элементов. AngularJS позволяет это делать чисто и максимально ясно без обычных шаблонных вещей, типа написания кода для обновления DOM или регистрации событий от элементов на странице или от модели в бизнес-логике.

В отличии от других библиотек, нет нужды наследовать модели от встроенных типов среды. Только чистый Javascript код. Тестирование, поддержка и повторное использование кода приложения осуществляется без особых проблем.

Взаимодействие с веб-сервером

Ссылки показывают, где на данный момент находится пользователь. Для многостраничных веб-приложений мы можем поставить закладку или отослать e-mail со ссылкой на текущую страницу. Но для одностраничных приложений, обновляющих свое содержимое AJAX-запросами это становится проблемой. AngularJS применяет технику глубоких ссылок (deep linking) и поведение, свойственное десктопным приложениям.

Проверка данных форм для стороне клиента важная характеристика хорошего пользовательского интерфейса. AngularJS позволяет объявлять правила для данных в формах без написания кода Javascript.

AngularJS предоставляет сервисы поверх объекта XHR (XMLHTTPRequest), что значительно упрощает написание кода для взаимодействия с веб-сервером. Это дает более эффективное управление над обработкой ошибок и асинхронностью. Объекты promise служат для асинхронного возврата данных с сервера.

Создание и использование компонентов

Директивы – уникальное и мощное средство, которое существует только в AngularJS. Директивы вводят новый синтаксис в HTML, специфичный для конкретного приложения.

Директивы используются и для создания повторно используемых компонентов. Компоненты скрывают сложную структуру элементов DOM, стилей CSS и поведения. Разработчик фокусирует свое внимание раздельно на том, что приложение делает или как оно выглядит.

Важная часть любого серьезного приложения это локализация. Языковые фильтры и морфологические директивы – это блоки AngularJS для построения приложения на многих языках.

Внедрение зависимостей и тестируемость

AngularJS прекрасно работает вместе с другими библиотеками. Код для AngularJS в любом объеме можно добавить на уже существующие веб страницы. На одну веб-страницу можно внедрить несколько разных приложений AngularJS.

Шаблон внедрения зависимостей в AngularJS позволят декларативно описывать подключение приложения к веб странице. Это значит, что не нужен метод типа main(), для обозначения центральной точки входа в приложение. На паттерне внедрения зависимости построена вся библиотека AngularJS, так что любой компонент не удовлетворяющий потребностям приложения может быть заменен.

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

Комментарии
Никто еще не оставил здесь комментарий.
Войдите, чтобы написать комментарий , или воспользуйтесь формой ниже.
 

Copyright © CodeHint.ru 2013-2024 (v2.4.7 - работает на Angular Universal)Калькулятор инвест-портфеля