Полина из Urban University: Как поменялась android-разработка за последние 5 лет?


Android-разработка, как и вся отрасль программирования, за последние 5 лет претерпела значительные изменения, которые оказали существенное влияние на процесс создания и развитие приложений. Вот ключевые аспекты этих изменений:

Полина из Urban University: Как поменялась android-разработка за последние 5 лет?
Переход на Kotlin
Невозможно обойти активное внедрение Kotlin в качестве основного языка для разработки Android приложений. Kotlin предлагает более современный и лаконичный синтаксис, улучшенную типобезопасность и поддержку кортежей, что упрощает написание и чтение кода. Google официально поддержал Kotlin как первый приоритетный язык для Android разработки, что привело к широкому распространению его использования.
Если делиться личными впечатлениями, то в момент перехода было немного некомфортно, тк непривычно, но это длилось очень недолго. По словам коллег, абсолютное большинство сразу полюбили сокращенный формат кода в новом стиле.
Поддержка многомодульности
Android Studio теперь поддерживает многомодульную архитектуру приложений, что позволяет разделять код на независимые модули, упрощая управление зависимостями и масштабируемость проектов. Многомодульная структура стала стандартом для крупных и сложных приложений, обеспечивая лучшую организацию и гибкость разработки.
Это здорово упрощает работу над новыми фичами в уже существующем приложении.
Архитектурные шаблоны
Рост популярности архитектурных шаблонов, таких как MVVM, Clean Architecture и MVI, привел к повышению структурности и тестируемости кода. Эти шаблоны помогли разработчикам улучшить управление состоянием и разделение ответственности между различными компонентами приложения.
В реальной практике не на всех проектах удается придерживаться классических архитектурных шаблонова, но все же растет “общий уровень грамотности”, что облегчает понимание того, как мы с командой стремимся выстраивать приложение.
Cloud-Native и Serverless
Развитие облачных сервисов и инфраструктуры как сервиса (IaaS) привело к росту популярности cloud-native подходов и serverless архитектуры. Это позволило разработчикам сосредоточиться на бизнес-логике, делегируя инфраструктурные задачи сторонним платформам, таким как Firebase и AWS.
По собственным ощущениям, хочется поделиться, что разница действительно колоссальная, эти помощники разделили мобильную разработку на до и после. Значительная часть работы приложения выстраивается с помощью работы через облако, а значит, в разработке приложения можно сосредоточиться исключительно на внутренних задачах.
Искусственный интеллект и Machine Learning
Интеграция искусственного интеллекта и машинного обучения в приложения стала более доступной и широко используемой. Firebase ML Kit и TensorFlow Lite сделали возможным использование нейронных сетей прямо на устройстве, что улучшило производительность и автономность приложений.
В лично моей практике еще не привелось внедрять ИИ в приложение, но действительно активно растет число сфер, где это удобное дополнение для пользователей(например, обработка голосовых команд, редактирование фото и видео, анализ финансовых отчетов в инвестировании и тд)
Виртуальная и дополненная реальность
ARCore и Vulkan EGL для Android предоставили мощные инструменты для создания приложений с использованием виртуальной и дополненной реальности. Это открыло новые возможности для интерактивных и иммерсивных приложений.
Не так давно AR-приложение Pokémon GO завлекла тысячи и тысячи пользователей по всей стране. Увлекательная игра по поиску виртуальных покемонов в реальном мире завладела вниманием людей разных возрастов, но в основном подростков, конечно. Но есть и не только игровые сферы, где это удачное решение. Можно “примерить” мебель к дизайну, макияж или прическу, рассмотреть любую планету со всех сторон в приложении NASA App… И перечень становится с каждым годом только шире .
Security and Privacy
Усиление мер безопасности и конфиденциальности стало критически важным аспектом разработки. Google представил новые API и политики, направленные на защиту данных пользователей и повышение уровня безопасности приложений. Это, конечно, иногда выглядит как добавление головной боли разработчикам, но как пользователи, мы должны радоваться и ценить такое щепетильное отношение к аспектам безопасности наших собственных данных.

Эти изменения отражают стремление индустрии к улучшению качества, масштабируемости и безопасности приложений, а также к предоставлению разработчикам более мощных и удобных инструментов для достижения этих целей.