`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Новому офису — новые приложения

+88
голосов

Своими незыблемыми позициями на рынке офисный пакет от Microsoft обязан не только хорошей функциональности «из коробки», но и широким возможностям для ее расширения, эволюционировавшим одновременно с развитием технологий.

Поначалу это были макросы на Basic-подобных языках, затем подключаемые COM-модули и относительно недавно — расширения, создаваемые с помощью инструмента Visual Studio Tools for Office (VSTO), который позволил использовать для программирования в среде офисного пакета всю мощь .NET Framework. Превращая Microsoft Office в платформу, в Рэдмонде не только беспокоились о потребностях пользователей, но и смотрели далеко вперед, подготавливая «золотые парашюты», — термин из корпоративного управления вполне уместен в данном контексте, поскольку переход к конкурирующим решениям действительно окажется весьма дорогим. Поэтому вполне ожидаемо, что одновременно с экспансией в «облака» потребовалась и новая платформа для офисных приложений, максимально соответствующая общим тенденциям.

В июле этого года, вместе с началом публичного тестирование пакета Office 2013 и SharePoint 2013 была представлена и новая концепция офисных расширений, которые стали называться полноценными приложениями — Apps for Office/SharePoint. Упрощенно их можно представить в виде веб-страниц, которые создаются с помощью HTML5, XML, CSS3, JavaScript и REST API и исполняются в контексте приложений Office. Кроссплатформенность используемых технологий позволяет добиться высокой переносимости: такие приложения могут работать практически в любой среде — а это уже не только настольные Windows, но и Mac OS X, «облака» (Office Web Apps и Office 365), Windows RT и Windows Phone, и даже конкурирующие мобильные платформы Android и iOS. Но в первую очередь поддержка приложений нового типа появится именно в Office 2013 для Windows, а также в облачном Office 365.

Типы приложений

Технически Apps for Office напоминают собой обычные веб-сайты со всеми присущими им атрибутами: HTML-страницами, файлами JavaScript и CSS-стилей. Связующим звеном между приложением и Office выступает манифест — XML-файл, в котором задаются такие параметры, как уникальный идентификатор, название, версия, информация о локализации, а также контекст, требуемые разрешения от соответствующих офисных приложений и пр. Здесь же задается тип расширения, который зависит от конкретного приложения Office:

Новому офису — новые приложения

Новому офису — новые приложения

Упрощенно приложения нового типа можно представить в виде HTML-страницы и JavaScript-кода, связанного с Office посредством XML-манифеста

Приложения типа «Область задач» открываются в отдельной панели рядом с документом и позволяют выполнять определенные задачи в зависимости от контекста, подобно тому, как используются стандартные области задач в приложениях Office. Такое решение хорошо подходит для реализации различных вспомогательных функций: справочников, информеров, текстовых коммуникаций и пр. Приложения могут взаимодействовать с текущим документом, считывать или записывать в него данные, но сами по себе не являются его частью. В общем случае они без модификации могут использоваться одновременно в Excel, Word и Project.

Приложения типа «Содержимое» интегрируются с документом и становятся его частью. Они позволяют встраивать непосредственно в документ различные элементы, которые, поскольку речь идет об Интернет-технологиях, могут заимствоваться из Сети: видеоролики, фрагменты карт с наложенными на них данными, метеорологическую информацию, биржевые котировки и пр. Встраивание возможно в Excel и Word.

Новому офису — новые приложения

Приложения разных типов могут использоваться совместно при работе над одним документом

Приложения типа «Почта» создаются только для Outlook и требуют для своего функционирования Exchange 2013, протоколы POP и IMAP, к сожалению, не поддерживаются. Эти приложения отображаются рядом с просматриваемыми элементами Outlook (не только сообщениями, но и элементами календаря, встречами и пр.) и позволяют получить доступ к содержимому элемента, что может быть полезно, например, при извлечении и отображении данных о клиенте из CRM-системы, а также в других схожих сценариях.

Что касается возможностей приложений, то они могут делать практически все, что доступно обычным веб-страницам, включая построение пользовательского интерфейса с применением JavaScript и CSS, использование библиотек вроде jQuery (эта библиотека, кстати, подключается при создании проекта по умолчанию), а также использовать веб-сервисы или серверную логику независимо от технологии, с помощью которой она реализована, будь то PHP или ASP.NET. Разумеется, приложения получают доступ к данным документов Office, но он отличается в зависимости от типа приложений: для «Областей задач» и «Содержимого» программный API позволяет читать и записывать документы, а также реагировать на определенные события, к примеру, на изменение выделенной области; для «Почты» существует возможность получить доступ не только к элементам Outlook, но и выполнять некоторые операции при помощи служб Exchange Web Services. Имеются и ограничения — все приложения исполняются в браузерной песочнице, не имеют доступа к физической машине, не могут использовать сторонние исполняемые файлы, .dll-библиотеки или компоненты ActiveX, а также не могут создавать модальных окон, блокирующих пользовательский ввод.

Приложения для SharePoint несколько выбиваются из общего ряда, поскольку сам SharePoint является серверным решением. Соответственно и технологии для их построения используются преимущественно не клиентские, а серверные, в частности, ASP.NET. Впрочем, без клиентских также не обойтись — они задействованы в пользовательском интерфейсе.

Исполнение приложений

Исполнение Apps for Office в десктопном Office 2013 происходит под управлением Internet Explorer, обеспечивающего для них родительский процесс. Среда исполнения Apps for Office Runtime отвечает за межпроцессное взаимодействие и транслирует вызовы JavaScript API библиотеки Office.js в вызовы «родных» функций самого Office 2013, она же обеспечивает отображение пользовательского интерфейса приложений или встраиваемых в документ фрагментов. На следующем рисунке представлено исполнение приложений Apps for Office в этом варианте.

Новому офису — новые приложения

Исполнение приложений Apps for Office в десктопном варианте предполагает использование Internet Explorer

В случае запуска приложений в контексте Office Web Apps, схема работы значительно упрощается — приложение помещается в iframe и, разумеется, исполняется в одном и том же браузере вместе с самим родительским веб-приложением. Доступ к API последнего осуществляется посредством той же JavaScript-библиотеки Office.js, однако ее работа адаптируется к текущему сценарию. Примечательно, что само приложение может даже не знать, в каком контексте оно используется, а его код остается неизменным. На следующем рисунке представлена работа Apps for Office в случае использования с Office Web Apps.

Новому офису — новые приложения

В случае запуска приложений в Office Web Apps, они исполняются в том же браузере

Средства разработки

Подобно тому, как веб-сайты можно создавать при помощи любого, даже самого примитивного текстового редактора, теоретически и Apps for Office можно программировать буквально «на коленке». Тем не менее, подобный сценарий разработки приложений маловероятен, хотя бы потому, что обеспечить взаимодействие с API приложений Office без вспомогательных механизмов будет весьма непросто. Поэтому лучший вариант — воспользоваться средствами разработки от Microsoft, которые традиционно для компании выполнены на весьма высоком уровне. В первую очередь следует отметить бета-версию специального SDK для Visual Studio 2012, который хоть и бесплатен сам по себе, но требует коммерческую редакцию IDE — судя по примечанию на сайте загрузки, в бесплатной редакции Express он работать не будет. Помимо средств VSTO, обновленных с целью поддержки Office 2013, он содержит и дополнительный раздел, открывающий доступ к двум новым группам приложений: App for Office 2013 и App for SharePoint 2013.

Новому офису — новые приложения

В Office SDK для Visual Studio появились две новые группы приложений

Поскольку список новых типов приложений, как мы уже знаем, не ограничивается двумя, то в случае выбора пункта App for Office 2013 разработчику в следующем окне необходимо будет уточнить, какое именно приложение он собирается создать. Отметим, что подобный подход более удобен, чем тот, который был впервые представлен в VSTO (и, к слову, сохранен до сих пор, достаточно перейти в соответствующий раздел окна создания проекта), когда разные типы приложений идут общим списком, и выбор наиболее подходящего для конкретной задачи далеко не всегда очевиден.

Новому офису — новые приложения

Создание проекта в Visual Studio предваряет диалоговое окно, позволяющее уточнить его тип и задать область применения

Как и следовало ожидать, среда разработки офисных приложений при помощи Visual Studio является весьма комфортной — здесь и удобный текстовый редактор с подсветкой синтаксиса, и средства визуального проектирования, и менеджер файлов, а также, традиционно отличный отладчик. Вероятно, следует упомянуть, что в целом создание приложений Apps for Office при помощи Visual Studio практически ничем не отличается от создания веб-сайтов в этой же среде, при разработке офисных приложений применяются даже элементы управления из традиционно «не офисной» вкладки HTML.

Новому офису — новые приложения

Среда разработки Apps for Office в Visual Studio полностью повторяет веб-разработку, эргономика которой в этой IDE выверялась годами

Но если с Visual Studio все вполне предсказуемо, то еще одним инструментом Microsoft, откровенно говоря, смогла удивить — речь идет об онлайновом решении с кодовым названием Napa, который доступен для установки из панели администратора Office 365. Инструмент бесплатен и доступен для любого пользователя, при его запуске открывается окно, предлагающее выбрать тип создаваемого проекта и задать его название.

Новому офису — новые приложения

Napa устанавливается администратором Office 365 и доступен для любого пользователя

Далее разработчик попадает в своеобразную IDE, исполняемую внутри браузера, которая выглядит достаточно просто, но, тем не менее, обладает вполне приличными возможностями — к примеру, текстовый редактор поддерживает не только подсветку синтаксиса, но и подсказки IntelliSense, вставляет шаблоны кода, выделяет ошибки/предупреждения, а также выполняет автоматическое форматирование. Napa позволяет запустить проект на выполнение, при этом наличие установленного в системе Office 2013 не обязательно — если такового не обнаружится, будет запущена соответствующее веб-приложение. Приложения для SharePoint выполняются в контексте облачного сервиса Office 365. Встроенного в IDE отладчика нет, но если учесть, что программирование для офисного пакета фактически осуществляется на JavaScript, то можно применять любые сторонние средства, а во многих случаях будет достаточно отладчика, встроенного непосредственно в браузер (в Internet Explorer и Chrome он вызывается по F12). При наличии Visual Studio, нажатием специальной кнопки можно открыть проект и в этой IDE. Помимо прочего, Napa позволяет публиковать приложение в рабочую среду, не прибегая для этого к сторонним инструментам.

Новому офису — новые приложения

IDE Napa обладает незамысловатым интерфейсом, но за простотой скрыты недюжинные возможности и удобство использования

Вряд ли Napa будет использоваться профессиональными разработчиками в качестве основного инструмента, поскольку конкурировать с Visual Studio в этом качестве весьма тяжело, но если принять во внимание доступность и возможность запуска в любое время в любом месте, было бы подключение к Интернету, то он выглядит вполне привлекательно и для профессионалов, которым, скажем, может понадобиться внести правки в готовый проект «здесь и сейчас». Для любителей же Napa будет настоящим открытием — они оценят простой, сфокусированный на своей задаче и не перегруженный сторонними элементами инструмент с достаточным набором возможностей, к тому же бесплатный и не требующий каких-либо дополнительных предустановленных компонентов — для полного цикла разработки достаточно всего лишь браузера.

Публикация приложений

В Microsoft позаботились не только о создании приложений, но и об их распространении. В первую очередь речь идет об Office Store — централизованном магазине приложений, в котором сторонние разработчики могут размещать результаты своего труда как бесплатно, так и на коммерческой основе. Идея подобного магазина вполне соответствует духу времени, к тому же для Microsoft Office она особенно актуальна, ведь рынок различных надстроек, шаблонов и макросов для офисного пакета сформировался достаточно давно, но единого канала их распространения до сих пор не было, что ограничивало и разработчиков, и пользователей. Стоит отметить, что магазин предполагает премодерацию, т.е. приложения в нем должны соответствовать определенным критериям качества и безопасности. Чтобы попасть в магазин, пользователю достаточно нажать на соответствующую кнопку прямо в офисных приложениях Office 2013.

Новому офису — новые приложения

Магазин Office Store доступен из офисных приложений по одному щелчку мыши

Не остались без внимания и корпоративные клиенты, для которых существуют три дополнительных способа публикации приложений: это может быть каталог приложений на корпоративном SharePoint-сервере или на сетевом ресурсе, а также каталог Exchange-сервера, который доступен только для почтовых приложений.

Заключение

Получая основной доход от продажи классических настольных и серверных приложений, Microsoft достаточно долго нащупывала свою стратегию по отношению к Интернету. Но задержка оправдалась и найденное в итоге решение в виде Office 365, на наш взгляд, является лучшим из возможных: не отказываясь от традиционных продуктов, которые все еще востребованы сами по себе, в Рэдмонде смогли дополнить их качественными веб-компаньонами и соответствующей онлайновой инфраструктурой, добившись в итоге синергетического эффекта, позволяющего говорить о новом качестве решений.

Соответственно, нет ничего удивительного в том, что обновление потребовалось и для подходов к расширению функциональности базовых приложений. Выбор стандартных веб-технологий, основанных на HTML/CSS/JavaScript также вполне предсказуем и оправдан, в особенности, если принять во внимание движение в их сторону в новой Windows 8 и очевидное охлаждение к Silverlight. Наверное, нельзя упустить из виду и тот факт, что компания провела определенный ребрендинг в отношении наименования офисных расширений — теперь они называются не просто надстройками или дополнениями, но приложениями, что само по себе, видимо, призвано несколько повысить их значимость. Все предыдущие технологии — VBA, COM, VSTO — также сохранены и обновляются вместе с самим Office, однако им уготована доля поддержки унаследованных решений и наиболее очевидный признак этого состоит в том, что путь в Office Store для созданных с их помощью приложений заказан.

В итоге остается только сказать, что представленная Microsoft концепция Apps for Office, дополненная отличными инструментами разработки и централизованным магазином приложений, выглядит весьма многообещающе. Разработчикам стоит как можно скорее обратить внимание на новый канал распространения своих решений — может быть рынок на первых порах и не будет поражать воображение своими масштабами, если сравнить его, к примеру, с мобильным, но зато в платежеспособности потенциального покупателя сомневаться не приходится.

+88
голосов

Напечатать Отправить другу

Читайте также

Алегорически приятно видеть - как радуются автолюбители на "девятках" при взгляде на чужой спорткар в люксовой комплектации. Причём, соотношение одних и других, на рынке - сравнимо.

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT