Electron
Разработка Desktop-приложений, используя HTML, CSS и JavaScript
Привет!
Меня зовут Дима Васин
Я - Ruby on Rails разработчик в компании Anadea.inc
Мой твиттер: @DmytroVasin
Для кого этот доклад?
Кто слышал или работал с Electron?
1
Что мы будем обсуждать?
2
Что такое Electron:
Кроссплатформенный
Совместимый с Mac, Windows и Linux, электронные приложения создаются и работают на трех платформах.
Открытый
Electron - проект с открытым исходным кодом, поддерживаемый GitHub и сообществом
Современный
Electron использует Chromium и Node.js, поэтому вы можете создавать свое приложение при помощи HTML, CSS и JavaScript.
3
#
Electron приложения:
4
Почему десктоп?
5
Что мы можем сделать:
6
Что мы можем сделать:
7
Что мы можем сделать:
8
Ограничения:
9
Компоненты Electron:
10
Принцип работы:
Процесс рендеринга (Renderer):
отвечает за запуск пользовательского интерфейса вашего приложения
Основной процесс (Main):
отвечает за создание и управление окнами и различными событиями приложения (lifecycle).
Два типа процессов:
11
Принцип работы:
12
Принцип работы:
13
Выглядит очень знакомо
Основной процесс
Процессы рендеринга:
14
Вопрос:
Как они общаются друг с другом?
15
IPC
Главный процесс
Процесс рендеринга
BrowserWindow
Процесс рендеринга
BrowserWindow
IPC:
16
IPC Реализация:
17
Уже установлено: NPM & Node
Первое приложение:
HELLO, WORLD!
18
Первое приложение: “index.html”
19
Первое приложение: “package.json”
20
Первое приложение: “main.js”
21
Place your screenshot here
22
Запуск:
> electron .
23
24
Параметры “Browser Window”:
25
Параметры “Browser Window”:
1
26
Параметры “Browser Window”:
1
27
Упаковка приложения:
electron-builder:
--mac, -m | Build for macOS |
--win, -w, --windows | Build for Windows |
--linux, -l | Build for Linux |
28
Установка приложения: Mac
29
Установка приложения: Windows
30
Автоматические обновления:
31
Автоматические обновления:
32
Отчеты и сбор данных:
33
Хранение данных: FileSystem
Нужно ли мне это?
34
Хранение данных: Key-Value
Встроенное решение:
35
Хранение данных: Реляционная БД
SQLite:
Реляционная БД:
36
Плюсы Electron приложений!
Работа с Web:
37
Плюсы Electron приложений!
Работа с Web:
38
Плюсы Electron приложений!
Работа с Web:
39
Плюсы Electron приложений!
40
Плюсы Electron приложений!
Node:
Работа с Web:
41
Плюсы Electron приложений!
Обьщее:
Node:
Работа с Web:
42
Звучит как магия?
43
Известные проблемы:
Компромиссы:
44
Известные проблемы:
Компромиссы:
45
Известные проблемы:
Компромиссы:
46
Это все проблемы Electron?
47
Разработка должна быть интересной
Прототипирование должно быть быстрым
Инструмент должен решить проблему
Полезные ресурсы:
Версия 2:
Вопросы?
Twitter: @DmytroVasin
Electron:
Build amazing, cross platform desktop apps in one codebase, for any platform, with the modern web stack.
Place your screenshot here