Web as Native
WebView и Web as Native
WebView — встроенный в мобильное приложение компонент, который отображает веб-страницы (HTML, CSS, JavaScript) внутри приложения.
WebView = браузерный движок внутри приложения
Важно:
- это не отдельное приложение (не Chrome/Safari)
- он управляется нативным кодом
- пользователь не видит, что это веб
Web as Native — подход, при котором веб-интерфейс используется как мобильное приложение.
Web — интерфейс и часть логики
- рисует UI
- обрабатывает пользовательские сценарии
Native — оболочка (контейнер)
- открывает экраны
- управляет WebView
- даёт доступ к функциям устройства
WebView — инструмент
Web as Native — архитектурный подход
Большинство «Web as native»-реализаций используют WebView как основной инструмент.
Как работает WebView
- Приложение создаёт WebView
- Передаёт URL
- WebView загружает страницу
- Отрисовывает интерфейс
- Пользователь взаимодействует с ним
Если нужен доступ к устройству — используется bridge (API между Web и Native внутри приложения.)
Типы WebView
Существует два разных типа WebView.
| Тип | Описание | Где используется |
|---|---|---|
| Системный | Компонент операционной системы, обновляется отдельно от приложения через магазин приложений или OTA-обновления | Android (WebView), iOS (WKWebView) |
| Встроенный | Браузерный движок внутри самого приложения (поставляется как библиотека) | Cordova, старые версии приложений, кастомные браузеры |
Почему важно:
- Системный WebView получает обновления безопасности и веб-стандартов независимо от приложения.
- Встроенный нужно обновлять вместе с приложением — выход новой версии браузера требует перевыпуска приложения в магазинах.
- На iOS все WebView — системные (WKWebView). На Android — обычно системный, но технически можно встроить Chromium в приложение.
Архитектура решения
Пользователь
↓
Мобильное приложение
↓
WebView
↓
Web Frontend
↓
Backend API
Важно:
- WebView — только “контейнер”
- вся логика чаще всего в вебе