Каких бы вводных слов ни говорилось и каких бы вводных статей по осмыслению и обобщению новых веб-технологий не было бы написано, трудно все-таки отрицать тот очевидный факт, что временами HTML5 похож на слабо структурированную и только чуть упорядоченную кучу разнообразных API различной степени готовности и назначения.
Конечно, когда-нибудь все это придет в стройную систему… или нет. Как бы то ни было, пока многие участники разработки стандартов пытаются систематизировать новые клиентские веб-технологии, дальше всего в этом продвинулись в Mоzillа Foundation, выдвинув концепцию WebAPI (не путать с ASP. NET WEB API) — стек технологий, включающий и местами перекрывающий (по их словам) решения всех встающих перед современным вебом задач.
Вообще, WebAPI — это основа новой операционной системы от Mozilla, изначально разрабатываемой под именем Boot to Gecko (B2G) с 2011 года, но в начале июля 2012 года переименованной в Firefox OS. Впрочем, этот аспект нам не очень интересен. Важно другое. Mozilla декларирует полную открытость проекта Web API, по возможности базируется на уже принятых стандартах, расширяя их в необходимых направлениях. Разработчики проекта намерены передать эталонную реализацию Web API в организацию W3C для утверждения в качестве веб-стандарта. Правда, только после окончания работ по Firefox OS, в 2013 году.
В WebAPI включены как полностью готовые к использованию разработки, так и те технологии, степень готовности которых находится на стадии признания их необходимости.
Давайте посмотрим, что нам обещают, и на этой обнадеживающей ноте завершим наше повествование.
API |
Описание |
Стадия |
WebTelephony |
Позволяет совершать и отвечать на телефонные звонки |
В разработке. Планируется в FirefoxOS |
Vibration API |
Контроль над «осязательным» оборудованием, вибрацией, отвечающей, например, за обратную связь в играх. Не предназначен для работы с вибрацией как уведомлением о звонке |
Реализован в FirefoxOS и Android. Идет процесс стандартизации |
WebSMS |
Прием и передача SMS-сообщений |
Реализован в FirefoxOS и Android. В последнем может быть заблокирован из соображений безопасности |
Idle API |
Получает уведомление, когда пользователь бездействует |
Реализован |
Screen Orientation |
Получает информацию по ориентации экрана в пространстве |
Реализован в FirefoxOS и Android |
Settings API |
Устанавливает все настройки конфигурации системы с периодическим их сохранением на физический носитель, например на SSD-накопители AMD |
В процессе реализации |
Power Management API |
Включение/выключение экрана, процессора прочих аппаратных ресурсов от питания. Контроль над блокированием ресурсов |
В процессе реализации |
Mobile Connection API |
Позволяет установить силу GSM-сигнала, оператора и прочие данные |
Реализован |
TCP Socket API |
Низкоуровневый API TCP-сокетов. Предполагается поддержка SSL |
В процессе реализации |
Geolocation API |
Реализация Geolocation API |
Реализован |
WiFi Information API |
API, дающий полномочия просматривать список доступных WiFi-сетей, а также мощность сигнала и имя текущего соединения |
Начата реализация |
Device Storage API |
Доступ к хранилищу данных на устройстве. Например, к папке «pictures» настольного компьютера или телефона |
Начата реализация |
Contacts API |
Доступ к адресной книге устройства |
Реализован в версии 1, в процессе реализации версии 2 |
API |
Описание |
Стадия |
Mouse Lock API |
Позволяет получить контроль над указателем мыши |
Реализован |
Open WebApps |
Установка веб-приложений и управление ими |
Начата реализация |
WebBluetooth |
Низкоуровневый доступ к Bluetooth-оборудованию |
Реализация близка к завершению |
Network Information API |
Получение базовой информации о текущих сетевых соединениях |
Реализован в Android |
Battery Status API |
Информация о состоянии заряда аккумулятора устройства |
Реализован |
Alarm API |
API для уведомлений, спланированных по времени |
В процессе реализации |
Browser API |
Реализация API-браузера, полностью построенного на веб-технологиях |
Реализован |
Time/Clock API |
Установка текущего времени. Установка Timezone войдет в Settings API |
Реализован |
Web Activities |
Переадресовка запроса действий к стороннему приложению |
Реализация начата |
Keyboard/IME API |
Реализует доступ к виртуальной клавиатуре |
В разработке. Планируется в Firefox OS |
Push Notifications API |
Позволяет платформе открывать окна уведомлений указанным приложениям |
На уровне чернового API |
Permissions API |
Позволяет приложению централизованно управлять всеми разрешениями |
На уровне предложений |
FM Radio API |
Компоненты FM-радио |
В разработке. Планируется в Firefox OS |
FileHandle API |
Возможность блокирующего доступа к файлам на запись |
Реализован |
Планы на будущее
API |
Описание |
Состояние |
Resource_lock_ API |
Допуск к блокированию ресурсов — например, выключению WiFi в спящем режиме |
Завершено |
UDP Datagram Socket API |
Низкоуровневый API для протокола UDP |
Планируется |
USB file-reading API |
Позволяет монтировать USB-накопители в файловую систему |
Планируется закончить в ближайшее время |
API |
Описание |
Состояние |
Camera API |
Часть поддержки технологии WebRTC |
В стадии реализации |
Peer to Peer API |
Часть поддержки технологии WebRTC |
В стадии реализации |
WebNFC |
Низкоуровневый доступ к NFC-устройствам (Near Field Communication — технология беспроводной высокочастотной связи малого радиуса действия) |
Планируется закончить в ближайшее время |
WebUSB |
Низкоуровневый доступ к USB-устройствам |
Планируется |
HTTP-cache API |
API для доступа к http-кэшу браузера — добавление/удаление записей. Установка времени хранения, получение данных из кэша |
|
Calendar API |
Доступ к календарю устройства |
Планируется |
Spellcheck API |
Включает проверку орфографии на странице |
|
Background Services |
Позволяет веб-приложению запускаться в фоновом режиме с возможностью синхронизации и обмена сообщениями между процессами |
На уровне предложений |
LogAPI |
Позволяет регистрировать пользовательскую телефонную активность |
На уровне предложений |
Добавить комментарий