Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
もうひとつのGUI環境PyWebView
Search
高見知英
December 09, 2019
Programming
1
2.3k
もうひとつのGUI環境PyWebView
2019/12/09 Python LT発表&交流会 #5で発表した資料です。
高見知英
December 09, 2019
Tweet
Share
More Decks by 高見知英
See All by 高見知英
ポッドキャストをはじめよう ポッドキャストのやりかたと続けるコツ
takamichie
0
89
高見知英とAndroid
takamichie
0
75
大人になってからのゲームデビューのハナシ
takamichie
0
73
最近のゲーム実況のハナシ
takamichie
0
92
健常者から見たAndroidのアクセシビリティ機能
takamichie
0
500
山手縁乃庭のいまとこれから考えていること
takamichie
0
150
子どもとゲームとそのほかいろいろのハナシ
takamichie
0
140
高見知英のヒストリー
takamichie
0
110
SRPGがやりたい!
takamichie
0
250
Other Decks in Programming
See All in Programming
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
450
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
170
Fragmented Architectures
denyspoltorak
0
150
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
200
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
4
330
AI巻き込み型コードレビューのススメ
nealle
0
130
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
420
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
680
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.8k
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
980
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
990
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Typedesign – Prime Four
hannesfritz
42
2.9k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
320
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Utilizing Notion as your number one productivity tool
mfonobong
3
220
Balancing Empowerment & Direction
lara
5
880
GraphQLとの向き合い方2022年版
quramy
50
14k
How GitHub (no longer) Works
holman
316
140k
The Limits of Empathy - UXLibs8
cassininazir
1
210
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
64
Become a Pro
speakerdeck
PRO
31
5.8k
Transcript
もうひとつのGUI環境 PyWebView まちづくりエージェント SIDE BEACH CITY. 高見知英 12/9/2019 もうひとつのGUI環境PyWebView 1
高見知英 です! 2 もうひとつのGUI環境PyWebView 12/9/2019
言語 3 もうひとつのGUI環境PyWebView 12/9/2019 Python Javascri pt PHP CSS HTML5
Android Java UWSC C#
PythonでGUI Tkinter Pythonに同梱 部品をソースで配置 する昔ながらの手法 100% Python import tkinter as
tk import tkinter.ttk as ttk root = tk.Tk() root.title(“Title") root.iconbitmap(default=iconfile) root.resizable(width=False, height=False) notebook = ttk.Notebook() tab1 = tk.Frame(notebook) tab2 = tk.Frame(notebook) tab3 = tk.Frame(notebook) tab4 = tk.Frame(notebook) …………… 12/9/2019 もうひとつのGUI環境PyWebView 4
問題点 すべてがPython 振る舞いと見た目を分離できない アニメーションはツラい 処理中だからテキストを点滅させる 色鮮やかなアニメーションを表示する リファレンスが微妙に少ない 12/9/2019 もうひとつのGUI環境PyWebView 5
そこでPyWebView HTMLをGUIに使う エンジンは選択可能 MSHTML(Edge) CEF(Chrome) Bootstrapなどが そのまま利用可能 import webview import
threading webview.config.gui = ‘cef‘ window = webview.create_window(title=“Title“, html=“<html>“,width=600, height=800, debug=False) webview.start(proc, window, gui=“cef“) 12/9/2019 もうひとつのGUI環境PyWebView 6
解決できること HTMLとPythonで見た目と処理の分離 適宜PythonコードをAPIとして呼び出し可能 Bootstrap等で気軽におしゃれなUIが実現可能 全てのHTML5関連資料が役立つ PyWebView独自処理は少ない 開発継続中(わたしもIssueで何度か) 12/9/2019 もうひとつのGUI環境PyWebView 7
PyWebViewの問題 Pythonの他にHTML+CSS+JavaScriptを 学ぶ必要がある 脆弱性を作り込んだ場合被害はWebより深刻 デバッグがやりづらい GUI=ブラウザデバッグ機能、Python=開発環境 利用者が少なく独自マニュアルが少ない 12/9/2019 もうひとつのGUI環境PyWebView 8
複数のスキルセットを活用 それでもGUIの綺麗さはPythonの比でない わからないこと、難しいことはJavaScriptなどの ライブラリに任せられる なにより見た目が美しい! npmなどの豊富なライブラリ 構成によってはpipenvとnpmの二重管理 構成が複雑になりやすい=クラス設計を徹底 12/9/2019 もうひとつのGUI環境PyWebView
9
おわり ご清聴ありがとうございました 12/9/2019 もうひとつのGUI環境PyWebView 10