Есть проект?

Мобильное приложение: cross-платформа, native или что-то другое?

05 мая 2023
4 минуты

Выбираем приложение для вашего бизнеса и разбираемся, а нужно ли сейчас вообще делать мобильное приложение в том виде, к которому мы привыкли?

Пролог

Если ты не «в мобиле», то ты не в бизнесе. Сложно не согласиться с этим высказыванием, да и представить современный мир без смартфонов почти невозможно — они стали неотъемлемой частью нашей жизни. Мы покупаем товары, переводим деньги, оплачиваем коммунальные услуги, читаем новости, смотрим видосики с котиками, общаемся, учимся — да что только не делаем на ходу с помощью смартфона. Неудивительно, что бизнесу приходится адаптироваться и создавать мобильные приложения.

В сети проложены километры статей про мобильную разработку, где детально и подробно копаются в плюсах и минусах подходов. Мы же переосмыслим эту тему и расскажем, какое приложение выбрать для своего бизнеса и нужно ли сейчас вообще делать мобильное приложение в том виде, к которому мы привыкли? Давайте разбираться)

Глава 2

PWA – что за фрукт такой?

PWA / progressive web app / прогрессивное web-приложение – технология, которая трансформирует сайт в приложение. Это если оч кратко – конечно, есть свои тонкости и особенности, можно и иначе превратить сайт в приложение («обернуть», например, но в этом тексте не об этом).

Сначала – в те далёкие времена, когда только-только первые  iPhone выходили –  PWA, как ни странно, пользовались популярностью, только немного в другом виде и с меньшими технологическими возможностями. Вообще PWA разработал Microsoft в далёком 2000 году, а затем в 2007 Apple создал другой вариант PWA под свои нужды.

Сейчас хорошими примерами PWA можно считать Яндекс.Почту, YouTube, YouTube Music, Spotify, Google Keep, да и у Telegram есть свой вариант сервиса на PWA. Они адекватно и качественно выполняют свои задачи. Некоторые из них даже можно установить на ПК или на смартфон и запускать как самостоятельное приложение – без отображения интерфейса браузера. Ну а если разработчики сильно постараются, то отличить PWA от привычных для нас приложений вообще будет невозможно.

Осторожно, личное мнение!

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

Глава 3

Cross: меньше кода – меньше денег

Cross – это единая кодовая база для iOS и Android, а значит собирается она сразу под все платформы. Универсально, быстро и дёшево. Яркие примеры «движков», которые служат на благо кроссплатформенной разработки – React Native, Flutter, Xamarin. Кажется, что всё здесь идеально, но есть технические нюансы.

Действительно, cross-приложения отлично подходят для проверки гипотезы, идеи или быстрого старта. Всё потому, что вы платите не за 2 разработчиков, а по большей части за 1 – а что может быть лучше, чем сэкономленные на первых порах бюджеты? Вот только если тестирование идеи оказалось успешным, вы снова окажетесь на перепутье – оставить текущее технологическое решение или уйти в Native?

 

Вот небольшой пример

Представьте, вы протестировали идею – она залетела, бизнесу быть. И вот он тяжёлый выбор. Подумав, вы решили остаться на cross и, тем самым, подписали себя на ручное обновление тех самых «движков», которые обеспечивают работу приложения (не переживайте, платить за саму подписку не придётся, с деньгами столкнёмся позже)

Прошло 5 лет – с вашим сервисом всё хорошо. Силами разработчиков постоянно выпускаются обновления. И не только силами, но и страданиями – ведь разработчики каждый день сталкиваются с проблемами, недостатками и иными болячками этих «движков» и уже мечтают, как бы так автоматически обновиться. Там ведь новая версия, например, «движка» Flutter вышла. 

Тут наступает переломный момент – как раз в нём и кроются деньги. Не обновлять «движок» больше нельзя, ведь там была исправлена проблема, которая никак не решалась собственными силами. Надо обновляться, вот только выясняется, что вместе с этой реновацией появилось и много других изменений в платформе – теперь приложение вообще не запускается.

Все силы разработчиков брошены на исправление этой беды – надо, чтобы приложение заработало, как раньше. Сроки горят, нервные клетки умирают. А ведь нужно успеть ещё и новые фичи выпустить. Время, силы, деньги – всё впустую.

Вот такой незамысловатый пример.

Глава 4

Native: нам, пожалуйста, all inclusive

Native – это что-то на старом (олды тут?!). В такой разработке есть огромнейший плюс – эти приложения пишутся под конкретную платформу, а значит учитываются все её особенности, требования и прочие мельчайшие детали. А языки программирования какие, мммм:

  • Java, Kotlin – для Android
  • Objective-c, Swift – для iOS

 

И не просто так, есть ещё и специальные языки для разработки на той или иной платформе.  Они, точно знают,  где будут работать, а также, как и с кем им предстоит жить. 

Так как это «олды», то и информации по ним в интернете значительно больше – уйма библиотек и кусочков кода, примеров и решений тех или иных проблем. Всё для того, чтобы не проходить в сотый раз по скользкой дорожке, тестируя на себе все тягости падений, а экономить время и деньги с помощью накопленных знаний. 

Конечно, натива дороже, чем оппоненты. Но оно того стоит, если вы уверены, что ваш бизнес будет расти, а сервис развиваться. Также натива – ваш вариант, если:

  • У вас есть какие-то крутые фичи – например, возможность быстро отделять объект от фона на фотографиях
  • Вы хотите просто безупречную, насколько это возможно, работу приложения – сложные анимации, отзывчивость, плавность и все прочие красочные эпитеты, присущие нативным приложениям 
  • У вас много дополнительных запросов к приложению – к железу, к работе оффлайн и другим хотелкам, которые могут быть очень привередливы

 

 

Выводы от автора

Таким образом, главные различия Cross, Native, PWA — это сроки, деньги, возможности 

Для быстрого и бюджетного старта подойдёт cross, для разработки на долгосрочную перспективу лучше выбрать native – но и то, и другое сейчас немного рискованно. Поэтому стоит присмотреться к PWA. Если вы готовы к экспериментам и у вас есть идея не супер сложного сервиса, который должен быть и веб-сайтом, и мобильным приложением – пишите, сделаем круто!

Автор
руководитель проектов
Антон

24 часа на ответ

Есть проект?

Давайте обсудим и найдём решение!