ホームページ >バックエンド開発 >Python チュートリアル >Flet: クロスプラットフォームの Flutter ベースの Python フレームワーク

Flet: クロスプラットフォームの Flutter ベースの Python フレームワーク

王林
王林転載
2023-04-20 17:46:082302ブラウズ

Flet: クロスプラットフォームの Flutter ベースの Python フレームワーク

昨日、Python デスクトップ開発ライブラリの完全なコレクションに関するマイクロ見出しを投稿したところ、同僚が Flet ライブラリを発見しました。これは非常に新しいライブラリです。最初のバージョンは今年 6 月にリリースされたばかりです。非常に新しいですが、巨大な Flutter によってサポートされており、Python を使用してフルプラットフォーム ソフトウェアを開発できるようになります。現在はサポートされていませんが、すべてのプラットフォーム, 著者の計画によれば, Flutter がサポートするものはすべて, 将来的にもサポートされる予定です. 昨日簡単に勉強しましたが, 本当に素晴らしいです. 皆さんにお勧めします.後でこれを使用して一連のことを行うことができます。

Flet とは

Flet は、フロントエンド開発の経験がなくても、好みの言語で対話型のマルチユーザー Web、デスクトップ、モバイル アプリケーションを構築できるフレームワークです。

主な機能

アイデアからアプリケーションまで数分で移行

チーム向けのアプリ、週末プロジェクト、データ入力フォーム、キオスク アプリケーション、または高機能社内ツールまたはダッシュボードの忠実なプロトタイプ - Flet は、ユーザーのグループにサービスを提供する美しいインタラクティブなアプリケーションを迅速にハックするための理想的なフレームワークです。

シンプルなアーキテクチャ

JavaScript フロントエンド、REST API バックエンド、データベース、キャッシュなどを備えた複雑なアーキテクチャは必要ありません。 Flet を使用すると、Python でモノリシックなステートフル アプリケーションを記述するだけで、マルチユーザーのリアルタイム シングル ページ アプリケーション (SPA) を取得できます。

バッテリー付属

Flet で開発を開始するには、お気に入りの IDE またはテキスト エディターが必要です。 SDK、何千もの依存関係、複雑なツールは不要 - Flet には、管理対象資産とデスクトップ クライアントを含む Web サーバーが組み込まれています。

Flutter を搭載

Flet UI は Flutter を使用して構築されているため、アプリはプロフェッショナルに見え、あらゆるプラットフォームに配信できるようになります。 Flet は、命令型プログラミング モデルを使用して、小さな「ウィジェット」をすぐに使用できる「コントロール」に組み合わせることで、Flutter モデルを簡素化します。

言語に依存しない

Flet は言語に依存しないため、チームの誰もが好みの言語で Flet アプリケーションを開発できます。 Python はすでにサポートされており、Go、C#、およびその他の製品 にそれほど遅れていません。

あらゆるデバイスへの配信

フレッツ アプリを Web アプリとして展開し、ブラウザーで表示します。 Windows、macOS、Linux 用のスタンドアロン デスクトップ アプリケーションとしてパッケージ化します。モバイル デバイスに PWA としてインストールするか、iOS および Android 用のフレッツ アプリを介して表示します。

インストールと使用

pip install flet

簡単なカウントの例

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 = int(txt_number.value) - 1
page.update()

def plus_click(e):
txt_number.value = 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)

プログラムを実行します:

python counter.py

Flet: クロスプラットフォームの Flutter ベースの Python フレームワーク

ブラウザ側でのみ実行する方法:

flet.app(target=main, view=flet.WEB_BROWSER)

デフォルトではデスクトップ側で実行されますが、起動すると Web サーバーがランダムに起動されます。

Flet: クロスプラットフォームの Flutter ベースの Python フレームワーク

これは公式が提供した簡単な例ですが、もう少し複雑な計算機を書いてみましょう。

Flet: クロスプラットフォームの Flutter ベースの Python フレームワーク

このページには多くのコードがありますが、非常に単純なので投稿しません。ネイティブ コントロールを使用して詳しく説明しても、それがわかるでしょう。このページの効果は非常に優れており、他の Python デスクトップ開発ライブラリよりもはるかに見やすくなっています。 QTのようなドラッグ&ドロップでページを生成できるインターフェースデザイナーはありませんが、レイアウト方法はフロントエンドと同じなので、フロントエンドを知っている開発者にとっては非常に馴染みやすく、非常に使いやすいです。使いやすい。

概要

現時点ではこのプロジェクトは単なるベータ版であり、公式ドキュメントも十分に充実していませんが、いくつかの基本的なソフトウェアの開発にはまだ問題ありません。特に Flutter をベースにしているため、Electron のようにクロムコアをパッケージ化する必要がありません。後から多言語にアクセスできるようになり、Electron や Flutter のように特定の開発言語を必要とせずに、多くのプログラマに優れたクロスプラットフォーム開発手法を提供できるようになることが期待されます。後で、スキルを練習するためにさらにいくつかのガジェットを試してみます。

以上がFlet: クロスプラットフォームの Flutter ベースの Python フレームワークの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。