Компания Google представила инициативу по добавлению в браузер Chrome программных интерфейсов, позволяющих создавать web-приложения, близкие по своим возможностям к обычным самодостаточным пользовательским программам. Указанные API дадут возможность использовать браузер в качестве напоминающей Cordova или Electron платформы для разработки программ, предоставляющей доступ к расширенным возможностям операционной системы и оборудования.

Основной целью инициативы является стирание различий в возможностях web-приложений и обычных программ. Разработка необходимых для достижения данной цели API будет полностью открытой и прозрачной с последующим продвижением API в W3C в качестве web-стандартов. В процессе разработки API будут учитываться отзывы разработчиков и производителей других браузеров.

Первым из программных интерфейсов предложенных для оценки стал API Writable Files, предоставляющий web-приложению прямой доступ к локальной файловой системе. При помощи данного API можно создавать работающие в браузере редакторы и интегрированные среды разработки, напрямую обращающиеся к файлам и каталогам. Вместо выбора файла при помощи стандартного диалога открытия файла и последующей загрузки результата и использования диалога сохранения файла, новый API позволяет как в обычных приложениях посматривать содержимое каталогов, открывать и перезаписывать файлы.

Для исключения рисков, связанных с безопасностью, выполняемые через API операции полностью контролируются пользователем, который определяет к каким именно файлам и каталогам web-приложению можно предоставить доступ (каждая попытка открытия файла на запись или чтения приводит к выводу диалога подтверждения операции).

Некоторые другие API, находящиеся в разработке:

  • Scheduled Notification (Event Alarms) — чем-то напоминает сервис Cron и позволяет выполнять произвольные работы в определённый момент в будущем;
  • Web Share Target — организация обмена данными между пользователями;
  • Async Сookies — асинхронные операции с хранилищем Cookie;
  • Wake Lock — отключение автоблокировки экрана;
  • WebHID — низкоуровневый доступ к HID-устройствам (Human interface device);
  • User Idle Detection — определение времени неактивности пользователя и факта блокировки экрана;
  • Local Font Access — доступ к локальным шрифтам.