Facebook открыл фреймворки для построения интерфейса: Litho, React Fiber, Relay Modern и React VR

На проходящей в эти дни конференции F8 2017, Facebook представил несколько новых открытых фреймворков для построения интерфейса:

  • Открыт код Litho, декларативного фреймворка для построения эффективного интерфейса пользователя для платформы Android. В частности, фреймворк уже используется в приложениях Facebook for Android (Facebook app, Facebook Lite, Messenger, Workplace), которыми пользуется более миллиарда человек. Код открыт под лицензией BSD.

    В качестве достоинств Litho отмечается обеспечение высокого качества работы приложений, независимо от стабильности сетевого соединения и скорости работы устройства. Интерфейс формируется как набор отдельных компонентов, которые генерируются с упреждением, компонуются асинхронно в единое целое специальным фоновым потоком и отрисовываются по частям, не допуская возникновения блокировок и предоставляя всегда плавную прокрутку. Для снижения потребления ресурсов в Litho также применяется техника повторного использования типовых компонентов. После перевода приложений Facebook на Litho их производительность прокрутки увеличилась на 35%, при снижении потребления памяти и упрощении тестирования кода.

  • React Fiber — полная переработка ядра фреймворка React с целью расширения возможностей, связанных с анимацией, раскладкой элементов интерфейса (layout) и управления жестами. Ключевым отличием является переход на систему инкрементальной отрисовки, при которой работа разбивается на несколько частей. Также появились такие возможности, как остановка, сброс и повторное использование выполняемых работ, поддержка задания разных приоритетов для разных типов обновлений, новые примитивы для распараллеливания работы, возможность возврата массивов и строк от обработчика отрисовки, расширенные средства обработки ошибок. React Fiber позволяет обеспечить более качественную работу на маломощных устройствах, на которых обычный React начинал притормаживать. При этом обеспечена поддержка обратной совместимости с приложениями, ранее написанными для React.
  • Relay Modern — новый JavaScript-фреймворк для построения React-приложений, ориентированных на управление данными (data-driven). Достаточно определить требования к данным и зависимости через GraphQL и фреймворк сам решит когда и как извлечь нужные данные, избавляя разработчика от необходимости использования API для прямого обращения к хранилищу. Данные запрашиваются только когда они необходимы, а для увеличения пропускной способности применяется техника агрегирования нескольких запросов. При обновлении данных в хранилище автоматически обновляется и представление данных в приложении. Код открыт под лицензией BSD.
  • Открыт код библиотеки React VR, предназначенной для разработки на языке JavaScript web-приложений, связанных с виртуальной реальностью, используя декларативный стиль программирования React и React Native. React VR построен поверх API WebGL и WebVR и включает компоненты для формирования 3D-сцен, комбинируя 3D-модели и сферические панорамы в режиме 360-градусов с обычным двумерным интерфейсом, текстом и изображениями. Код поставляется под лицензией BSD.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.