Сравнение типов мобильных приложений

Сравнение типов мобильных приложений

HPACE-статья
Андрей Тищенко 09.01.2024

Webview


(Обычный сайт, который запускается в вашем собственном мобильном приложении):

 

✅ Плюсы:

  • — В сравнении с остальными мобильными приложениями дешевле.

 

❌ Минусы:

  • — Некоторый функционал из браузера не будет работать по сравнению с обычным сайтом(также открытым с телефона).
  • — Работает медленнее всего.
  • — Качество хуже всего.
  • — Не будет работать без интернета.
  • — Высокие трудности при поддержке кода и расширении функционала.

 

 

Кроссплатформа


(Разработка на Flutter или React-native)

 

✅ Плюсы:

  • — Разработка на 2 платформы сразу (android + iOS)
  • — Позволяет реализовать лучший функционал чем WebView
  • — Работает быстрее чем WebView

 

❌ Минусы:

  • — Несмотря на разработку под 2 платформы 1 приложения многие моменты придется прописывать отдельно для android или iOS из за их разного функционала.
  • — Не доступен полный функционал по работе с платформой в сравнении с нативными приложениями. 
  • — Умеренные трудности при поддержке кода и расширении функционала.

 

 

Нативное приложение


(под каждую отдельную платформу, Swift+Kotlin(java))

 

✅ Плюсы:

  • — При нативной разработке мы получаем выигрыш в производительности, так как нативные среды максимально оптимизированы по сравнению с кроссплатформенными.
  • — Нативная разработка позволяет нам поддерживать низкоуровневый функционал.
  • — Нативная разработка позволяет нам пользоваться любыми нововведениями функциями и фишками ОС.
  • — У мобильных систем iOS и Android есть существенные различия, которые вызывают сложности при кроссплатформенной разработке. Это касается в первую очередь элементов интерфейса. Именно поэтому написать один универсальный код иногда гораздо сложнее, чем сделать это нативно.
  • — Нативные API предоставляют очень гибкий и современный способ для создания мобильных приложений.
  • — Поддерживать кроссплатформенный код гораздо сложнее, чем нативный.
  • — Из за того, что комьюнити кроссплатформенной разработки менее популярно, будет сложнее найти правильное решение некоторых задач (Больше времени на решение конкретной задачи).
  • — На кросс платформе слишком тяжелая анимация в сравнении с нативом.

 

❌ Минусы:

  • — Самый дорогой вариант.
  • — Требуется поддерживать 2 приложения вместо одного, если вы хотите видеть ваш продукт на обеих платформах (android + iOS).

 

 

Веб-приложение


(без мобильного приложения, но работает по скорости ± как мобильное приложение. Разработка в основном осуществляется с помощью React.js, Vue.js, Angular.js):

 

✅ Плюсы:

  • — Самый дешевый вариант из всех описанных выше.
  • — Визуально однозначно лучше чем WebView.

 

❌ Минусы:

  • — Работает только с интернетом.
  • — Требуется “подогнать” под все браузеры.
  • — Нет возможности работать с функциями телефона: присылать уведомления, работать с файлами, камерой и т.д.

 

 

Плюсы нативной разработки перед кроссплатформой


  • — При нативной разработке мы получаем выигрыш в производительности, так как нативные среды максимально оптимизированы по сравнению с кроссплатформенными
  • — Нативная разработка позволяет нам поддерживать низкоуровневый функционал
  • — Нативная разработка позволяет нам пользоваться любыми нововведениями функциями и фишками ОС
  • — У мобильных систем iOS и Android есть существенные различия, которые вызывают сложности при кроссплатформенной разработке. Это касается в первую очередь элементов интерфейса. Именно поэтому написать один универсальный код иногда гораздо сложнее, чем сделать это нативно
  • — Нативные API предоставляют очень гибкий и современный способ для создания мобильных приложений
  • — Поддерживать кроссплатформенный код гораздо сложнее, чем нативный
  • — Из за того, что комьюнити кроссплатформенной разработки менее популярно, будет сложнее найти правильное решение некоторых задач (Больше времени на решение конкретной задачи)
  • — На кросс платформе слишком тяжелая анимация в сравнении с нативом

 

 

Поделиться:

Прошедшие мероприятия

11.11 пятница!