The Flet project has reached a major development milestone with the release of Flet 1.0, signaling its readiness for building robust production applications. This open-source Python framework uniquely leverages Flutter to render its user interface, allowing developers to create native-looking Material and Cupertino widgets across iOS, Android, Windows, macOS, Linux, and web browsers using Python exclusively.
Unlocking Universal Python Development
After approximately four years of development, Flet 1.0 eliminates the need for languages like Dart, Swift, Kotlin, or JavaScript in multi-platform application development. Python developers can now deploy their applications across an extensive range of operating systems and devices, streamlining the development process significantly.
Robust Deployment and Installation
Flet 1.0.0 is readily available on PyPI under the Apache 2.0 license. The SDK requires Python 3.10 or a newer version and can be installed using `pip install 'flet[all]'`. The `flet build` command is a powerful tool, capable of generating deployable artifacts for eight distinct target platforms: APK and AAB for Android, IPA and iOS-simulator for Apple devices, and executables for Windows, macOS, Linux, alongside web builds.
Comprehensive Testing Ensures Stability
The Flet framework boasts a rigorous testing methodology designed to ensure stability and reliability. Unit tests are conducted across Python versions 3.10 through 3.14, complemented by tests for the Flutter rendering engine. Integration tests for controls and examples meticulously check application behavior and compare screenshots to identify functional bugs and visual regressions. Furthermore, native libraries undergo testing on Android and iOS simulators within the mobile pipeline, which builds for Python 3.12, 3.13, and 3.14. The build process itself is also subject to integration testing across all six platforms and specified Python versions. Developers can also implement similar integration tests for their own applications using `pytest`, including screenshot comparison on mobile platforms.
Enhanced Performance and Packaging
Performance optimizations in Flet 1.0 include a refined UI reconciliation process. Benchmarks have shown up to a 6.7x improvement in control diffing by efficiently tracking changed properties and skipping unnecessary comparisons. For packaged native applications, a new `dart-bridge` mechanism facilitates direct communication between the Python and Dart runtimes within a single process, utilizing dedicated channels for binary data and eliminating the overhead of sockets. Packaging enhancements also feature bytecode compilation by default and a redesigned Android packaging system that loads Python packages directly from the APK, bypassing extraction.
Rich Ecosystem: Python Libraries and Declarative UI
Flet applications bundle Python 3.12, 3.13, or 3.14, while web builds utilize the corresponding Pyodide release. The Flet package index now encompasses over 100 popular Python packages, including essential libraries such as NumPy, pandas, Matplotlib, Pillow, SciPy, scikit-learn, cryptography, and pydantic-core, along with their supporting native libraries. A dedicated mobile-forge pipeline automates the creation of wheel files for iOS and Android. Flet also champions a declarative UI paradigm, where user interfaces are defined as a function of application state, fostering reusable components. The framework maintains support for the imperative style as well.
AI Integration and Developer Tooling
For developers, Flet provides a compatibility policy that deprecates APIs before their removal, typically over three minor releases. Advanced tooling includes the Flet MCP server, which furnishes AI coding assistants with version-specific Flet API information, alongside utilities for discovering examples, icons, and CLI options. Flet Studio, accessible directly in the browser, integrates an AI agent and allows projects to be downloaded for local development, further streamlining the creation process.
This article is a rewritten summary based on publicly available reporting. For the original story, visit the source.
Source: MarkTechPost