admin 03 октября 2018

Полезные советы для написания приложения на React Native

Создание приложения на React Native может стать задачкой не из легких. Мы поделимся советами и трюками, которые помогут в реальном проекте.

Будьте уверены в своих силах

Помните, что мир React Native – это пока одинокий мир. Вы можете попасть в ситуацию, с которой до сих пор никто не сталкивался, и даже Google вам не поможет. Всегда используйте систему контроля версий (VCS) и регулярно фиксируйте свои изменения (все "серьезные ребята" называют данный процесс Continuous Integration). Это поможет вам быстро вернуться к последней рабочей копии без потери времени и кода.

Поэтому очень важно понимать, что вы делаете, иначе можно полностью разрушить свой проект. Если вы еще не используете VCS – пришло время заняться этим.

Обновляйте свой JSC

JSC (JavaScriptCore) – это JavaScript-движок, основанный на WebKit. Его использует React Native для преобразования JavaScript в машинный код. Поэтому все, что вы пишете на JavaScript, по-прежнему выполняется как JavaScript, только при помощи JSC. Иногда могут возникать неприятности из-за очень старой версии JSC. Это означает, что необходимо использовать babel для преобразования.

Обновление JSC выполняется очень просто. В этом GitHub репозитории есть вся необходимая информация для того, чтобы продолжить работу с минимальным простоем.

Правильная настройка Redux

Redux navigation приложения на React Native

Redux может принести массу проблем, если его правильно не настроить. Под такой настройкой подразумевается глубокая интеграция с приложением.

В качестве навигации используйте свои наработки или React navigation. Использование для этих целей Redux – отличное решение в долгосрочной перспективе, хотя официальная документация React navigation не приветствует ее использование без полного понимания всех процессов. Но, если вы все-таки решили взяться за это, – убедитесь, что все правильно настроили, иначе приложение будет рандомно сбоить и крашиться.

Используйте инструменты автоматизации, такие как fastlane

Fastlane – отличная утилита командной строки для автоматизации многих распространенных задач, с которыми вы столкнетесь. Это больше похоже на оптимизацию времени, а не кода, но она заслуживает своего места.

Найти fastlane вы можете здесь.

Обработка ошибок

sentry io

Не ждите, что пользователи вашего приложения будут оповещать вас, когда оно рухнуло. Во многих крупных приложениях трудно отловить ошибку, приводящую к сбою приложения. Можно использовать sentry.io для этих целей. Он может включаться в процесс вашей сборки и даже загружать sourcemap к себе на сервер, чтобы вы могли видеть фактический код, а не рандомный мусор в логах.

Узнать подробности об этом инструменте можно тут.

Отладка

Вы все еще используете консоль Chrome Inspect для отладки своего приложения на React Native?

Что если требуется очистить асинхронное хранилище приложения или принудительно остановить приложение и очистить данные? Постоянные мысли об этих нюансах только отвлекают от активной разработки. Рекомендуем использовать бесплатный автономный отладчик для React Native.

Еще несколько советов

  • Соблюдайте порядок в своей файловой структуре приложения на React Native. Это очень важно для масштабирования.
  • Избегайте использования expo для своих приложений, т. к. это будет отнимать массу времени.
  • Убедитесь в том, что файл package-lock.json создан (если используется npm). Вы будете сильно удивлены, когда случайно удалите папку с node_modules и поймете, что ни один пакет в npm не следит за управлением семантическими версиями.
  • Не используйте с React Native тяжеловесные UI-библиотеки. Из-за этого резко падает производительность даже в продакшене. Также не рекомендуется к использованию NativeBase, хотя она весьма интересна с точки зрения пользовательского интерфейса. Есть гораздо более удобные варианты, такие как React Native Paper.
  • Воспользуйтесь возможностями React Native для замены налету JS-bundle, с использованием таких технологий, как CodePush, не отправляя повторно приложение в appStore.
  • Получите хотя бы базовые навыки React Native для работы с Android и iOS.

Оригинал

Другие материалы по теме:

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Golang разработчик (middle)
от 230000 RUB до 300000 RUB
PHP Developer
от 200000 RUB до 270000 RUB

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ