Чтобы легко находить работу и справляться со сложными задачами, разработчику важно следить за новыми технологиями и трендами в своей сфере и учиться их применять. Разбираемся, что нового происходит в мобильной разработке, вместе с Ильей Харламовым, iOS-девелопером с десятилетним опытом работы. Его приложения скачали больше полумиллиона раз, сегодня Илья — тимлид мобильной разработки в Retail CRM.
Универсализация дизайн-систем
Сейчас компании чаще разрабатывают универсальные дизайн-системы. Это значит, что на iOS и Android для пользователя приложения должны быть если не одинаковыми, то максимально похожими. Благодаря этому у пользователей разных платформ появляется единый опыт и путь в приложении.
Что это значит для разработчиков? Поначалу разработчикам станет немного сложнее. У них есть технические паттерны, как делать те или иные функции или элементы, многие части приложения уже реализованы по этим паттернам. Универсальный дизайн означает, что все это нужно будет переделать: например, написать все кнопки для iOS с нуля.
Но в перспективе универсализация упростит работу команд разработки, потому что создание кода для iOS, Android и веба синхронизируется. Когда дизайн для всех платформ единый, каждой команде не нужно придумывать что-то свое — можно следовать общим правилам.
Хороший пример универсальной дизайн-системы — это приложение VK. Так выглядит их UI Kit — набор цветов и элементов, который на разных платформах выглядит одинаково. Источник
Интеграция ИИ
Бум ChatGPT не обошел стороной и мобильные сервисы. Сейчас многие крупные игроки интегрируют функционал для работы с ИИ в мобильные устройства. Например, команда приложения для управления знаниями и проектами Notion запустила проект Notion AI. С помощью нейросети пользователи могут быстро спроектировать удобные шаблоны календарей, базу знаний или доску для управления проектами. В будущем эта тенденция продолжится, и за крупными компаниями последуют игроки поменьше.
Что это значит для разработчиков? Конечно, уходить в Machine Learning и глубоко разбираться в работе нейросетей необязательно. Но базово понимать, как работает технология, что она позволяет делать, будет полезно. Например, если вы делаете приложение-чат менеджера с клиентами и придумываете фичу — добавлять к каждой переписке ее краткое содержание, — для этого можно использовать ChatGPT.
Также я бы рекомендовал разработчикам присмотреться к технологии Code Pilot. Она работает на основе ChatGPT и помогает писать код. Этот инструмент ускорит вашу работу, а значит, сделает вас более востребованным специалистом.
Server Driven UI
Server-Driven UI — это система гибкого интерфейса, когда информацию о том, какие блоки и контент показывать пользователю, посылает сервер. Например, когда вы используете сервис бронирования отелей, мобильное приложение может мгновенно изменить интерфейс вместе со сменой геолокации и показать вам лучшие предложения поблизости от вас, добавить другие статьи и рекламные баннеры, изменить контактные данные. Это не очень масштабный тренд, но все больше компаний внедряют его.
Что это значит для разработчиков? На первый взгляд — ничего хорошего. Компании делают это, чтобы снизить стоимость разработки. Вместо того чтобы множество версий приложения сидел и делал разработчик, верстку может просто прислать сервер.
Однако это работает только для самых простых частей приложения — например, страницы с информацией, меню. Здесь не нужно программировать сложную логику. А вот управлять корзинами в интернет-магазинах сервер не сможет. Server-Driven UI заберет рутинную работу по верстке, но самое интересное все равно останется разработчикам.
Декомпозиция приложений на микро-модули
С ростом функциональности приложения, становится сложнее его поддерживать, поэтому все больше компаний разделяют приложения на небольшие модули, из которых потом собирается суперприложение. Экран банковского приложения, например, может состоять из модулей основного счета, счета для инвестиции, модуля для переводов без комиссии и так далее.
Сейчас студенты Skillfactory разрабатывают для Retail CRM модуль для внутреннего использования. Когда мы видим, что наши клиенты не пользуются каким-то функционалом нашего сервиса, мы даем им подсказки: попробуйте это, зайдите сюда, оставьте фидбэк. Чтобы тестировать эти подсказки, нам нужен модуль, в котором можно добавлять для пользователей события или удалять их вручную. Мы называем этот модуль Event Viewer и планируем в дальнейшем встроить его в инфраструктуру Retail CRM.
Что это значит для разработчиков? Работа с микромодулями позволяет безопасно масштабировать команду. Каждому человеку, работающему над частями суперприложения, не нужно знать всю инфраструктуру и логику. Погружение в работу для новичков становится проще. В случае с командой студентов Skillfactory дробление на модули позволило нам спокойно отдать задачу на аутсорс. Также работа с микромодулями означает, что в перспективе спрос на мобильных разработчиков будет расти вместе с развитием сложных приложений.
Персонализация и геймификация интерфейса
Персонализация и геймификация помогают погрузить пользователя в продукт, упростить взаимодействие, задержать его в приложении, замотивировать на определенные действия.
Пример персонализации — это индивидуальные отчеты об использовании сервисов: музыкальные итоги года от стриминга или траты за месяц от банковского приложения. Также на основе данных о поведении и покупках пользователя приложение может предложить персонализированные скидки.
Геймификация работает как система вознаграждений за действия: купи 10 вещей и получи скидку, заходи в приложение каждый день и копи баллы. Иногда это могут быть награды ради наград, которые не конвертируются ни в какие реальные скидки или подарки.
Что это значит для разработчиков? Как и в случае с ИИ, глубоко разбираться с геймификацией и персонализацией не нужно. Все это реализуется на стороне бэкенда. Но если вы понимаете концепцию и как ее использовать, можно генерировать идеи и улучшать продукт с их помощью. Ну и, конечно, чем больше новых фичей захотят внедрить компании, тем больше работы у нас будет.
Так выглядят система бейджей в магазине «ВкусВилл» и индивидуальные отчеты в приложении Tinkoff.