Мобильные приложения являются неотъемлемой частью как iOS, так и Android. И с чего мы это решили, что им придёт конец? Всё дело в PWA (Progressive Web Apps). Это веб-приложения, построенные на фронтенд-технологиях (HTML, CSS, JavaScript). Простыми словами, мобильные версии сайтов в будущем заменят мобильные приложения. И не потому, что мы так решили, всё дело в возможностях веба, которые с каждым годом расширяются.
Если раньше сайты отрисовывались на сервере, сегодня многие новые проекты разрабатываются в формате SPA, когда большая часть кода располагается и обрабатывается в браузере. Это позволило разработчикам существенно упростить процесс создания сложных интерфейсов. Среди популярных реактивных библиотек можно выделить React, Vue и Svelte. Именно они и являются основой большинства прогрессивных веб-приложений.
Чтобы лучше понимать, о чем идёт речь, можно взять в пример сайты Facebook, VK или Twitter. Все они написаны с использованием библиотеки React, которая, к слову, разрабатывается самой Facebook, ключевую роль в разработке занимает российский программист Дэн Абрамов. И именно она позволяет приложению быть реактивным и ощущаться на смартфонах как настоящее приложение.
Попробуйте в мобильном приложении Twitter произвести любые действия, например, переключить вкладки. Вы заметите, что страница при этом не перезагружается. В этом и основа реактивности, когда страница работает без перезагрузки. И именно это позволит в будущем отказаться от мобильных приложений.
Но, на самом деле, дело не только в этом. Обычной реактивности недостаточно, чтобы веб-приложение казалось нативным мобильным приложением. Для этого придумали PWA. Это веб-технология, которая позволяет устанавливать реактивные приложения на смартфоны, добавляет поддержку уведомлений, а также стилизует статус бар под цвет приложения и убирает интерфейс браузера.
Читайте также: Надоел Google Play Store? Вот вам лучшие альтернативы
Сама технология работает в браузере, поэтому есть еще один важный момент, который может повлиять существенно на популяризацию PWA — это API, которое предоставляет браузер. Например, Chrome сегодня позволяет разработчикам получать множество различной информации, взятой из операционной системы. Это и наличие активной темной темы, информация о количестве зарядка на смартфоне, о размере оперативной памяти и так далее. Например, перейдя на какой-либо ресурс на вашем гаджете, тема сайта может автоматически подстроиться под тему вашей операционной системы. Круто, не правда? Можете проверить реактивность веб-версии Telegram, перейдя по этой ссылке.
Примеры PWA-приложений:
Калькулятор
Instagram
Twitter Lite
Магазин PWA-приложений
Кроме того, уже сейчас магазин приложений Google поддерживает PWA в режиме TWA (Trusted Web Activity). Таким образом разработчики могут с легкостью внедрять свои JavaScript-приложения прямиком в Google Play без необходимости разрабатывать полноценное нативное мобильное приложение. И это именно то, к чему в будущем придет рынок мобильного ПО, в этом я не сомневаюсь.
Бизнес всегда стремится уменьшить расходы на разработку. Так появился Electron — библиотека JavaScript, которая позволяет на основе веб-технологий разрабатывать десктопные приложения (Notion, Slack и другие).
В настоящее время на рынке разработки мобильных приложений популярен Flutter. Это SDK от Google, с ним разработчики могут создавать мобильные приложения для iOS и Android одновременно без необходимости отдельно писать код на Swift и Kotlin. На мой взгляд, это промежуточный этап, в конце нас ждёт полноценный приход PWA, просто потому, что теперь бизнесу не нужно будет тратиться даже на Flutter — достаточно одного веб-приложения.
Еще одной интересной технологией является проект Houdini, разрабатываемый Google. С помощью него веб-приложения станут крайне гибкими в вопросе внешнего оформления. Вот простой пример: