React Native
Что такое React Native
React Native – это кроссплатформенный фреймворк с открытым исходным кодом, который применяют для разработки нативных приложений. Впервые React Native появился в 2015 году, его разработали в Facebook. React Native произошел от более ранней технологии – React, JavaScript-библиотеки для фронтенд-разработки.
Кроссплатформенность позволяет разрабатывать приложение одновременно для нескольких платформ. К примеру, если разработка ведется одновременно для Android и iOS, примерно 90% кода из React Native подойдет к обеим платформам без оптимизации.
Нативность означает, что приложения разрабатываются специально под ту или иную платформу, взаимодействуя с ней через API. Например, до появления React Native уже был кроссплатформенный фреймворк Apache Cordova, но он не был нативным и использовал технологию web-view.
Фронтенд-разработчику на React будет легко работать за React Native: оба инструмента используют язык разметки JSX. JSX – смесь JavaScript и HTML, который позволяет описывать пользовательский интерфейс декларативным методом. Разница лишь в том, что вместо элементов HTML в мобильной и десктоп-разработке применяются элементы, которые назначит разработчик.
Где применяют React Native
React Native преимущественно используют в разработке мобильных приложений. Кроме Android и iOS, фреймворк поддерживает API Windows и macOS, а также Android TV и tvOS. Поскольку фреймворк поддерживается и регулярно обновляется силами Facebook, в будущем можно ожидать поддержку других популярных платформ.
Преимущества разработки на React Native
- более высокая скорость работы нативных приложений на выходе в сравнении с продуктами web-view;
- высокий процент кроссплатформенного кода, который пишется один раз и будет использоваться на разных платформах;
- кроссплатформенная разработка дешевле отдельной нативной разработки на каждую платформу;
- большое количество фронтенд-разработчиков на React, которые легко перейдут на React Native;
- поддержка и регулярные обновления силами команды разработчиков Facebook.
Недостатки разработки на React Native
- для оптимизирования и доработки приложений на конечном этапе нужно дорабатывать приложения на платформе;
- разработка с учетом кроссплатформенности усложняет код, поскольку нужно учитывать особенности разных платформ;
- проигрывает в производительности Flutter – аналогичной, более свежей разработке от Google, которая работает на языке Dart;
- при масштабировании энтерпрайз-проекта эффективнее отдельно написать нативные приложения;
- не позволяет писать сложные игры на мобильные устройства.
Примеры готовых работ на React Native
В первую очередь, React Native использует Facebook для своих продуктов – Facebook и Instagram. Также с помощью React Native разработали приложения ряд крупных корпораций: Skype, Pinterest, Baidu, Tesla, Bloomberg, UberEats, SoundCloud Pulse, Walmart.