SlideShare a Scribd company logo
1 of 19
Download to read offline
FletによるPythonアプリのUI構築
2023/6/3 nullzine
自己紹介
[普段やっていること]
Swift,Kotlin,Flutter等、スマホアプリの開発
C#を使ったWindowsアプリの開発
(デザイン以外のバックエンド全般)
[興味があること]
CUDA等GPGPUによる並列処理
地理情報システム(GIS)
LTで発表するのは初めてです!
「Flet」とは?
https://
f
let.dev/
「Flet」とは?
• PythonアプリでUIを構築するためのフレームワーク
• PythonのコードだけでWebアプリ・デスクトップアプリを開発できる
→XAMLやCSSといった「デザインのための言語の習得」が不要!
• 表示されるUIはFlutterをベースにしている
→スマホアプリのようなモダンな見た目&高DPI環境対応が楽
「Flutter」とは?(補足)
• 1つのコードでマルチプラットフォームなアプリを開発できるフレームワーク
→iOS,Android,Windows,Mac,Linux,Webアプリを1つのコードで作成可能
• UI表示に独自のレンダラーを使用するため、異なるOSでも同じ見た目にしやすい
• 高速な動作
• 開発言語はDart
https://
f
lutter.dev/
Fletの良いところ
UIがきれい
スマホアプリのようなフラットデザインの見た目が簡単に構築できる
wxPythonによる電卓の例
(引用元:https://www.python-izm.com/gui/wxpython/wxpython_layout_concept/)
Fletによる電卓の例
(引用元:https://gallery.
f
let.dev/calculator/)
マルチプラットフォームに対応
1つのコードでWindows,Mac,Webアプリを出力可能
Pythonのコード
Windows環境で「
f
let pack main.py」
コマンドを実行
Mac環境で「
f
let pack main.py」
コマンドを実行
「
f
let publish main.py」
コマンドを実行
Windows実行ファイル
(main.exe)
Mac実行ファイル
(main.app)
HTMLファイル
(※要WebSocket通信可能なサーバー)
AI・数値計算処理と相性が良い
UI,内部ロジック,AI処理などを全てPythonで記述可能
C#(WPF)などで開発した
フロントエンド
Pythonで開発した
バックエンド
TensorFlowやnumpyで
AI・数値計算
いままで
(WindowsデスクトップアプリでAI処理を動かしたい場合)
これから
プロセス間通信など
フロントエンドからAI処理まで全て単一の言語(Python)で開発可能
Fletの良くないところ
• 実装されているUIのコンポーネント(パーツ)がFlutterに比べて少ない
• Flutterに比べて、コンポーネントをカスタマイズするためのパラメータが少
ない(自由度が小さい)
• 設定したパラメータが反映されないなど、意図しない動作となることがある
(不具合?)
• 日本語の情報が少ない
Fletアプリの実装例
HRMSimulatorFlet
ヒューマンリソースマシーンというゲームのプログラミング環境を
シミュレーションするツール
• ソースコード
→ https://ideone.com/LDnZ1r
• 実行方法
1.上記コードをmain.pyなどで保存
2.pipやcondaなどで
f
letをインストール
3.python main.pyで実行
実際のゲームの動作の様子
デモ
Fletを使ったPythonアプリ.pdf
今後やりたいこと
• 本家のヒューマンリソースマシンのように、ドラッグ&ドロップでプログラム
を組めるUIにしたい
• 並列処理や関数の作成など本家にはない命令を盛り込みたい
参考1
• Pythonだけでクロスプラットフォームなアプリを作れるFletについて
→ https://qiita.com/NasuPanda/items/48849d7f925784d6b6a0
• Fletによるクロスプラットフォームアプリ開発
→ https://www.sohobb.jp/event/python
f
letによるクロスプラットフォームアプリ開発
f
lutter/
• Flet tutorials
→ https://
f
let.dev/docs/tutorials
参考2
• ヒューマンリソースマシン
[PC]
https://store.steampowered.com/app/375820/Human_Resource_Machine/
[Android]
https://play.google.com/store/apps/details?
id=com.tomorrowcorporation.humanresourcemachine&hl=ja&gl=US
[iOS]
https://apps.apple.com/jp/app/human-resource-machine/id1005098334

More Related Content

More from nullzine

第二回ミーティングスライド
第二回ミーティングスライド第二回ミーティングスライド
第二回ミーティングスライドnullzine
 

More from nullzine (6)

Meeting7
Meeting7Meeting7
Meeting7
 
Meeting6
Meeting6Meeting6
Meeting6
 
Meeting5
Meeting5Meeting5
Meeting5
 
Meeting4
Meeting4Meeting4
Meeting4
 
第二回ミーティングスライド
第二回ミーティングスライド第二回ミーティングスライド
第二回ミーティングスライド
 
Meeting1
Meeting1Meeting1
Meeting1
 

Fletを使ったPythonアプリ.pdf