Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Eelで作ってみる WHOISアプリと スライド

252e6c31a6452aa80deb9ad0107975c7?s=47 attakei
February 07, 2018

Eelで作ってみる WHOISアプリと スライド

みんなのPython勉強会#32で発表したLTのスライドです

252e6c31a6452aa80deb9ad0107975c7?s=128

attakei

February 07, 2018
Tweet

Transcript

  1. Eelで作ってみる Eelで作ってみる Eelで作ってみる Eelで作ってみる Eelで作ってみる Eelで作ってみる WHOISアプリと WHOISアプリと WHOISアプリと WHOISアプリと

    WHOISアプリと WHOISアプリと スライド スライド スライド スライド スライド スライド @attakei みんなのPython勉強会 / 2018-02-07
  2. Kazuya Takei @attakei 個人扱い(電撃的にLTしてるので) 中央区でサーバサイド寄りエンジニアしてます 誰?

  3. Eel A little Python library for making simple Electron-like HTML/JS

    GUI apps
  4. 現在のバージョンは、0.9.1 2017年末ぐらいに公開された模様 1756 Stars 何するやつか Electron的なアプリをPythonで作るライブラリ メイン処理的な部分を、Pythonで書けるっぽい その他 What is

    Eel https://github.com/ChrisKnott/Eel 今月の頭に、MOONGIFTで紹介されていました。
  5. Demo Demo Demo Demo Demo Demo

  6. WHOIS Zone 調べる

  7. デモ中身 デモ中身 デモ中身 デモ中身 デモ中身 デモ中身

  8. 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')
  9. JS side <script type="text/javascript" src="/eel.js"></script> 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; });
  10. __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) # ( )
  11. bottle

  12. Pros コアな処理をPythonで書ける そして表現をHTMLで書ける Cons デフォルトのChromeを呼び出すのでChromeのインストール 必須 例えば呼び出し時に、Chrome Portableにすれば? macだと、閉じてもChromeが残る ???s

    ウィンドウを複数立ち上げて協調動作させられる可能性 Pros/Cons
  13. おまけ ちなみに イールとは ウナギのことだ カバヤキにすると うまいぞ。

  14. 〜 終 〜 〜 終 〜 〜 終 〜 〜

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