Составляя этот путеводитель, я старался освящать тут технологии, которые уже можно не только пощупать и попробовать, но вполне результативно применять. Такой подход кажется мне оптимальным, поскольку я сам являюсь действующим программистом и хорошо представляю, что может быть интересно веб-разработчику здесь и сейчас. Тем не менее пришлось сделать несколько исключений, главным образом потому, что некоторые идеи и технологии, еще не воспроизводимые стабильными версиями браузера, тем не менее хорошо укладываются в русло нового HTML и задают направления развития современному вебу.
Проблема взаимодействия веб-приложений между собой стала особенно актуальна с развитием глобальных социальных сетей и сервисов. Стандартный функционал какого-либо портала может включать, например, возможность отправки сообщений в Twitter, авторизацию через Facebook, интеграцию Яндекс-маркет и возможность оплаты услуг через систему Деньги Online. Все эти и подобные возможности присутствуют в современном вебе. Они реализуются посредством разнообразных модулей интеграции, которые с той или иной степенью успешности делают свою работу, но совершенно не стандартизированы, а главное — намертво привязаны к конкретным приложениям. Это важно, и это плохо — к приложениям, а не к функционализму.
Сами социальные сервисы предоставляют для использования в приложениях API, которые, естественно, разнообразны и разнородны, и это тоже приносит в жизнь веб-разработчика немало разнообразия, без которого вполне можно было бы обойтись.
Раз уж заговорили о социальных сервисах — в наше время они стали не просто средой общения, точками обмена тематической информации, но и рекламными площадками. Если вы занимаетесь продвижением своих товаров и услуг в социальных сетях — вам могут помочь специализированные сервисы, облегчающие мониторинг рекламных постов https://daddyaff.org/obzor-publer-pro/
Технология Web Intents, продвигаемая компанией Google, предлагает веб-приложениям совершенно другой тип взаимодействия. Она происходит из архитектуры Intents, операционной системы Android. Сущность ее в том, что приложения, взаимодействуя с системой, запрашивают у нее выполнения какого-либо действия, а система выдает на это список других приложений, которые заявили о наличии у себя необходимого функционала. Это может быть отправка в сеть фотографии, размещение блоговой записи или любое другое действие, которое может быть выполнено параллельно выполняемыми приложениями.
И вот теперь эта технология адаптируется к взаимодействию вебприложений.
Идея Web Intents — в документации определенного набора действий (intents — намерений), доступных для приложений и требующихся приложениям: редактирование, просмотр, публикация, расшаривание (предоставление своих ресурсов сторонним процессам), — покрывающих большинство взаимодействий и потребностей в веб-среде. Выглядит это следующим образом.
Некий сервис декларирует возможность предоставить осуществление какого-нибудь intents:
<intent
Action=»Http://webintents. org/share» type=»image/*» href=»share. html» disposition=»window|inline»
>
Атрибуты тут имеют следующие значения:
— action — действие, предоставляемое сервисом (обязательный атрибут);
— type — фильтр по типу обрабатываемого ресурса. Как всегда, позволяет не специфицировать тип на любом этапе;
— href — атрибут показывает страницу, загружаемую при осуществлении действия. При отсутствии данного атрибута предполагается, что все будет происходить на текущей ст ранице;
— disposition — может принимать значение window (по умолчанию) или inline, определяя производство действий в новом окне или в контексте той же страницы.
Наиболее типичное использование на стороне приложения будет выглядеть так:
Var intent = new Intent(«Http://webintents. org/share«, «text/uri-list»,
Window. navigator. startActivity(intent):
Пользователь при этом, в случае интерактивного взаимодействия, выбирает из предоставленных сервисов, какой именно он хочет для этого использовать (примерно как на рис. 107).
Приведем более конкретный пример для распространенного itent — edit, предоставляющие различному контенту средства редактирования:
<intent
Act ion=”Http://webintents. org/edit»
Type=”image/*”
Href=»edit. html»
>
В данном случае мы регистрируем intent для редактирования изображений, редактирование будет производиться в отдельном окне с url edit. html.
(Вообще, в стандарте предусмотрено редактирование следующих типов контента: image/* ,udio/* ,ideo/* ,t/uri-list.)
Клиентская часть будет выглядеть следующим образом:
Var intent = new Intent(«Http://webintents. org/edit”) window. navigator. startActivity(intent);
В настоящее время определены схемы для следующих Intents:
— Discover — предоставляет разработчикам запрашивать API внешних сервисов;
— Share — предоставляет механизм расшаркивания данных различных типов;
— Edit — редактирование контента различных типов;
— View — предоставляет механизм просмотра данных различных типов в сторонних приложениях;
— Pick — выбор файлов с сервиса для использования в клиентском приложении;
— Subscribe — предоставляет приложению оформлять подписку на данные с текущей страницы;
— Save — услуги сохранения данных для приложения.
Список не впечатляет? Мало возможностей и расплывчатые формулировочки? Мне тоже так кажется. Но разработчики нам обещают, что по мере роста запросов новые intents будут добавляться к списку. Также планируется возможность создавать и документировать новые виды Intend.
В настоящее время технология WebIntents в браузерах практически не реализована, для того чтобы пользоваться ей уже сейчас, официальный сайт Http://webintents. org рекомендует использовать специальную JavaScript-библиотеку:
<script src=»Http://webintents. org/webintents. min. js»></script>
Что касается полноценного использования — будем ждать, когда браузеры «дорастут».
Добавить комментарий