Flight by Twitter: не взлетим, так поплаваем

Flight by Twitter
Полгода назад Twitter представил миру собственный javascript-фреймворк с многообещающим названием Flight. Один из их предыдущих проектов Bootstrap уже давно пользуется бешеной популярностью среди веб-разработчиков и задает тон всем конкурентам. Сумеет ли Flight повторить этот успех?

Нет, не сумеет.
Вот это поворот!

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

В основе Flight заложена всем знакомая событийная модель. Компоненты вашего js-приложения независимы, не знают о существовании друг-друга и общаются исключительно через события. Благодаря этому подходу ваш код никогда не превратится в макароны. Вы не держите в голове одновременно все взаимосвязи сложного приложения, а разрабатываете изолированный функционал. Нет, Твиттер не “изобрел” паттерн pub/sub, они просто сделали его удобным для использования и еще более понятным.

Flight очень легковесен и потому быстр. В сжатом и минифицированном виде это всего лишь 5 килобайт. Кроме того, Flight использует AMD: все компоненты являются модулями и асинхронно подгружаются с помощью RequireJS или loadrunner.

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

Главное достоинство фреймворка — это его простота. Даже начинающий javascript-программист способен освоить его за один вечер. Да, flight — это велосипед, но удобный, быстрый и легкий в управлении.

Особого внимания заслуживает реализованный во Flight механизм миксинов. Миксины позволяют удобно структурировать наборы вспомогательных функций, а также добавлять в различные объекты общий для них функционал. Это очень гибкий и простой инструмент, который способен сэкономить массу времени и сделать ваш код чище.

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

Кроме того, заметно, что фреймворк еще очень молод — можно наткнуться на мелкие баги, например, с делегированием некоторых DOM-событий. Однако, они не критичны и легко правятся. Сообщество разработчиков пока малочисленное, но очень дружелюбное и отзывчивое.

Если вам некогда разбираться в многообразии фреймворков, или вы начинающий javascript-программист, то Flight отлично подойдет вам для разработки javascript-приложений средней сложности. Чтобы продемонстрировать его возможности, твиттер сделал интерфейс простенького email-клиента, также есть отличный пример на сайте todomvc. Подробная документация доступна по этой ссылке.

5 комментариев

avatar
А на букинге тоже флайт?
avatar
ага
avatar
комментарий был удален

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