PyCon JP 2025 Logo
広島国際会議場
JPEN
Shintaro Matsudo

Shintaro Matsudo

Pythonだけでつながるあなたのアイディア、フロントエンドもPythonで

ダリア1日本語
06:00 - 06:3030min
DAY 1
09/26
FRI

Pythonユーザーが作成したスクリプトやデータ分析、機械学習モデルなどの成果物を「見せる」「使ってもらう」には、アプリ化というハードルがあります。

本セッションでは、Pythonユーザーが自分のコードをすぐWebで共有できるようになるための手法として、PythonだけでGUIを構築できるWebアプリフレームワーク「Flet」の仕組みと使い方を紹介します。 Fletは、裏側でPyodideを使ってWebAssemblyを活用することで、従来のWeb開発の壁を取り払ってくれています。まずはこのフレームワークを通してPiodideとWASMを深掘ります。 次に実際に使えるサンプルを通じて、「見せられるPythonアプリ」を手軽に作る方法をデモを交えて解説します。

Pythonだけで、誰かとつながれるそんな開発体験を提案します。


トーク詳細 / Description

Pythonはデータ分析や自動化、AIなど多様な分野で活用されていますが、その成果を「誰かに見せたい・使ってもらいたい」と思ったとき、Webアプリ化の壁にぶつかった経験はありませんか?HTMLやJavaScriptの知識、デプロイの面倒さに挫折した方もいるかもしれません。

このセッションでは、そうしたハードルを越え、「Pythonだけ」でWebブラウザ上に動作するアプリを構築・共有できる方法を紹介します。今回メインで紹介するのはGUIをPythonコードのみで記述できるFletというフレームワークです。 Fletはマルチプラットフォームに対応しています。静的サイトを構築する場合は、WebAssembly(WASM)上でPythonを動かすためのランタイムであるPyodideを内部で活用しており、ユーザーは技術的な複雑さを意識することなく、Webアプリを素早く構築・共有できます。 まず、WASMとPyodideがどのようにFletの基盤を支えているのか、その構造をわかりやすく解説し、「なぜPythonがブラウザで動くのか」を理解します。 その後、実際の開発ユースケースに沿ったデモを通して、Fletによる開発の手軽さと拡張性を体験していただきます。

「Pythonで作る → ブラウザで動かす → 誰かに使ってもらえる」この一連の流れがどれほどシンプルかつ強力かを体感し、日々の開発や共有の可能性を広げるヒントを持ち帰っていただける内容です。

予定トーク構成

1. はじめに(2分)

  • 自己紹介
  • 自分のアイディアや成果を早くみんなに届けたい

2. 背景技術を知る:Fletの裏側で「動くピース」たち(12分)

  • GUIアプリケーションフレームワークの紹介
  • Fletの仕組みと特徴
    • Pythonのみで完結するUI構築
    • FlutterとPyodideを使って実現
    • 宣言的で直感的なコードスタイル
    • 開発効率を高めるホットリロード
    • もちろんマルチプラットフォームに対応している
  • WebAssembly(WASM)とは?
    ブラウザでネイティブに近い速度で動作するための基盤技術。
  • Pyodideとは?
    WASM上でPythonを動かすランタイム。
  • Fletの中でPyodideがどう使われているか?
    「Fletを使うだけで、この複雑な技術が裏で動いている」ことを伝える。

3. 実演:PythonだけでWeb GUIを作りデプロイする(14分)

  • デモ①:CSV可視化アプリ(業務効率化ツール)
    • CSVアップロード→グラフ表示→簡易フィルタ
    • 日常のちょっとした分析を「誰かと共有する形」に
  • デモ②:AIモデルのデモアプリ(アイデアの具現化)
    • テキスト入力→AIモデルによる処理→結果表示
    • アイデア検証やプレゼンに即使えるWebアプリの形
  • 作ったFletアプリをどう公開するか?
    • GitHub Pages, Vercel, Netlify, Cloudflare Pagesなどの活用方法

4. おわりに(2分)

  • Pythonユーザーがもっと手軽につながれる開発体験の価値
Shintaro Matsudo

Shintaro Matsudo

プロフィール

Shintaro Matsudo is a software engineer and an engineering manager @ RevComm, inc. from Japan.