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
NiceGUI is Nice
Search
s2terminal
October 28, 2023
Technology
0
560
NiceGUI is Nice
s2terminal
October 28, 2023
Tweet
Share
More Decks by s2terminal
See All by s2terminal
TypeScriptでJupyter
s2terminal
0
82
AIをWebアプリに実装するための便利なPythonライブラリ
s2terminal
0
550
段階的なシステムリプレースを実現するデータ同期技術
s2terminal
0
140
1年でモダンなフロントエンドに追いついた話 2019-08-22 Mix Leap Joint #26
s2terminal
0
39
20190706 BCU30 事業を変えるシステムリプレース
s2terminal
0
42
Cognitive Complexity でコードの複雑さを定量的に計測しよう
s2terminal
2
140
MySQLオンラインマイグレーションツールgh-ostで深夜メンテナンスを無くした話
s2terminal
0
48
Microsoft Azureで 女子力を生成する
s2terminal
0
56
かんたん機械学習はじめの1歩AzureMachineLearningでTweetをレコメンド
s2terminal
0
44
Other Decks in Technology
See All in Technology
生成AIによるソフトウェア開発の収束地点 - Hack Fes 2025
vaaaaanquish
29
13k
Serverless Meetup #21
yoshidashingo
1
120
20250807_Kiroと私の反省会
riz3f7
0
230
Amazon Qで2Dゲームを作成してみた
siromi
0
140
Claude Codeは仕様駆動の夢を見ない
gotalab555
23
6.6k
Amazon Inspector コードセキュリティで手軽に実現するシフトレフト
maimyyym
0
110
Claude Codeが働くAI中心の業務システム構築の挑戦―AIエージェント中心の働き方を目指して
os1ma
9
2.6k
【OptimizationNight】数理最適化のラストワンマイルとしてのUIUX
brainpadpr
2
480
React Server ComponentsでAPI不要の開発体験
polidog
PRO
0
240
風が吹けばWHOISが使えなくなる~なぜWHOIS・RDAPはサーバー証明書のメール認証に使えなくなったのか~
orangemorishita
15
5.8k
ファッションコーディネートアプリ「WEAR」における、Vertex AI Vector Searchを利用したレコメンド機能の開発・運用で得られたノウハウの紹介
zozotech
PRO
0
320
Jamf Connect ZTNAとMDMで実現! 金融ベンチャーにおける「デバイストラスト」実例と軌跡 / Kyash Device Trust
rela1470
1
200
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
332
22k
A Tale of Four Properties
chriscoyier
160
23k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.3k
GitHub's CSS Performance
jonrohan
1031
460k
Fireside Chat
paigeccino
38
3.6k
Designing for Performance
lara
610
69k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
19k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
KATA
mclloyd
32
14k
Transcript
Suzuki Shuto / Twitter @s2terminal_tech NiceGUI is Nice 1 1
Suzuki Shuto / Twitter @s2terminal_tech NiceGUI を知っていますか? Do you know
NiceGUI? 2 2
Suzuki Shuto / Twitter @s2terminal_tech NiceGUIとは • https://github.com/zauberzeug/nicegui/ • PythonだけでWebアプリをすぐ作れるフレームワーク
• StreamlitやGradioに似ている • Streamlitの特徴を述べたあと、NiceGUIとの違いを説明します ◦ Gradioについては触れないが、下記が詳しい ▪ 【Streamlitよりいいかも?】機械学習系のデモアプリ作成に最適!Gradio解説 - 学習する天然ニューラルネット https://aotamasaki.hatenablog.com/entry/gradio-explanation 3 3
Suzuki Shuto / Twitter @s2terminal_tech Streamlitの特徴 • pip installして コードを書いて
$ pythonで起動して localhost開けば Webアプリが動く • 簡単!便利! 4 4
Suzuki Shuto / Twitter @s2terminal_tech Streamlit is nice. 5 5
Suzuki Shuto / Twitter @s2terminal_tech Streamlitの弱点 • Streamlitは色々な事を”魔法”のようにやってくれるが 複雑な使い方すると、引っかかる事もある •
たとえば... ◦ 初期状態が外部から取得したデータなど常に変化する時 ◦ ボタンを押したら入力欄を増やすなど動的に定義したい時 6 6
Suzuki Shuto / Twitter @s2terminal_tech NiceGUIの特徴 • NiceGUIの使い方は Streamlitと似ている •
pip installして コード書いて起動したら Webアプリが動く • 簡単!便利! 7 7
Suzuki Shuto / Twitter @s2terminal_tech 8 画像はGitHub Star Historyより https://star-history.com/#zauberzeug/nicegui&streamlit/streamlit&gradio-app/gradio&Date
Suzuki Shuto / Twitter @s2terminal_tech NiceGUIとStreamlitの違い • NiceGUIは、より”素直に”動く ◦ 処理が意図せず実行されるような事が少ない
◦ フォームを動的に増減させる等が簡単にできる ◦ Vue(Quasar)やTailwind CSSの機能が露出しており Web開発の抽象度が比較的低くなっている 9 9
Suzuki Shuto / Twitter @s2terminal_tech NiceGUIとStreamlitの違い • 意図通り動かないStreamlitのコード 10 10
コードはNiceGUIのGitHub Issuesより引用 https://github.com/zauberzeug/nicegui/issues/1#issuecomment-847413651
Suzuki Shuto / Twitter @s2terminal_tech NiceGUIとStreamlitの違い • NiceGUIとStreamlitの使い方は似ている ◦ NiceGUIの公式サイトにも「We
like Streamlit」とある • NiceGUIには、入力のリアルタイム反映などのような Streamlitが持つ"魔法"のような機能は少なくなっている • NiceGUIはデータサイエンスや機械学習よりも より一般的なアプリケーション開発に向く 11 11
Suzuki Shuto / Twitter @s2terminal_tech まとめ Streamlit 入力をもとに自動で処理を実行し反映する →データアプリケーションが得意 Gradio
(ここでは触れてない) APIの発行やJupyter(Colab)上での実行ができる →機械学習アプリケーションが得意 NiceGUI 動的なUIフォームの定義が可能 →柔軟なアプリケーション構築が得意 12 12 • 適切に使い分けることで、より便利に!
Suzuki Shuto / Twitter @s2terminal_tech References • Streamlit ◦ https://github.com/streamlit/streamlit
• Gradio ◦ https://github.com/gradio-app/gradio • NiceGUI ◦ https://github.com/zauberzeug/nicegui/ 13