Electron 무겁고 Eel 사용해 보지 않겠습니까? 라는 이야기

7685 단어 ElectronEel

여러분, Electron 사용하고 있습니까?



사쿠토, 앱 만들고 싶을 때 좋네요 Electron.
유명하고.

하지만

Electron 무겁지 않아? 약 60MB


Electron에서 만든 응용 프로그램마다 브라우저를 설치하는 것과 같습니다.

솔직히 만들고 싶은 것에 비해 라이브러리가 너무 큽니다.

Eel의 크기는?



약 30KB(약간 손을 더하고 있다)



Python 자체가 약 170MB 있지만, Electron제 앱을 4,5개 넣으면 날아간다

Eel은 무엇을하고 있습니까?



평평하게 말하면
* Python에서 로컬 서버 시작
* Chrome을 appmode로 시작하고 index.html 경로를 전달합니다.

정도

Chrome 없으면 안돼?



아니
Eel/chrome.py 참고find_chrome_[OS name] 하지만 돌려주는 브라우저의 패스를 바꾸면, Firefox에서도 IE에서도 Edge에서도 Vivaldi에서도 열린다.

실행할 때 작성하는 내용



Electron을 시작할 때



index.js를 준비하십시오 npm run start
package.json(약어)
{
  "scripts": {
    "start": "electron .",
  }
}

index.js
const {app, BrowserWindow, ipcMain} = require('electron');
const isDebug = true;
var win = null;

const createMainWindow = () => {
    isDebug ? console.log(require.resolve('electron')) : void 0;
    win = new BrowserWindow({
        title: '',
        width: 1280,
        height: 720,
        minWidth: 350,
        minHeight: 100,
        alwaysOnTop: false,
        darkTheme: true,
        fullscreenable: true,
        webPreferences: {
            devTools: isDebug
        }
    });
    win.webContents.openDevTools();
    win.loadURL(`file://${__dirname}/index.html`);
    win.on('closed', () => {win = null;});
};

app.on('window-all-closed', () => process.platform !== 'darwin' ? app.quit() : void 0);
app.on('acrivate', () => win === null ? createMainWindow() : void 0);
app.on('ready', createMainWindow);

디렉토리 구성
/
┝ web/
│ └ ........
┝ package.json
┝ index.html
└ index.js

Eel을 시작할 때



main.py 또는 준비 py main.py
main.py
import eel
eel.init('web')
eel.start('index.html')

디렉토리 구성
/
┝ web/
│ └ index.html
└ main.py

매우 간단합니까?

Eel에서 데스톱 앱을 만들 수 있습니까?



할 수 있어. 그래, PyInstaller

좋은 웹페이지 즐겨찾기