<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Facebook открыл фреймворки для построения интерфейса: Litho, React Fiber, Relay Modern и React VR]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=38882&amp;type=atom" />
	<updated>2017-04-19T06:56:56Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=38882</id>
		<entry>
			<title type="html"><![CDATA[Facebook открыл фреймворки для построения интерфейса: Litho, React Fiber, Relay Modern и React VR]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=454520#p454520" />
			<content type="html"><![CDATA[<p><br />&nbsp; &nbsp; На проходящей в эти дни конференции F8 2017, Facebook представил несколько новых открытых фреймворков для построения интерфейса:&nbsp; &nbsp; &nbsp; &nbsp;Открыт код Litho, декларативного фреймворка для построения эффективного интерфейса пользователя для платформы Android. Фреймворк уже используется в приложениях Facebook для Android (Facebook app, Facebook Lite, Messenger,&nbsp; Workplace), которыми пользуется более миллиарда человек. Код открыт под лицензией BSD.&nbsp; &nbsp; &nbsp; В качестве достоинств Litho отмечается обеспечение высокого качества работы приложений, независимо от стабильности сетевого соединения и скорости работы устройства. Интерфейс формируется как набор отдельных компонентов, которые генерируются с упреждением, компонуются асинхронно в единое целое специальным фоновым потоком и отрисовываются по частям, не допуская возникновения блокировок и предоставляя всегда плавную прокрутку. Для снижения потребления ресурсов в Litho применяется техника повторного использования типовых компонентов. После перевода приложений Facebook на Litho производительность прокрутки увеличилась на 35%, при снижении потребления памяти и упрощении тестирования кода.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;React Fiber - полная переработка ядра фреймворка React с целью расширения возможностей, связанных с анимацией, раскладкой элементов интерфейса (layout) и управлением жестами.&nbsp; Ключевым отличием является переход на систему инкрементальной отрисовки, при которой работа разбивается на несколько частей. Также появились такие возможности, как остановка, сброс и повторное использование выполняемых работ, установка разных приоритетов для разных типов обновлений, новые примитивы для распараллеливания работы, возможность возврата массивов и строк от обработчика отрисовки, расширенные средства обработки ошибок. React Fiber позволяет обеспечить более качественную работу на маломощных устройствах, на которых обычный&nbsp; React начинал притормаживать. При этом обеспечена поддержка обратной совместимости с приложениями, ранее написанными для React.&nbsp; &nbsp; &nbsp;Relay Modern - новый JavaScript-фреймворк для построения React-приложений, ориентированных на&nbsp; управление данными (data-driven). Достаточно определить требования к данным и зависимости через GraphQL и фреймворк сам решит когда и как извлечь нужные данные, избавляя разработчика от необходимости использования API для прямого обращения к хранилищу. Данные запрашиваются только когда они необходимы, а для увеличения пропускной способности применяется техника агрегирования нескольких запросов. При обновлении данных в хранилище автоматически обновляется и представление данных в приложении. Код открыт под лицензией BSD.&nbsp; &nbsp; &nbsp;Открыт код библиотеки React VR, предназначенной для разработки на языке JavaScript&nbsp; web-приложений, связанных с виртуальной реальностью, используя декларативный стиль программирования&nbsp; React и React Native. React VR построен поверх API WebGL и WebVR и включает компоненты для формирования 3D-сцен, комбинируя 3D-модели и сферические панорамы в режиме 360-градусов с обычным двумерным интерфейсом, текстом и изображениями. Код поставляется под лицензией BSD.&nbsp; <br />&nbsp; &nbsp; Источник: <strong>http://www.opennet.ru/opennews/art.shtml?num=46408</strong><br />&nbsp; &nbsp; <br /><a href="http://www.opennet.ru/opennews/art.shtml?num=46408">_источник</a></p>]]></content>
			<author>
				<name><![CDATA[R2-D2]]></name>
				<uri>https://linuxforum.ru/profile.php?id=40794</uri>
			</author>
			<updated>2017-04-19T06:56:56Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=454520#p454520</id>
		</entry>
</feed>
