Fathom, новый JS-фреймворк от Mozilla, позволит браузерам «оценивать» веб-страницы с точки зрения человека
Новости Отредактировано
При помощи JavaScript-фреймворка Fathom Mozilla хочет научить браузеры извлекать смысловую нагрузку веб-страниц. Он уже используется в Firefox.
2К открытий2К показов
При помощи JavaScript-фреймворка Fathom Mozilla хочет научить браузеры извлекать смысловую нагрузку веб-страниц.
Эрик Роуз, создатель Fathom, позиционирует его как «мини-язык» для написания семантических извлекателей. Фреймворк уже используется в Firefox совместно с трекером веб-трафика Activity Stream, составляя описания страниц, изображений и других элементов. Эрик отметил:
Хотя Fathom всё ещё находится на ранней стадии разработки, он уже позволяет Firefox распознавать структуру и содержимое страницы. Фреймворк можно использовать в браузерах, расширениях и серверном ПО.
И что может Fathom?
Роуз показал сценарии, в которых Firefox оценивает содержимое страниц точно так же, как и человек. Например, браузер может распознать ссылку для логина и перейти по ней, предоставить сочетание клавиш для отключения уведомлений, спрятать излишне большие секции на устройстве с маленьким экраном и автоматически настроить стили для печати страницы.
Но как он устроен?
Fathom — это язык программирования потоков данных наподобие Prolog. Он извлекает значения веб-страниц, идентифицируя элементы вроде адресных форм, кнопок «Предыдущая / Следующая страница» и текстовых блоков. Фреймворк оценивает и извлекает узлы DOM, опираясь на настроенные под пользователя условия, а система типов и аннотаций выражает зависимости между этапами оценки страницы и управляет состоянием. Уже существующие настройки правил оценки можно расширять, не редактируя их напрямую, что упрощает работу с Fathom третьим лицам.
Наборы правил фреймворка — это данные, похожие на JS-функции, но вызовы создают аннотации в специальной версии синтаксического дерева. Роуз сказал:
Сегодня эта система может автоматически корректировать оценочные константы. Завтра она сможет автоматически генерировать сами правила.
О том, как устроен Fathom, вы можете почитать в статье Эрика, опубликованной в блоге Mozilla Hacks.
2К открытий2К показов