Если мы используем JavaScript для создания нативных мобильных приложений, мы, вероятно, заставим этот стек работать на нескольких платформах в сочетании с большим опытом разработчиков, который приходит при создании приложений для Интернета. Эта статья посвящена React Native от Facebook и дает обзор фреймворка.

Собственная разработка

Есть много причин, по которым создание нативного приложения сложнее, чем работа в Интернете. Одна из основных причин заключается в том, что нам придется иметь дело с API для конкретных платформ для Android и iOS отдельно. Во-вторых, сложнее размещать объекты на экране, так как нам часто приходится вручную вычислять размер и положение различных представлений, что замедляет скорость разработки.

Несмотря на то, что нативная разработка занимает больше времени, есть много причин, по которым мы можем обеспечить лучший опыт на мобильных устройствах, чем в Интернете. В отличие от Интернета, Native дает нам доступ к сложной модели многопоточности, которая может помочь нам распараллелить нашу работу с несколькими потоками. Кроме того, родной также дает нам доступ к компонентам пользовательского интерфейса для конкретной платформы, таким как карты, средства выбора даты, переключатели и стеки навигации.

При всех преимуществах нативной разработки мы действительно хотим, чтобы пользовательский интерфейс нативных мобильных приложений сочетался с опытом разработчиков, который мы получаем при создании в Интернете. Если мы используем JavaScript для вызова нативных API, у нас будет доступ ко всей мощи нативной среды, а также удобство для разработчиков, которое предоставляет JavaScript.

Так что же такое React Native?

React Native — это JavaScript-фреймворк, разработанный Facebook для написания реальных мобильных приложений с нативным рендерингом для iOS и Android.

Основные функции:

  1. Написано с использованием JSX. Подобно React для Интернета, приложения React Native написаны с использованием смеси JavaScript и XML-разметки, известной как JSX.
  2. Открывает интерфейсы JavaScript для API платформы. Приложения React Native могут получать доступ к функциям платформы, таким как камера телефона или местоположение пользователя.
  3. Работает отдельно от основного потока пользовательского интерфейса. Код JavaScript выполняется в отдельном потоке, отдельном от основного потока пользовательского интерфейса. Таким образом, даже когда приложение выполняет сложную логику, пользовательский интерфейс может плавно анимироваться или прокручиваться.

Как работает React Native?

Поскольку React Native основан на React для Интернета, они оба разделяют общую философию. Компоненты React возвращают разметку из своей функции рендеринга, которая описывает, как они должны выглядеть. Первая часть рисунка ниже показывает, как разметка в React транслируется непосредственно в DOM браузера. В то время как в React Native он транслируется в компоненты, специфичные для платформы, через встроенный мост.

Вывод

React Native предоставляет отличный опыт для разработчиков. Поскольку он поддерживает такие функции, как глобальная отмена/возврат и горячая перезагрузка, нам не нужно компилировать и создавать, чтобы увидеть новые изменения. Таким образом, мы не теряем состояние, и это особенно полезно, когда мы настраиваем пользовательский интерфейс. Наряду с простотой разработки, поскольку React Native — это просто JavaScript, мы получаем преимущества всех достижений языка и его экосистемы.