The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Twitter представил новый открытый JavaScript-фреймворк Flight"
Отправлено opennews, 01-Фев-13 15:16 
Компания Twitter, развивающая популярный сервис микроблогов, анонсировала (http://engineering.twitter.com/2013/01/introducing-flight-we...) новый событийно-ориентированный JavaScript-фреймворк Flight (http://twitter.github.com/flight/), код которого открыт (https://github.com/twitter/flight) под лицензией MIT. Фреймворк составляет основу клиентской части кода, используемого в новом варианте сайта Twitter, который был введён в строй в прошлом году.  Работа Flight протестирована во всех современных браузерах, в том числе в Chrome, Firefox, Safari, Opera и IE7. Из зависимостей используются библиотеки ES5-shim (https://github.com/kriskowal/es5-shim) и JQuery (http://jquery.com).

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


Архитектура Flight (https://github.com/twitter/flight/blob/master/README.md) предусматривает строгую изоляцию всех компонентов-обработчиков, которые не могут напрямую взаимодействовать друг с другом, не зависят от других компонентов и не являются элементами дерева объектов. Вместо этого, компоненты должны оформлять действия в виде широковещательных анонсов событий, на которое должны подписываться заинтересованные в них другие компоненты. Когда компонент инициирует событие, он не имеет представления о том, кем и как будет обработано данное событие, что позволяет разрабатывать каждый компонент изолировано, без оглядки на особенности реализации других компонентов - каждый компонент оформляется и распространяется в виде обособленного JavaScript-модуля.
<center><a href="http://3.bp.blogspot.com/-kOtb8efsqvs/UQqgWfqxXhI/AAAAAAAAAd... src="http://www.opennet.ru/opennews/pics_base/0_1359713696.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></a></center>

Подписка на обработку определённых типов событий осуществляется с использованием привязки к элементам дерева DOM, при этом таким способом организуется как подписка на нативные события, связанные с узлами DOM, так и на события генерируемые другими компонентами, и те и другие события обрабатываются идентично. В простейшем случае, для реализации нужной функциональности достаточно создать новый компонент и привязать его к DOM-узлу, после чего компонент будет получать связанные с узлом события и сможет манипулировать любыми элементами этого узла. Пример простейшего web-приложения, созданного с использованием Flight, можно посмотреть
здесь (https://github.com/twitter/flight/tree/gh-pages/demo), демонстрация работы данного приложения доступна на данной странице.


URL: http://engineering.twitter.com/2013/01/introducing-flight-we...
Новость: http://www.opennet.ru/opennews/art.shtml?num=35985

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру