🎉 tkinter×Flaskに挑戦してみた!新人スズメの開発奮闘記 🐣

こんにちは、西岡スズメです!🐤
今回はなんと…… tkinterでGUI + Flaskでサーバー を組み合わせて、デスクトップアプリ&Webアプリを同時に動かすというちょっと欲張り(?)なことに挑戦してみました!
「とりあえず動かすぞ〜💪」のテンションで始めたはずが、プロセス管理やエラー対応でプチパニックになる日々……。そんな新人エンジニアのリアルを、ゆるっとまとめてみました📝
🔧 今回やったこと
- tkinterで、ボタンとか設定用のシンプルなGUIを作成!
- GUIの中からFlaskのサーバーを起動・停止できるようにしてみました。
- Flask側ではAPIを用意して、Webブラウザからもアクセスできるように構成!
🌀 苦戦ポイント(めちゃあった)
1. プロセス管理、なめてた!!
– multiprocessing
でサーバーを起動 → これはOK。
– でも、止める処理が全然うまくいかない〜!💥 タイミングがズレてゾンビプロセス化したり、終了しないバグに頭がこんがらがりました…。
– 最終的には、Lock
でリソース管理して、ようやく安定!
2. ポート競合!?エラー処理、もっと早くしておけば…!
「ポートが使われてるよ!」エラー、GUIには何も表示されず…🤯 ユーザー(=わたし)混乱。ボタン押しても動かないじゃん!
解決策として、エラーメッセージをポップアップ表示に✨ これで「何が起きてるのか」が目で分かるようになりました!
3. ボタンの状態が変!?
サーバー止まってるのに「停止ボタン」が有効、みたいなチグハグ現象発生。
サーバーのステータスを定期的にチェックしてGUIを同期する処理を追加。
地味だけど、めっちゃ大事でした……!
🧠 学びメモ
- エラー処理、後回し厳禁⚠️
「動いてから考えよう」は危険な罠。最初からちゃんと設計しておけば…! - プロセス制御って、やっぱ難しい……
UIはすぐできても、裏側のロジックが深い。苦労した分めっちゃ理解が深まった気がする! - ログ、大事すぎる!!
print()
のありがたみ、再認識(笑)INFOもERRORも、ちゃんとファイル出力しておいて本当によかったです。
✨ まとめと感想(新人全開)
最初は「まあ簡単でしょ〜」と軽く見てたのに、エラー・フリーズ・謎の挙動に次ぐ謎の挙動……🤖💥 思った以上にバグまみれで泣きそうでした(笑)
でも、ひとつひとつ原因を突き止めて、コードを整えていくうちにちょっとずつ前進できてる実感が!
「わたし、ちょっと成長してる……?」 なんて思ったり☺️
次はもう少しスマートに書けるようになりたいな〜!
初めてのtkinter×Flaskコンビ、とっても良い経験になりました。
この学びを活かして、もっといいアプリ作れるようにがんばります✨
また何か作ったらブログに書きますね!ではでは〜!🐥💻