Electron

Вопросы написания собственного программного кода (на любых языках)

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21336
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Electron

Непрочитанное сообщение Olej » 27 июн 2019, 16:41

Ваше первое приложение на Electron
Electron позволяет создавать десктоп-приложения на чистом JavaScript, предоставляя среду выполнения с богатым выбором нативных API (взаимодействующих с операционной системой). Electron можно рассматривать как среду выполнения, схожую с Node.js, но которая ориентирована на десктоп-приложения, а не веб-серверы.

Это не значит, что Electron представляет собой JavaScript, который связывает код с библиотеками графического пользовательского интерфейса (GUI). Вместо этого, Electron использует веб-страницы для создания GUI, и поэтому Electron можно рассматривать как мини браузер Chromium, управляемый с помощью JavaScript.

Аватара пользователя
Olej
Писатель
Сообщения: 21336
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Electron

Непрочитанное сообщение Olej » 27 июн 2019, 16:49

Код: Выделить всё

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.
В общем ... какая-то фигня получается по "документации"... :-o Такое я и сам могу вручную.

Аватара пользователя
Olej
Писатель
Сообщения: 21336
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Electron

Непрочитанное сообщение Olej » 27 июн 2019, 17:08

Olej писал(а): В общем ... какая-то фигня получается по "документации"... :-o Такое я и сам могу вручную.
Там у них есть ещё такой пример:
Попробуйте этот пример
# Клонируем репозиторий
$ 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
Писатель
Сообщения: 21336
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Electron

Непрочитанное сообщение Olej » 27 июн 2019, 17:15

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.
Ну вот и приехали ... с "документацией" :-o

Код: Выделить всё

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
Это явно не то root:root что они пишут, а их SUID сильно настораживает.

Ответить

Вернуться в «Программирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей