Все говорят, что гибридные приложения лучше, чем веб-приложения, потому что, например, веб-приложению трудно получить доступ к аппаратному обеспечению телефона. Но кажется, что приложения HTML5 могут легко получить доступ к камере, файловой системе, GPS и так далее. Итак, я действительно хочу знать, к какому аппаратному обеспечению веб-приложение не может получить доступ?
1 ответ
Невозможно перечислить все устройства, к которым веб-страницы не доступны, потому что потенциально может существовать бесконечное количество устройств. Вы можете перечислить только вещи , которые веб - страницы могут получить доступ.
Я также предполагаю, что вы запрашиваете не только оборудование, потому что, например, файловая система не является аппаратной (и, кстати, веб-страницы не могут получить к ней доступ). Я также перечислю другие вещи, которые кажутся связанными и доступны для веб-страниц.
Вот неполный список того, что могут делать веб-страницы:
- Используйте вашу камеру и микрофон
- Проверьте свое географическое положение
- Храните файлы в частном, изолированном хранилище
- Читать события сенсорного экрана
- Воспроизведение звуков и видео (ограниченный набор поддерживаемых форматов)
- Запускайте изолированные процессы (веб-работники) и общайтесь с ними
- Используйте GPU-ускоренную графику
- Чтение файлов, которые вы явно выбрали
- Общайтесь с другими веб-страницами, которые явно разрешают эти соединения
И вот неполный список того, что веб-страницы не могут сделать:
- Чтение / запись произвольных файлов в / из файловой системы
- Список каталогов файловой системы
- Путь чтения явно выбранных файлов (теоретически возможно, на практике блокируется браузерами)
- Доступ к жесткому диску / устройству хранения (например, чтение необработанных данных, установка разделов и т.д.)
- Общайтесь с любым сайтом в интернете через HTTP (S)
- Связь с любым сервером в Интернете по любому протоколу (но HTTP-соединение может быть переключено на любой протокол через веб-сокет)
- Перечислять экраны
- Определить вид подключаемых экранов и их параметры (разрешение и т.д.)
- Рисовать в любом месте экрана (ограничено окном веб-браузера)
- Доступ к графическому процессору (т. Е. Использовать все его функции, включая GPGPU)
- Взаимодействовать с нативными процессами
- Взаимодействовать с операционной системой
- Перечислять подключенные устройства
- Доступ к принтеру (ограниченная поддержка печати обеспечивается браузером)