🎉 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コンビ、とっても良い経験になりました。
この学びを活かして、もっといいアプリ作れるようにがんばります✨

また何か作ったらブログに書きますね!ではでは〜!🐥💻