четверг, 31 октября 2013 г.

Что особенного у AngularJS?

Миско Хевери из Google -- один из создателей популярного JavaScript UI-фреймворка AngularJS, в последнее время претерпевшего значительные изменения.

Недавно Хевери раскрыл планы относительно AngularJS 2.0, который улучшит внедрение зависимостей, но избавится от поддержки старых браузеров. Колумнист InfoWorld Пол Крилл встретился с Хевери на конференции для разработчиков HTML5 Developer Conference в Сан-Франциско, чтобы поговорить об особенностях AngularJS.

Что особенного в AngularJS? Почему он вызывает такой интерес?

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

Когда вы впервые опубликовали AngularJS?

Все началось, кажется, в 2009 году. Я разрабатывал его со своим другом. Нам хотелось посмотреть, сможем ли мы упростить -- не обязательно веб-разработчикам -- веб-дизайнерам введение дополнительного HTML в свой код, чтобы придать статическому контенту форму, подходящую для отправки в электронном письме.

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

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

Да. Так было сначала. А потом я работал в Google над проектом и сказал "Знаете что? Штуковина, которую я разрабатываю в свое свободное время как open source, клянусь, будет полезной для разработки огромных веб-приложений, а не только для использования маленькими, семейными проектами". Google заинтересовалась и через некоторое время я полностью занялся работой над фреймворком.

Значит, Angular -- это веб-приложения с расширенным HTML? Насколько расширены его возможности?

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

Для чего подходит AngularJS?

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

Какие известные приложения были разработаны с помощью AngularJS?

Преимущественно Angular используется для разработки внутренних приложений, поскольку они, как правило, форм-ориентированы. Но за пределами Google есть приложения, которыми мы гордимся.

Например, DoubleClick для рекламодателей. Кроме того, YouTube Leanback, доступный также на PlayStation. Вы можете смотреть YouTube на своем телевизоре. Кстати, некоторые части консоли администрирования Google App Engine написаны поверх Angular.

Как Google использует возможности AngularJS?

Мы используем его для множества своих приложений. Поскольку Angular повышает продуктивность, мы можем создавать больше инструментов и, следовательно, быть более успешной и эффективной компанией.

Что значит название Angular?

Спасибо за вопрос. По сути, его придумал мой друг, с которым мы начали разработку фреймворка -- Адам Абронс. Он полагал, что у HTML есть угловые скобки, поэтому и Angular.

Комментариев нет:

Отправить комментарий