Найти тему

Как сэкономить на разработке мобильного приложения?

Оглавление

Я хочу рассказать в чем разница между нативной и кроссплатформенной разработкой и почему нативная в большинстве случаев не нужна вашему бизнесу и даже вредна.

Что означает нативная разработка мобильного приложения для вашего бизнеса? Вы находите:

-2 команды разработчиков Android + iOS
-2 команды дизайнеров Android + iOS
-2 команды Quality Assurance

И потом вы начнете путь медленной и дорогой разработки мобильного приложения.

Когда спрашиваешь профессионалов, почему кроссплатформенная разработка - хуже, то слышишь аргументы:
-Это неудобно
-Это медленно
-Это не нативно
¯\_(ツ)_/¯

Сейчас я расскажу вам в чем дело и откуда ноги растут.

Как работает кроссплатформенное приложение?

Есть некий Bridge, который делает так, чтобы ваш код работал на обе платформы: iOS + Android

Проблема здесь в том, что большое количество данных проходит через Bridge, попутно превращаясь в JSON и обратно. Это - медленно.

Примеры неэффективных кроссплатформенных решений:

  1. Cordova - html,css, javascript - даже демо их приложения на новейших телефонах тормозит так, что кровь льется из глаз.
  2. React Native - тот же javascript, но уже лучше - появилась возможность коммуникации с нативными OEM-виджетами платформы. Все равно лагает. Проблема с анимациями, ужасная и неисправимая. И даже Facebook признает, что это проблема ( And a serializable bridge means unnecessary copying instead of directly sharing memory between the two worlds.)
  3. Progressive Web App - плюс приложений на WebView, что производительность на высоте, но есть большой минус, на PWA невозможно добиться такого же поведения от UI, как у нативных приложений. Элементарный пример - скролл, он не такой, каким мы привыкли его видеть в мобильном приложении - это не нравится людям - чувствуется подвох.

Те из разработчиков кто держат руку на пульсе, уже знают, что лучшее кроссплатформенное решение я оставил напоследок.

Flutter

Flutter - фреймворк от Google с открытым исходным кодом, самая быстрорастущая технология мобильной разработки в настоящее время. Чем он отличается от предыдущих решений? Он взаимодействует напрямую с графической картой.

Любая анимация, любые экраны, которые я пробовал разработать на этой платформе за пол года (+- 100 тыс. строк кода) выдают 60 FPS.

Flutter имеет документацию, которой можно позавидовать, количество пользователей растет с каждым днем и в 2020 году, я уверен, Flutter обгонит React Native на Github.

Уже используете React Native? Задумайтесь о переходе на другую платформу. Это можно сделать легко. Если интересны любые вопросы по Dart ил Flutter - пишите комментарии.

-2