Вкратце, это фреймворк для создания кроссплатформенного настольного приложения с использованием веб-технологий.
Повестка дня
- Что веб-приложение НЕ МОЖЕТ делать?
- Почему десктопное приложение?
- .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://electronjs.org
- https://dev.to/akramsaouri_79/common-gotchas-when-working-with-electron-js-4m7n
- https://medium.com/js-imaginea/clustering-inter-process-communication-ipc-in-node-js-748f981214e9
- https://jlord.us/essential-electron/
Спасибо за чтение, пожалуйста, не стесняйтесь комментировать этот пост.