Skip to content

Building multi‐platform apps in Python powered by Flutter

Feodor Fitsner edited this page Apr 11, 2024 · 12 revisions

Flet allows Python developers to easily add awesome user interface to their apps and package them to run on web, desktop and mobile devices - all with a single code base.

Why another UI library for Python? Unlike other UI frameworks for Python Flet does not implement UI widgets from scratch or wrap native platform controls, but, instead, it relies on Flutter framework by Google. Initially born as a mobile framework, Flutter recently got a serious push from Google with added support for web and desktops.

Flet brings the power of Flutter to Python developers - for free. UI developed with Flet looks aesthetically pleasant, it's adaptive, responsive, localizable and accessible. Flet provides more than 100+ controls and could be easily extended with a wide array of 3rd-party packages and plugins provided by a vast Flutter ecosystem.

...

and become a multi-platform inside Google is a powerful multi-platform

Started as web framework. Fluent UI - not multi-platform, not awesome.

People like Flutter.

2. Case presentation: Introduce the raw data, details on how you use Python, and code

examples

Flet UI is built of stateful controls which fire events triggered by user interaction. In event handlers developer updates control properties thus mutating user interface.

Here is a simple Flet program which prompts user for a name and outputs the greeting:

Simple program in Flet.

How to run it as a desktop, web and on mobile.

Adaptive UI picture?

How to package.

3. Outcome: what you found and how it solves the problem

Python is run "inside" Flutter app and Python app communicates with Flutter via JSON API.

4. Discussion: One or two sentences describing the problem you solved, lessons to be

learned, and any recommendations

Created framework.

Work with Kivy and Beeware, PEPs to make iOS/Android part of Python standard - important for our project.

Clone this wiki locally