Разработчики Mozilla представили [1] проект WebAPI [2], который должен заполнить пробел, связанный с отсутствием единого целостного API для взаимодействия с системным окружением, работающего во всех браузерах, независимо от типа операционной системы. В итоге будет создан HTML5 API, стандартизирующий выполнение таких задач, как доступ к адресной книге, камере, часам, системным настройкам, локальной галерее фотографий, функциям телефонии и т.п.
После того как будут подготовлены спецификации и рабочий прототип с их реализацией, наработки WebAPI будут переданы в консорциум W3C для формирования на их основе единого стандарта. Для развития данного проекта компания Mozilla corp. намерена нанять нескольких инженеров для работы над WebAPI в режиме полного рабочего дня. В рамках проекта планируется развивать как высокоуровневые API, например, предоставляющие возможность инициировать снимок через встроенную камеру, так и низкоуровневые, например, для работы с USB-устройствами и другим оборудованием. При этом в первое время приоритет будет отдаваться низкоуровневым API, на базе которых в последующем будут создаваться более удобные для разработчиков и более безопасные для конечных пользователей программные интерфейсы.
Большое внимание будет уделяться безопасности. Для предотвращения совершения лишних действий будут использованы новые или уже существующие технологии, например, у пользователя будут явно запрашиваться полномочия на выполнение таких операций, как определение текущего местоположения. В любом случае, разработчики попытаются гарантировать, что случайная web-страница, например, не сможет прочитать список контактов или передать произвольную команду подключенному к компьютеру USB-устройству.
В первую очередь через 3-6 месяцев планируется подготовить вариант HTML5 API для использования на телефонах. В настоящее время, каждая мобильная платформа продвигает собственный низкоуровневый API для доступа web-приложений к системным функциям. WebAPI даст возможность создавать универсальные мобильные web-приложения, которые не привязаны с определенному производителю или типу устройств.
В списке первоочередных задач упомянуты API, при помощи которых можно будет реализовать следующие типы приложений:
Отдельно отмечается, что наиболее вероятно, API для полного доступа к файловой системе (FileSystem API) не будет создан, а в место него для доступа к локальным файлам будет предложено использовать FileReader и FileWriter API [3], которые работают не с реальной файловой системой, а с виртуальной, построенной с использованием IndexedDB API и изолированной от основной системы.
Ссылки:
[1] /out.php?link=https://hacks.mozilla.org/2011/08/introducing-webapi/
[2] /out.php?link=https://wiki.mozilla.org/WebAPI
[3] /out.php?link=http://www.w3.org/TR/file-writer-api/