Платформа ускорителей в Windows 7
Ускорители для IE8 проектировались с оглядкой на ряд сценариев. Во-первых, мы изучили все общие модели копирования, навигации и вставки, к которым прибегают пользователи, и поняли, что можем сохранить им уйму времени и избавить от чувства разочарования, добавив своего рода контекстное взаимодействие между содержимым и службами. Можно привести классический пример с картами – пользователь находит адрес на странице и вместо того, чтобы идти на веб-узел службы карт может получить встроенную карту благодаря окну предпросмотра:
Мы были очень довольны решением, которое нашли для IE, но затем отвлеклись и спросили, действительно ли пользователей волнует, в какой программе они нашли адрес? Если я просматриваю документ в Microsoft Word и нахожу адрес, не является ли это столь же важным сценарием?
Мы пришли к положительному ответу и создали платформу ускорителей для Windows 7. Как только вы явно вызываете платформу из приложения, у вас появляется доступ ко всем ускорителям, имеющимся в IE, и нет необходимости беспокоится о лежащей в их основе реализации XML. Это позволяет сфокусироваться на предоставлении цельной и мощной среды для пользователей.
Я уже написал ориентированный на разработчиков доклад по платформе, а на MSDN также имеется превосходная документация по всем интерфейсам и методам, так что я не стану углубляться в технические подробности. Вместо этого, я просто пробегусь по некоторым возможностям платформы и покажу рабочий пример.
Функциональность
Одна из классных вещей, касающихся платформы ускорителей – это то, что, по существу, предоставили у вас имеется тот же набор возможностей, что и в IE, для работы с ускорителями. API достаточно гибки, так что у вас есть огромная свобода в настройке взаимодействия программы с платформой.
Всего имеется три обширных класса возможностей, с которыми вы, вероятно, столкнетесь при работе с платформой:
- Перечисление
- Исполнение
- Предварительный просмотр
Перечисление ускорителей очень просто. Все, что нужно, так это связать все ускорители и представить их так, как нравится. IE, например, использует систему «категорий» и «стандартных ускорителей» , чтобы помочь сделать процесс поиска нужного ускорителя проще для конечного пользователя.
Если уж на то пошло, то исполнение еще проще; оно столь же просто, как запуск нового окна обозревателя (не обязательно даже IE) и передача необходимых данных.
Предварительный просмотр немного более сложен и требует от приложения предоставления пользовательского интерфейса для окна предпросмотра. Однако, предварительный просмотр не обязателен для каждого приложения, так что у вас нет причин включать его, если интеграция представляется сложной.
Практический опыт
Платформа представляет собой основу, поэтому мы преднамеренно сделали платформу очень гибкой. Вы можете решить, какой вид взаимодействия с пользователем является лучшим для приложения и встроить его. Например, если вы хотите перечислить все ускорители пользователя в одном меню, безо всякой структуры, это вполне можно сделать. Но это, скорее всего, не лучшая идея.
В то время, как я, безусловно, не собираюсь учить вас жизни, одно важное замечание, которое хотелось бы сделать, заключается в том, что пользователи, знакомые с ускорителями, ожидают определенных шаблонов в дизайне. Поэтому если непосредственно ваши нужды требуют отличного от IE поведения (например, простого перечисления ускорителей поиска), я бы советовал в целях соответствия придерживаться модели IE везде, где это только возможно.
Пример
Я думаю, что заметка в блоге, описывающая какую-либо функцию, не может быть полной без демонстрации, так что хотелось бы показать вам кое-что, что было написано для тестирования платформы:
Это надстройка для Word, которая вызывает платформу для перечисления и исполнения. Я решил не добавлять предварительный просмотр, но вам ничто не мешает сделать его в собственной программе. Если интересно, как сделать нечто похожее на то, что показано выше, ознакомьтесь с документацией, упоминавшейся ранее.
Платформа ускорителей в Windows 7 – это мощный инструмент, позволяющий сделать полезные службы ближе к пользователям. Не могу дождаться приложений, использующих возможности платформы!
Джон Сейтел (Jon Seitel),
руководитель группы разработчиков Internet Explorer