Flet は、リアルタイムの Web、モバイル、デスクトップ アプリを好みの言語で簡単に構築し、それらをチームと安全に共有できるフレームワークです。フロントエンドの経験は必要ありません。
チームの内部ツールまたはダッシュボード、週末のプロジェクト、データ入力フォーム、キオスク アプリ、または忠実度の高いプロトタイプ - Flet は、見栄えの良いインタラクティブ アプリを迅速にハッキングしてユーザーのグループにサービスを提供するための理想的なフレームワークです。
JavaScript フロントエンド、REST API バックエンド、データベース、キャッシュなどの複雑なアーキテクチャは必要ありません。Flet を使用すると、Python のみでモノリス ステートフル アプリを作成するだけで、マルチユーザーのリアルタイム シングル ページ アプリケーション (SPA) を取得できます。
Flet で開発を開始するには、お気に入りの IDE またはテキスト エディターが必要です。 SDK、何千もの依存関係、複雑なツールは不要 - Flet には、資産ホスティングおよびデスクトップ クライアントを備えた Web サーバーが組み込まれています。
Flet UI は Flutter で構築されているため、アプリはプロフェッショナルに見え、あらゆるプラットフォームに配信できます。 Flet は、命令型プログラミング モデルを使用して、小さな「ウィジェット」をすぐに使用できる「コントロール」に組み合わせることで、Flutter モデルを簡素化します。
Flet は言語に依存しないため、チームの誰もが好きな言語で Flet アプリを開発できます。 Python はすでにサポートされており、次に Go、C# などがサポートされる予定です。
フレッツアプリをWebアプリとして展開し、ブラウザで表示します。 Windows、macOS、Linux 用のスタンドアロン デスクトップ アプリとしてパッケージ化します。 PWAとしてモバイルにインストールするか、iOSおよびAndroidのフレッツアプリ経由で表示します。
現時点では、Flet アプリを Python で作成できますが、他の言語もすぐに追加される予定です。
「カウンター」アプリのサンプルを次に示します。
import flet
from flet import IconButton , Page , Row , TextField , icons
def main ( page : Page ):
page . title = "Flet counter example"
page . vertical_alignment = "center"
txt_number = TextField ( value = "0" , text_align = "right" , width = 100 )
def minus_click ( e ):
txt_number . value = str ( int ( txt_number . value ) - 1 )
page . update ()
def plus_click ( e ):
txt_number . value = str ( int ( txt_number . value ) + 1 )
page . update ()
page . add (
Row (
[
IconButton ( icons . REMOVE , on_click = minus_click ),
txt_number ,
IconButton ( icons . ADD , on_click = plus_click ),
],
alignment = "center" ,
)
)
flet . app ( target = main )
アプリ インストールflet
モジュールを実行するには:
pip install flet
そしてプログラムを実行します:
python counter.py
アプリはネイティブ OS ウィンドウで起動します。これは Electron の素晴らしい代替手段です。
ここで、アプリを Web アプリとして実行する場合は、最後の行を次のように置き換えるだけです。
flet . app ( target = main , view = flet . AppView . WEB_BROWSER )
もう一度実行すると、すぐに Web アプリが取得されます。
その他のデモ アプリケーションはギャラリーでご覧いただけます。