Сравнение надстроек VSTO и Office Web [видео]

Опубликовано: 11 Марта, 2023
Сравнение надстроек VSTO и Office Web [видео]

В недавней статье я описал свой опыт преобразования моей надстройки Microsoft Word VSTO в веб-надстройку Microsoft Word Office. В этой статье и соответствующем видео я расскажу вам о плюсах, минусах и просто различиях между созданием надстроек для Windows и веб-ориентированных надстроек.

[tg_youtube video_id="Z0kBiHR2ZJU"]

Что такое надстройка?

Надстройки — это приложения, которые вы можете создавать, покупать или скачивать бесплатно. Они расширяют возможности Microsoft Office, чтобы помочь вам выполнять задачи, которые в настоящее время невозможны, или сократить утомительные действия. Например, в Microsoft Word нет возможности сохранять документ в формате электронной книги, поэтому я продаю приложение, которое делает именно это.

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

  • Excel: считывайте данные о продажах из таблицы ячеек и размещайте информацию на интерактивной карте Google или Bing.
  • PowerPoint: поиск в каталоге изображений премиум-класса, чтобы оживить ваши презентации.
  • Outlook: самое популярное приложение, о котором все говорят, — это приложение Starbucks, которое позволяет отправлять карты eGift или даже планировать встречи в местном Starbucks.
  • Слово: перевод слов с одного языка на другой.

Надстройки VSTO и Office Web

Существует два распространенных способа создания надстроек Office, наиболее популярным из которых является VSTO (или инструменты Visual Studio для Office), а другим — новый ребенок в блоке, веб-надстройки.

Надстройка VSTO может быть практически любым приложением Windows, которое вы можете придумать. По большей части нет реального различия между приложением Windows и надстройкой VSTO, кроме того факта, что ваше приложение работает только в основном приложении (Word, PowerPoint, Excel и т. д.).

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

В большинстве случаев веб-надстройка может выполнять чтение или запись в ведущее приложение. Например, если пользователь вводит в Microsoft Word и нажимает кнопку вашего приложения, приложение может прочитать этот текст и заменить его испанским эквивалентом .

Причины использования VSTO

Если вы разрабатываете очень сложное приложение, которое должно использовать операционную систему локального компьютера для выполнения определенных функций, то приложение VSTO — это то, что вам нужно. Надстройки VSTO могут работать только в Windows, поэтому вы ограничиваете себя меньшей (но довольно большой) аудиторией.

Еще одна причина использования VSTO — более быстрый цикл разработки. Если вам нужно быстро написать надстройку, то создание единого проекта, содержащего пользовательский интерфейс, бизнес-логику и классы, значительно упростит вам жизнь. У вас не будет ощущения, что вы разрабатываете современное сервисно-ориентированное решение модель-представление-представление-модель, но вы быстро справитесь с задачей.

Каналы сбыта для VSTO

Чтобы развернуть надстройку VSTO, вы обычно распространяете приложение через файл setup.exe или MSI. Если вы работаете в сфере ИТ и хотите развернуть приложение централизованно, вы можете опубликовать его, как и любое другое приложение для Windows. Если вы хотите продать приложение (или раздать его бесплатно), вам необходимо предоставить пользователю установочный файл.

На момент написания этой статьи вы не можете продавать приложения VSTO в онлайн-магазине надстроек Microsoft, поэтому вам нужно будет продавать их через собственный интернет-магазин.

Навыки разработки, необходимые для VSTO

Как минимум, вам потребуются следующие навыки для создания приложения VSTO:

  • C# или Visual Basic (лучшие онлайн-примеры и образцы кода, как правило, написаны на C#).
  • Знание объектной модели Microsoft Office и модели документа.

Причины использования веб-надстроек

Если вы хотите, чтобы надстройка работала в любой операционной системе, например Windows, Android, iOS и других, создайте веб-надстройку. Веб-надстройки не так многофункциональны, как приложение VSTO, но предоставляют другие преимущества. Например, поскольку приложение основано на веб-интерфейсе, оно почти заставляет вас следовать рекомендациям по разделению пользовательского интерфейса и бизнес-логики, а также повторному использованию кода путем создания универсальных веб-сервисов.

Каналы распространения веб-надстроек

Насколько мне известно, Microsoft разрешает пользователям доступ к вашей веб-надстройке только через их интернет-магазин надстроек. В Microsoft Office есть значок , который позволяет пользователю искать приложение и сразу же использовать его. У Microsoft есть решения для ИТ-отделов, которым необходимо развернуть свои приложения для внутреннего персонала.

Навыки разработки, необходимые для веб-надстроек

Поскольку веб-надстройка может работать в любой операционной системе, Microsoft пришлось отказаться от традиции создания опций C# или Visual Basic. Поэтому вам нужно будет написать приложение с использованием веб-технологий, в том числе:

  • JavaScript (для интерактивности).
  • HTML (для пользовательского интерфейса вашего приложения).
  • CSS (для оформления вашего приложения).
  • Знание объектной модели документа хоста.

Технически, это единственные навыки, которые вам нужны для вашего приложения, но если вашему приложению нужно взаимодействовать с веб-сервисами, вам также необходимо знать:

  • Разработка веб-сервисов. Здесь вы можете использовать любой язык программирования, который поддерживает ваша серверная система, например C#, VB, Node.js и т. д. Для создания веб-сервисов вам понадобится веб-сервер или, возможно, вам понадобятся варианты безсерверных вычислений, такие как Microsoft Azure Functions или Лямбда Амазонки.
  • REST (для отправки запросов веб-службе).
  • JSON или XML (для получения и анализа ответа от веб-службы).

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