Компания 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 - доступ к локальным шрифтам.
В Chrome развивается API для создания полноценных пользовательских приложений
Также по теме: