Electron позволяет создавать десктоп-приложения на чистом JavaScript, предоставляя среду выполнения с богатым выбором нативных API (взаимодействующих с операционной системой). Electron можно рассматривать как среду выполнения, схожую с Node.js, но которая ориентирована на десктоп-приложения, а не веб-серверы.
Это не значит, что Electron представляет собой JavaScript, который связывает код с библиотеками графического пользовательского интерфейса (GUI). Вместо этого, Electron использует веб-страницы для создания GUI, и поэтому Electron можно рассматривать как мини браузер Chromium, управляемый с помощью JavaScript.
Electron
Модератор: Olej
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Electron
Ваше первое приложение на Electron
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Electron
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/Electron/first$ pwd
/home/olej/2019_WORK/own.WORK/Electron/first
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/Electron/first$ npm init
npm WARN npm npm does not support Node.js v10.15.2
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.
See `npm help json` for definitive documentation on these fields
and exactly what they do.
Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
package name: (first)
version: (1.0.0)
description: probe
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to /home/olej/2019_WORK/own.WORK/Electron/first/package.json:
{
"name": "first",
"version": "1.0.0",
"description": "probe",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
Is this OK? (yes)
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/Electron/first$ ls
package.json
olej@ACER:~/2019_WORK/own.WORK/Electron/first$ cat package.json
{
"name": "first",
"version": "1.0.0",
"description": "probe",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/Electron/first$ touch main.js
olej@ACER:~/2019_WORK/own.WORK/Electron/first$ cat main.js
const { app, BrowserWindow } = require('electron')
function createWindow () {
// Создаем окно браузера.
let win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true
}
})
// and load the index.html of the app.
win.loadFile('index.html')
}
app.on('ready', createWindow)
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/Electron/first$ touch index.html
olej@ACER:~/2019_WORK/own.WORK/Electron/first$ cat index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
</head>
<body>
<h1>Привет мир!</h1>
Мы используем Node <script> document.write(process.versions.node)</script>,
Chrome <script>document.write(process.versions.chrome)</script>,
и Electron<script>document.write(process.versions.electron)</script>.
</body>
</html>
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/Electron/first$ npm test
npm WARN npm npm does not support Node.js v10.15.2
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/
> first@1.0.0 test /home/olej/2019_WORK/own.WORK/Electron/first
> echo "Error: no test specified" && exit 1
Error: no test specified
npm ERR! Test failed. See above for more details.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Electron
Там у них есть ещё такой пример:Olej писал(а): В общем ... какая-то фигня получается по "документации"... Такое я и сам могу вручную.
Попробуйте этот пример
# Клонируем репозиторий
$ git clone https://github.com/electron/electron-quick-start
# Переходим в папку репозитория
$ cd electron-quick-start
# Устанавливаем зависимости
$ npm install
# Запускаем приложение
$ npm start
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/Electron$ git clone https://github.com/electron/electron-quick-start
Клонирование в «electron-quick-start»…
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 386 (delta 3), reused 0 (delta 0), pack-reused 378
Получение объектов: 100% (386/386), 162.02 KiB | 829.00 KiB/s, готово.
Определение изменений: 100% (185/185), готово.
olej@ACER:~/2019_WORK/own.WORK/Electron$ cd electron-quick-start/
olej@ACER:~/2019_WORK/own.WORK/Electron/electron-quick-start$ ls
index.html LICENSE.md main.js package.json package-lock.json preload.js README.md renderer.js
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/Electron/electron-quick-start$ cat package.json | grep scripts -E2
"description": "A minimal Electron application",
"main": "main.js",
"scripts": {
"start": "electron ."
},
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Electron
Olej писал(а): Там у них есть ещё такой пример:
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/Electron/electron-quick-start$ npm install
npm WARN npm npm does not support Node.js v10.15.2
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/
> electron@5.0.5 postinstall /home/olej/2019_WORK/own.WORK/Electron/electron-quick-start/node_modules/electron
> node install.js
Downloading tmp-16368-1-SHASUMS256.txt-5.0.5
[============================================>] 100.0% of 4.74 kB (4.74 kB/s)
added 145 packages from 141 contributors in 42.753s
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/Electron/electron-quick-start$ npm start
npm WARN npm npm does not support Node.js v10.15.2
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/
> electron-quick-start@1.0.0 start /home/olej/2019_WORK/own.WORK/Electron/electron-quick-start
> electron .
[16541:0627/171630.623960:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/olej/2019_WORK/own.WORK/Electron/electron-quick-start/node_modules/electron/dist/chrome-sandbox is owned by root and has mode 4755.
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/Electron/electron-quick-start$ ls -l /home/olej/2019_WORK/own.WORK/Electron/electron-quick-start/node_modules/electron/dist/chrome-sandbox
-rwxr-xr-x 1 olej olej 5185424 июн 27 17:14 /home/olej/2019_WORK/own.WORK/Electron/electron-quick-start/node_modules/electron/dist/chrome-sandbox
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей