Electron 重いし Eel 使ってみない?ってお話
皆さん、Electron 使ってる?
さくっと、アプリ作りたいときにいいですよねElectron。
有名ですし。
でも
Electronで作ったアプリケーション毎に、ブラウザインストールしているようなものですもの。
正直、作りたいものに比べて、ライブラリが大きすぎる。
Eelのサイズは?
約30KB(多少手を加えてはいる)
Python自体が約170MBあるけど、Electron製アプリを4,5個入れたら吹っ飛ぶ
Eelって何をやっているの?
平たく言うと
* Pythonでローカルサーバ立ち上げ
* Chromeをappmodeで起動してindex.htmlのパスを渡す
くらい
Chromeないとダメ?
No
Eel/chrome.py
を参考に
find_chrome_[OS name]
が返すブラウザのパスを変えれば、FirefoxでもIEでもEdgeでもVivaldiでも開ける。
実行するときに書くもの
Electronを始めるとき
index.js とかを用意して npm run start
{
"scripts": {
"start": "electron .",
}
}
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
import eel
eel.init('web')
eel.start('index.html')
/
┝ web/
│ └ index.html
└ main.py
超簡単でしょ?
Eelでデストップアプリはできるの?
できるよ。そう、PyInstallerがあればね
Author And Source
この問題について(Electron 重いし Eel 使ってみない?ってお話), 我々は、より多くの情報をここで見つけました https://qiita.com/mafumafuultu/items/317c05fe7d74e77aaaef著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .