React Native для Android был выпущен Facebook, предоставляя разработчикам Android возможность создавать приложения на JavaScript.
React — это библиотека JavaScript с открытым исходным кодом Facebook, которая позволяет декларативно описывать то, что вы хотите отобразить, с использованием общих компонентов и элементов. Новые веб-проекты в Facebook обычно создаются с использованием React в той или иной форме, и Facebook также сделал доступными React DevTools и использует Relay с открытым исходным кодом, структуру, которую он разработал для управления клиентскими приложениями React.
Сообщая об этом последнем выпуске в блоге Facebook, Даниэль Витте и Филипп фон Вайтерсхаузен сказали, что React Native:
«Приносит то, к чему разработчики привыкли из React в Интернете — декларативные автономные компоненты пользовательского интерфейса и быстрые циклы разработки — на мобильную платформу, сохраняя при этом скорость, точность и ощущение нативных приложений».
Версия для iOS была выпущена ранее в этом году, за ней последовала React Native для Android.
Во время выпуска версии для iOS инженер Facebook Том Оккино сказал, что до создания React Native разработка собственных мобильных приложений занимала больше времени, но обеспечивала лучший опыт на мобильных платформах, чем это было возможно в Интернете:
«Во-первых, у нас есть доступ к компонентам пользовательского интерфейса, зависящим от платформы, таким как карты, средства выбора даты, переключатели и стеки навигации.
У нас также нет ничего более сложного, чем встроенные мобильные распознаватели жестов в Интернете, и у нас еще нет надлежащих инструментов или дисциплины разработчика, необходимых для создания системы, которая делает это правильно ».
Очкино объяснил:
«Что нам действительно нужно, так это пользовательский опыт нативных мобильных платформ в сочетании с опытом разработчиков, который мы получаем при создании с помощью React в Интернете».
добавив это:
«Единственная разница в мобильной среде заключается в том, что вместо запуска React в браузере и рендеринга в блоки div и span мы запускаем его во встроенном экземпляре JavaScriptCore внутри наших приложений и выполняем рендеринг в компоненты более высокого уровня, зависящие от платформы».
В сообщении в блоге Витте и фон Вайтерсхаузен описывается создание первого кроссплатформенного приложения Facebook на React Native — Ads Manager. Они говорят, что работать с отдельными репозиториями кода iOS и Android сложно даже при большом количестве инструментов и автоматизации, добавляя, что Facebook переходит в единый репозиторий для обеих платформ — потребуется только одна копия общего кода JavaScript, и синхронизация будет быть в прошлом.
Несмотря на проблемы, команда утверждает, что эксперимент удался:
«Когда все было сказано и сделано, наша ставка окупилась. Мы смогли выпустить первое приложение Facebook с полностью React Native на двух платформах, созданное одной и той же командой инженеров JavaScript, с естественным внешним видом ».
Поскольку Reactive Native имеет открытый исходный код, другие разработчики JavaScript могут получить те же преимущества.