Разработчики Mozilla представили проект WebAPI, который должен заполнить пробел, связанный с отсутствием единого целостного API для взаимодействия с системным окружением, работающего во всех браузерах, независимо от типа операционной системы. В итоге будет создан HTML5 API, стандартизирующий выполнение таких задач, как доступ к адресной книге, камере, часам, системным настройкам, локальной галерее фотографий, функциям телефонии и т.п.. После того как будут подготовлены спецификации и рабочий прототип с их реализацией, наработки WebAPI будут переданы в консорциум W3C для формирования на их основе единого стандарта. В рамках проекта планируется развивать как высокоуровневые API, например, предоставляющие возможность инициировать снимок через встроенную камеру, так и низкоуровневые, например, для работы с USB-устройствами и другим оборудованием. При этом в первое время приоритет будет отдаваться низкоуровневым API, на базе которых в последующем будут создаваться более удобные для разработчиков и более безопасные для конечных пользователей программные интерфейсы. Большое внимание будет уделяться безопасности. Для предотвращения совершения лишних действий будут использованы новые или уже существующие технологии, например, у пользователя будут явно запрашиваться полномочия на выполнение таких операций, как определение текущего местоположения. В любом случае, разработчики попытаются гарантировать, что случайная веб-страница, например, не сможет прочитать список контактов или передать произвольную команду подключённому к компьютеру USB-устройству. В первую очередь через 3-6 месяцев планируется подготовить вариант HTML5 API для использования на телефонах. В настоящее время каждая мобильная платформа продвигает собственный низкоуровневый API для доступа веб-приложений к системным функциям. WebAPI даст возможность создавать универсальные мобильные веб-приложения, которые не привязаны с определённому производителю или типу устройств. Отдельно отмечается, что наиболее вероятно, API для полного доступа к файловой системе (FileSystem API) не будет создан, а в место него для доступа к локальным файлам будет предложено использовать FileReader и FileWriter API, которые работают не с реальной файловой системой, а с виртуальной, построенной с использованием IndexedDB API и изолированной от основной системы.
Источник