Вкратце, это фреймворк для создания кроссплатформенного настольного приложения с использованием веб-технологий.

Повестка дня

  • Что веб-приложение НЕ МОЖЕТ делать?
  • Почему десктопное приложение?
  • .Net + моно + Xamarin
  • Что такое Электрон?
  • Электронная история?
  • Электронные факты?
  • Приложение, встроенное в Electron
  • Архитектура
  • База данных
  • Распределение
  • Электронная кузница

Что веб-приложение НЕ МОЖЕТ делать?

  • Работа с периферийными устройствами и другим локальным оборудованием
  • Редактировать любые локальные файлы
  • Для приложений профессионального уровня

Почему десктопное приложение?

  • В автономном режиме, принтеры, устройства и другое локальное оборудование
  • Управление файлами, резервное копирование, редактор
  • Тайм-менеджмент, Игры, Медиаплеер

.Net + моно + Xamarin

Плюсы: общая база кода .NET.

Минусы:

  • Xamarin Mac !== Xamarin iOS/Android
  • Родной пользовательский интерфейс сложен
  • Лицензирование

Что такое Электрон?

Вкратце, это фреймворк для создания кроссплатформенного настольного приложения с использованием веб-технологий.

Плюсы:

  • HTML, CSS, Javascript
  • NodeJs + Хром
  • Нет зависимостей развертывания

Минусы:

  • HTML, CSS, Javascript
  • Серьезно, Джаваскрипт
  • Нативные модули в C/C++

Электронная история?

Электронные факты?

  • Библиотека с открытым исходным кодом от Github.
  • Первоначально был написан для ATOM (ранее известного как Atom Shell).
  • Общий код/интерфейс
  • Используйте мощь Node (6.3.0) и Chromium (52.0.2743.82 V8: 5.2.361.43) вместе, объедините их в единую среду выполнения.
  • Быстрое развитие
  • Только один новейший и лучший браузер,
  • Приложение автоматически обновляется с помощью Squirrel
  • Виндовс, МакОС, Линукс
  • Нативный UX

Приложение, встроенное в Electron

Архитектура

  • Архитектура: IPC

IPC (межпроцессное взаимодействие)

  • Протокол, используемый в приложениях Election для обеспечения связи между его процессами (Main, Render).
  • Модуль: ipcMain, ipcRender
  • База на EventEmitter: прослушивание и отправка событий

База данных

На ваше усмотрение (поддерживается NodeJ):

  • местное хранилище
  • индексированная БД
  • Постгрес
  • монгодб
  • MySQL

Распределение

  • Окна
  • nsis (установщик), nsis-web (веб-установщик), портативный
  • AppX, Белка.Windows
  • macOS: dmg, pkg, mas, mas-dev
  • Linux: AppImage, snap, rpm, pacman, p5p, apk, deb

Электронная кузница

Полный инструмент для создания современного приложения Electron.

https://github.com/electron-userland/electron-forge

использованная литература

Спасибо за чтение, пожалуйста, не стесняйтесь комментировать этот пост.