Эта статья изначально была опубликована в моем старом блоге.

Создание кроссплатформенного настольного приложения может быть сложной задачей, но проект GitHub Electron упрощает это. С помощью Angular 2.0 и Office 365 я покажу вам, как создать рабочий стол Office 365 с помощью Electron.

Код проекта доступен на GitHub: https://github.com/Cecildt/angular2-O365-desktop-app

Вы можете выполнить форк кода или оставить отзыв на странице проблем GitHub.

GitHub Electron

Проект GitHub Electron был создан GitHub для простого создания настольных приложений с кроссплатформенной поддержкой. Он возник из их текстового редактора Atom. Electron позволяет создавать кроссплатформенные настольные приложения с использованием веб-технологий. На основе Electron были созданы различные другие популярные приложения, такие как Slack и Visual Studio Code. Больше указано на сайте Electron.

Если вы хотите узнать больше о GitHub Electron, перейдите по этой ссылке: http://electron.atom.io/

Угловой 2.0

Angular 2.0 - это полная переработка фреймворка Angular JavaScript. Вы можете использовать TypeScript для написания вашего приложения, а Angular 2.0 позволяет вам разбивать ваше приложение на более мелкие компоненты, которые упрощают работу. В Angular 2.0 есть больше возможностей, которые я рекомендую вам прочитать.

Если вы хотите узнать больше об Angular 2.0, перейдите по этой ссылке: https://angular.io/

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

API-интерфейсы Office 365

Облачная служба Microsoft Office 365 состоит из нескольких продуктовых служб. У каждой из этих продуктовых служб есть собственный REST API, который вы можете вызывать в своем приложении. Microsoft представила унифицированный API Graph API, который упрощает взаимодействие с различными сервисами продуктов внутри Office 365.

В настольном приложении я решил использовать единый REST API: https://graph.microsoft.io/

Приложение

Я решил, что настольное приложение должно быть простым, поскольку я создал его в качестве учебного опыта, а также облегчил понимание другими. Приложение использует поток неявной проверки подлинности в Azure Active Directory для вашего клиента Office 365. Вам необходимо зарегистрировать приложение в Azure Active Directory как собственное приложение с необходимыми разрешениями. Пошаговая инструкция по регистрации приложения представлена ​​в файле Readme.md в исходном коде проекта.

Приложение отображает следующие области Office 365 для вошедшего в систему пользователя:

  • Файлы OneDrive для бизнеса
  • Контакты
  • Группы
  • Письма
  • Блокноты OneNote
  • Задания
  • Популярный контент
  • Пользователи организации

Это только начало приложения, и в будущем я хочу получить уникальный опыт в этих областях. Вот некоторые будущие улучшения для приложения:

  1. Установите параметры главного меню Electron.
  2. Улучшение обработки ошибок.
  3. Реализуйте лучший дизайн для каждого раздела.
  4. Кнопка ручного обновления для пользователя.
  5. Добавить подкачку контента.
  6. Добавьте D3.js для компонентов приборной панели
  7. Задача настройки производственных сборок.
  8. Создавать модульные тесты (показать модульное тестирование Angular 2.0).

Пользовательский интерфейс приложения основан на Материальном дизайне Google. В частности, я использую фреймворк Material Design Lite. Я действительно хотел использовать Office UI Fabric framework, но из-за ограничений лицензии мне не разрешено использовать Office UI Fabric в контексте этого настольного приложения.

Резюме

Это был большой опыт разработки этого настольного приложения, и я надеюсь, вам понравится код приложения. Я вижу большое будущее для проектов Electron и Angular. Мне очень интересно узнать, что еще я могу сделать с Angular 2.0 и API-интерфейсами Office 365. Если у вас есть отзывы, дайте мне знать в комментариях к статье, в Twitter или на странице проблем GitHub.