Slide 1

Slide 1 text

Eelで作ってみる Eelで作ってみる Eelで作ってみる Eelで作ってみる Eelで作ってみる Eelで作ってみる WHOISアプリと WHOISアプリと WHOISアプリと WHOISアプリと WHOISアプリと WHOISアプリと スライド スライド スライド スライド スライド スライド @attakei みんなのPython勉強会 / 2018-02-07

Slide 2

Slide 2 text

Kazuya Takei @attakei 個人扱い(電撃的にLTしてるので) 中央区でサーバサイド寄りエンジニアしてます 誰?

Slide 3

Slide 3 text

Eel A little Python library for making simple Electron-like HTML/JS GUI apps

Slide 4

Slide 4 text

現在のバージョンは、0.9.1 2017年末ぐらいに公開された模様 1756 Stars 何するやつか Electron的なアプリをPythonで作るライブラリ メイン処理的な部分を、Pythonで書けるっぽい その他 What is Eel https://github.com/ChrisKnott/Eel 今月の頭に、MOONGIFTで紹介されていました。

Slide 5

Slide 5 text

Demo Demo Demo Demo Demo Demo

Slide 6

Slide 6 text

WHOIS Zone 調べる

Slide 7

Slide 7 text

デモ中身 デモ中身 デモ中身 デモ中身 デモ中身 デモ中身

Slide 8

Slide 8 text

Python side import eel from whois import whois @eel.expose # <-- def get_whois(zone): w = whois(zone) return str(w) eel.init('web') eel.start('slide.html')

Slide 9

Slide 9 text

JS side document.getElementById('demo-zone-btn').addEventListener('click', () => { var val = document.getElementById('demo-whois-input').value; eel.get_whois(val); // <-- Python let register = await eel.get_whois(val)(); document.getElementById('demo-zone-output').innerText = register; });

Slide 10

Slide 10 text

__init__.py browsers.py ちょっとだけEelの中身 import bottle as btl, bottle.ext.websocket as wbs import eel.browsers as brw def start(*start_urls, **kwargs): # ( ) brw.open(start_urls, options) run_lambda = lambda: btl.run(host=options['host'], port=options['port'], serv # ( ) import webbrowser as wbr, sys, subprocess as sps, os # ( ) def open(start_pages, options): # ( ) sps.Popen( [chrome_path, '--app=%s' % url] + options['chromeFlags'], stdout=sps.PIPE, stderr=sps.PIPE) # ( )

Slide 11

Slide 11 text

bottle

Slide 12

Slide 12 text

Pros コアな処理をPythonで書ける そして表現をHTMLで書ける Cons デフォルトのChromeを呼び出すのでChromeのインストール 必須 例えば呼び出し時に、Chrome Portableにすれば? macだと、閉じてもChromeが残る ???s ウィンドウを複数立ち上げて協調動作させられる可能性 Pros/Cons

Slide 13

Slide 13 text

おまけ ちなみに イールとは ウナギのことだ カバヤキにすると うまいぞ。

Slide 14

Slide 14 text

〜 終 〜 〜 終 〜 〜 終 〜 〜 終 〜 〜 終 〜 〜 終 〜 ご清聴ありがとうございました