Всем привет! На связи команда Joy Dev. В конце каждого года мы традиционно рефлексируем на тему наших успехов и факапов. В этот раз мы решили узнать у наших разработчиков их честное мнение о развитии IT технологий и подготовили подборку основных трендов мобильной разработки и не только. Ну что, погнали!
Сейчас мы наблюдаем следующую картину: Россию пытаются вытеснить со всех рынков. Несмотря на активное удаление российских приложений из сторов, крупные компании делают всё возможное, чтобы версии поддерживались в актуальном состоянии, и стараются выложить хотя бы обезличенное приложение в сторах.
К примеру, банки не могут зарегистрироваться в Армении и Казахстане, создать там аккаунт и выложить приложение. Будут ли они прибегать к международным рынкам — вопрос остаётся открытым. Законы РФ не поощряют такой путь распространения приложений, поэтому велик риск стать иноагентами.
Сейчас банки идут на любые меры: переименовывают приложения, делают ребрендинг, удаляют связь с самой компанией — лишь бы предоставить своим клиентам актуальное приложение. Предложить людям Web-версию не вариант, потому что другой банк предложит приложение.
В наше время пользователь не будет довольствоваться тем, что есть: ему всегда нужно будет удобное, рабочее и актуальное приложение на телефоне.
Дистрибьюция Android приложений тоже имеет ряд особенностей. Из-за того, что Google поддерживает Android, а тот поддерживает Play Market, все действия на вашем телефоне мониторятся, выход обновлений в том числе. Система может “докачивать” в приложения любые файлы, и вы об этом никак не узнаете.
Явный плюс Android заключается в открытости системы, которая изначально так и задумывалась разработчиком, что любой пользователь может её дорабатывать. Поэтому можно воспользоваться самообновляющимся АПК. Он позволяет устанавливать приложения на устройства вручную, без Google Play или другого магазина приложений.
Сложнее обстоят дела с iOS, так как она принадлежит компании Apple, и получить аккаунт нового разработчика достаточно сложно.
И тут есть хорошие новости: недавно был выигран европейский суд, который обязал компанию предоставить альтернативные платформы. Вроде бы Apple и не против этого, но перед размещением приложения нужно пройти сертификацию, что пока видится абсолютно невозможным. На данный момент остаётся вариант работы на зарубежных рынках. Это рабочий вариант номер один, и здесь ничего не поменяется.
Другой вариант — нужна система сертификации, которая существует для AD HOC приложений, чтобы iOS платформа не становилась джейлбрейком на сторонних площадках и маркетах. Можно использовать двойную систему сертификации: первая — для стороннего рынка, а вторая — внутри для приложения.
Через энтерпрайз дистрибьюции будет решаться проблема открытия новых рынков для распространения iOS приложений, но как это будет — вопрос открытый на ближайшие пару лет.
Уже сейчас у нас есть выбор альтернативных магазинов: Samsung, Xiaomi, huawei. Если говорить о простом распространении приложений без возможности оплаты, то подойдёт любой из этих сторов. В России мы наблюдаем активное развитие отечественного аналога — RuStore. Недавно он анонсировал реализацию собственных вариантов для Firebase, но пока это только в планах: он ещё не готов для полноценного использования. У него нет должного альфа-тестирования, да и оплаты пока работают плохо. Но рынок развивается за неимением ничего другого, и это нельзя сбрасывать со счетов.
Со временем мы придём к тому, что у каждой страны будет локальный магазин приложений, регламентированный согласно действующему законодательству.
Если приложение было установлено на телефон, его нельзя удалённо деинсталлировать. Поэтому даже если приложение удаляется с платформы, у Вас на телефоне оно не исчезает. Чтобы не оставить пользователя один на один с проблемой приложения, можно изначально в него загрузить фичу, подключить определённый Firebase в качестве триггера. И если мы видим, что старое приложение удалили — через Firebase активируем в нём триггер — пользователям приходит сообщение, что это приложение больше не актуально и нужно скачать новое.
Таким же образом можно подключать алерты. Мы предлагаем пользователям оплатить что-либо INAP (в случае, если делаем из России) — прилетает ошибка на оплату — мы ловим её и перенаправляем пользователя в банковскую систему платежей. По правилам платформы так делать нельзя, так как стору интересно совершение покупок только через него. 99% гарантии, что ревьюер будет не из России, поэтому когда он откроет приложение, скорее всего не поймёт, что мы куда-то перенаправляем покупки.
Но если это всё-таки станет известно — бан аккаунта и приложения без возможности восстановления обеспечен.
Предоставляет хороший функционал по покупкам: INAP, СПБ. Когда вы встраиваете в приложение WebView, зашиваете в неё ссылку на оплату через банк (и по сути весь функционал переходит на сторону банка), остаётся только проверка по бэкенду и др. Для этого есть различные сервисы: Prodamus, российский Cloud payments.
Cloud payments позволяет подключать оплаты для Google, Apple, СБП. Есть ещё вариант оплаты с помощью с QR-кода — китайцы любят их использовать. Возможно, если в приложении на каждый товар зашивать QR-код, то можно платить так.
Таким образом, можно обходить любые нюансы с принятием карт и т. д.
Был у нас случай: один из наших заказчиков столкнулся с проблемой оплаты. Мы предложили ему открыть несколько способов: через сторонние сервисы или через подключение банковского эквайринга. К приложению мы прикручивали нативные покупки через внутренние магазины AppStore и Play Market. При этом пользователь проводит оплату либо через номер телефона, либо через привязанную карточку. Если такой возможности нет, мы подключаем сторонние сервисы. Аналогично работают Авито и Озон.
Бизнес всегда ищет способы сэкономить: старается подобрать универсальный ключ, который подойдёт ко всем замкам. Что лучше использовать при разработке приложения, чтобы не тратить деньги и время?
Стартапы скорее всего сделают выбор в пользу нативных решений. Это неплохой вариант, если нужно протестировать гипотезу за небольшой бюджет. В е-сommerce сфере тоже чаще всего выбирают натив ввиду высокой скорости обмена данными.
Натив предоставляет большой функционал и позволяет глубже взаимодействовать с разными локальными реализациями на отдельных ОС. Это всегда будет эффективно в части энергоресурсов и ресурсов устройств.
А корпорациям легче поддерживать приложения и выпускать обновления на кроссплатформе. Выпускаете одно изменение — оно выходит сразу на всех платформах. Взять к примеру VK, они всегда разрабатывали кроссплатформенные решения, но они бы не смогли долго поддерживать и развивать приложение, если бы оно было на нативе. Для самих пользователей особой разницы не видно, но некоторые вещи будут работать медленно и криво, например, работа с файловыми системами.
До nocode-решений ещё далеко и пока что нет достойных вариантов конструкторов, чтобы можно было быстро собрать качественное приложение.
Так кто сейчас лидирует?
Вывод следующий: всё зависит от задач бизнеса.
Если мы говорим о корпорациях, где всё развивается по намеченному плану, то выбор в пользу кроссплатформенной разработки однозначен.
А если необходимо протестировать гипотезу или сделать ускоренный релиз, например 1 раз в неделю, тогда React Native в помощь.
Наша команда всегда предлагает и те, и другие решения, но в проектах с большими базами данных мы рекомендуем нативную разработку: не потому что дороже, а чтобы в будущем заказчик не разочаровался в качестве работы приложения.
Нельзя сказать однозначно, что лучше для всех приложений. Всё зависит от поставленных целей.
Российские пользователи всё чаще делают выбор в пользу покупки Android смартфонов, нежели iPhone. Всё упирается в базовые потребности: нужна стабильная работа банковских приложений и других сервисов, которые на данный момент в AppStore или удалены, или обезличены.
Кроссплатформа не панацея, многие приложения продолжают писаться на нативе. Однако Kotlin будет преобладать в ближайшее время в России, потому что написав приложение на KKM для Android, вы просто скидываете его на ПК и устанавливаете.
Kotlin активно развивается благодаря поддержке JetBrains, которая совместно с Google создаёт Android студию и активно продвигает этот язык.
Что касается его преимуществ:
KMM действительно решает ряд проблем, и единственный нюанс заключается в том, что технология пока что в бета версии, но уже в этом году будет большой шаг в сторону его развития. Есть ряд больших компаний, которые сделали выбор в сторону Kotlin вместо Flutter и работают с ней.
Что касается Flutter, основное его преимущество — дешевизна, привлекающая клиентов. Flutter — достаточно интересный фреймворк, но у него есть проблемы с производительностью и ограничения по библиотекам. Интерфейс создаётся с помощью кода, из-за чего грань между логикой и дизайном тоньше.
Flutter удобен для стартапов, чтобы быстро запустить своё приложение. И когда вы уже привлекли инвестиции с помощью простенькой версии, можно разворачивать разработки в двух направлениях: Android и iOS. То есть, Flutter — классный инструмент для того, чтобы сделать несложный проект, привлечь внимание и финансирование для своего бизнеса.
Его любят в Штатах за простоту использования: во время вёрстки интерфейса не нужно запускать симулятор для подсвечивания ошибок — в отдельном окне сразу видно, как выглядит записываемый фрагмент.
Но есть и свои ограничения:
Для стартапов SwiftUI может подойти. В теории разработка на SwiftUI должна идти быстрее, чем на Swift. А с новой технологией Apple снижает порог входа в разработку.
JetPack Compose позволяет по-другому писать визуальный интерфейс. Он более интуитивно понятный. Говорят, что JetPack Compose не быстрый — ответим: нужно просто понять, как его настроить. Логика и вёрстка пишется в Kotlin. Большое количество реализаций зашито под капотом — и уже не нужно отвлекаться на эти вещи. Нужно подключить логику: прописываете отдельно и подключаете. Это удобно.
Если надо что-то обновить — вам не придётся перерисовывать или обращаться к состоянию экрана, будет просто конкретный идентификатор вью. К нему можно обращаться и именно его перерисовывать.
Rustore кстати полностью написан на Compose.
Инфраструктуры многих компаний начали расти вширь. Тот же Сбербанк — изначально банк, но теперь у него есть СберМегаМаркет, СберАптека, СберЗвук. Он также создаёт свои умные устройства, которые облегчают пользователю домашние задачи. Яндекс из поисковика вырос в огромную экосистемоу. И так далее.
Суперапп вырос из идеи, что инфраструктура и количество приложений растут, почему бы все их не объединить в одну платформу, максимально удобную для пользователя
К примеру, Яндекс Плюс даёт доступ к разным сервисам: пользователь оформил подписку на музыку, а ему предоставляют скидки на такси, товары в маркетплейсе, тем самым вовлекая в эту инфраструктуру целиком, открывая доступ ко всем сервисам. И пользователю так удобней. При этом происходит объединение нескольких приложений в одно с бОльшими возможностями. К примеру, раньше было Яндекс Такси, сейчас — Яндекс Go, где и Яндекс такси, и Яндекс Лавка.
«Людям нравится, когда одно приложение отвечает за 1000 функций.
Поэтому история с супераппами будет развиваться, инфраструктура — расти. И другие компании будут становиться экосистемами, создавая новые супераппы и улучшая существующие. Корпорации, которые расширяют рынки сбыта, никогда не откажутся от супераппов. Причина проста — огромная прибыль.
В России разрабатывается методология и законодательная база для работы с криптовалютами и майнингом, чтобы пользователи могли официально пользоваться ими для покупок, переводов и т. п.. Государство сможет использовать криптовалюту для международных транзакций.
Развитие машинного обучения (ML) происходит постепенно.
ML в Android будет востребовано, в первую очередь, из-за поиска подходящих услуг для потребителя. В большей степени это должно реализовываться Google для изучения пользовательского опыта человека, при котором он будет полностью доволен ОС. Сейчас мы видим только то, что на основании наших покупок и просмотров нам показывают соответствующую рекламу.
Система «Умный дом” станет популярнее, но позже. У неё пока нет большого развития, потому что спрос в этом направлении невелик. На российском рынке в сфере развития умного дома пока лидирует Яндекс. У них отдельное подразделение, которое над этим работает: они создают устройства и развивают свою экосистему Алису. Но устройства не всегда совместимы, например, с Home Kit, который есть на iPhone, и это создаёт определённые "трудности перевода”.
Различные гаджеты: музыкальная колонка, зубная щётка — это классно и удобно, но это не умный дом. Возможно, обучив самые элементарные предметы, Яндекс (а, может, и не Яндекс) займётся задачами посложнее.
Представьте: в конце рабочего дня вы в телефоне задаёте указания кухне: заварить чай, разогреть в микроволновке еду. Для ванной комнаты — набрать в ванну воду, температура 38,5, включить стиральную машинку на режим “Спорт”. Пылесосу — быстренько привести в порядок поверхность пола. Телевизору — найти фильм по вашим предпочтениям. Пришли домой — там чисто, уютно и все готово.
Мы уже используем эту технологию больше и лучше прежнего. Например, в музее с помощью телефона можно посмотреть, как строился город, как он менялся со временем. Детские развлекательные центры создают интерактивные комнаты, в которых оживают целые сказки. Есть приложения, позволяющие измерить размер комнаты. Microsoft сделал узконаправленное устройство для хирурга, дополняющее его интерфейс и показывающее ему в моменте различные данные состояния пациента. Apple создали LiDAR сканер, который работает не так хорошо, как хочется, но тем не менее первые шаги сделаны.
Как говорится, начало положено — развитие этой технологии обещает заманчивые перспективы.
Здесь мы говорим про отказ от реальности и ощущение себя в цифре. Однако VR не ушёл дальше игрушек и видео.
Сейчас нет особо востребованных VR очков. Чтобы в них была потребность, они должны решать какую-либо проблему пользователя. Идея Google Glass неплохая — очки, в которых показываются картинки. Но они слишком дорого стоят, чтобы просто поиграться. VR интересен более молодому поколению, но они не готовы настолько потратиться.
Страсти вокруг самой популярной нейронки не утихают: новости о требованиях дизайнеров закрыть сервис, об успешной сдаче экзаменов по юриспруденции, о написании целого диплома за 23 часа, а Microsoft уже успел создать языковую модель BioGPT, которую научили генерировать тексты и искать информацию в медицинской литературе.
Приложения с поддержкой ИИ смогут распознавать закономерности и принимать решения автономно, а машинное обучение сможет использовать данные для создания персонализированного опыта. Интересно, к чему это все приведёт — будем наблюдать.
Сейчас в тренде обход санкций, и компании стараются выйти из сложившейся ситуации. Мы не только наблюдаем за этим трендом, но и активно помогаем заказчикам создавать и поддерживать приложения в рабочем состоянии. Мы понимаем сами и объясняем другим, что сейчас, в первую очередь, нужно решать задачи пользователя, а уже во вторую — думать о фичах и красоте.
Спасибо за внимание! Всем Joy!
Если хотите заказать у нас мобильную разработку приложения и успешно зарелизить его на сторах, пишите на hello@joy-dev. сom