Быстрый старт на React Native

  • Tutorial

Какие горизонты открывает React? Single Page Application (и веб-приложения, и десктопные приложения на Electron) — это цветочки. Очень заманчиво выглядит разработка мобильных приложений на React Native. Лозунг "learn once, write anywhere" стоит того, чтобы приложить некоторые усилия. Go!


13 марта объявлено стабильным чудесное решение:


Многие разработчики сталкиваются с проблемой установки и настройки существующих зависимостей React Native, особенно для Android. С помощью Create React Native App нет необходимости использовать XCode или Android Studio, и вы можете разрабатывать для своего iOS-устройства, используя Linux или Windows. Это достигается при помощи приложения Expo, которое загружает и запускает проекты CRNA, написанные на чистом JavaScript без компиляции любого собственного кода.

 
CRNA повторяет идею Create React App (CRA). Никакой настройки окружения — всё готово "из коробки": запуск тестов, запуск в режиме разработки, боевая сборка и деплой.


$ npm i -g create-react-native-app
$ create-react-native-app my-app
$ cd my-app
$ npm start


Как видно, нужно выполнить несколько условий: установить управляющую оболочку Expo на мобильник, запустить тестируемое приложение через QR-код, при этом мобильник должен находиться в одной локальной сети с вашим компом разработчика.


Можно ещё проще. Подключите мобильник USB-шнурком, и выполните:


$ npm run android

Оно само поставит оболочку Expo на мобильник и запустит тестируемое приложение. Дальше горячая перезагрузка работает почти так же быстро, как при разработке веб-приложения на CRA. Магия!


На Ubuntu/Windows оно доступно только для подключенных Android/iOS устройств; но на Mac-е работает и вовсе без мобильника — на симуляторе iOS:


$ npm run ios


 


Опционально можно установить на комп Expo XDE:



 


С помощью этого инструмента также можно запускать тестируемое приложение, при этом отображается лог с мобильного устройства — жирный плюс; но горячая перезагрузка работает медленно, видимо приложение пересобирается каждый раз полностью. UPDATE Нужно вызвать меню разработчика (буквально встряхнуть мобилку), и выбрать "Enable Hot Reloading". При этом выключите Live Reload — оба варианта вместе не поддерживаются.


Исходная заметка в блоге React Native


UPDATE Mac не нужен для разработки iOS-версии; просто подключите iOS-устройство и наслаждайтесь процессом на Ubuntu/Windows (спасибо, andreylat).

Поделиться публикацией

Похожие публикации

Комментарии 14
    +1
    Отличная новость!
    Только я не понял, можно, наконец, делать ios приложение без мака?
    В начале написано «нет необходимости использовать XCode или Android Studio, и вы можете разрабатывать для своего iOS-устройства» — вот оно счастье,
    но потом написано «На Ubuntu оно доступно только для Android-устройств; но на Mac-е работает и для Android, и для iOS, и вовсе без мобильника — на симуляторе iOS» — опять кинули?
      +1

      Нет, нельзя делать приложения под iOS без мака. Пока Apple не позволяет)

        0
        Кому-то «позволяет»:
        — Adobe Flash Builder делает приложения для ios из под windows (делает очень-очень долго, в фоне запускается какая-то виртуальная машина, возможно, со специальной версией ios).
        — intel xdk тоже делает в своем облаке (на стороне сервера), но результат выдает довольно быстро.

        Странно, что никто другой не реализовал процесс аналогичный адобовскому.
          0

          Под Винду есть симулятор iOS, только он заточен для Xamarin.

            0

            Поправка:


            Make sure Visual Studio has connected to your Mac at least once before starting the remote iOS Simulator.
            0
            Еще marmalade SDK умеет собирать и даже подписывать из под windows специфичные ios приложения)
              0
              Marmalade SDK давно собирает ipa на винде.
          0
          Хотя, при всех технологиях, мак, все равно, нужен на последнем этапе — загрузке приложения в AppStore (яблоко требует делать это специальной программой-загрузчиком, которая есть только для macos),
          но тут вполне работает вариант с macos в виртуальной машине vmware.
            +1
            Expo XDE позволяет сделать логин-пароль, и загружать приложение в аккаунт. В свою очередь это позволяет расширить приложение «наружу», как для демонстрации куче народу, так и потенциальному заказчику. Без этого можно работать просто через консоль — разницы нет.
            Также в этой связке напрашивается expo sdk, добавляющий к react native изкоробочные Push уведомления, анимированные иконки, которые делаются в After Effects, акселорометр/гироскоп, видео и ряд других плюшек
                0
                почему-то на Xperia z5c завелось только с включением non-secure ADB *#*#2673#*#*
                как потом получившееся приложение собирать в apk?
                0
                Хм, надо попробовать, спасибо.
                До этого для Андроида использовал связку VirtualBox + GennyMotion. Всё было ок, кроме дебага консолью.
                  0
                  Да, но только понадобиться добавить авторизацию через vk, сразу упретесь в ограничения. Будет доступен только webview для этого. Короче классная штука, но есть ряд но.

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                  Самое читаемое