
На прошлой неделе команда Flet выпустила версию 1.0 открытого Python-фреймворка, который рендерит интерфейс через Flutter. Пишете на Python – Flet отрисовывает виджеты Material и Cupertino на iOS, Android, Windows, macOS, Linux и в браузере. Dart, Swift, Kotlin или JavaScript не нужны. Релиз вышел примерно через четыре года после старта.
Flet 1.0.0 доступен на PyPI под Apache 2.0, требует Python 3.10+ и ставится командой pip install 'flet[all]'. Команда flet build создает артефакты для восьми платформ: apk, aab, ipa, ios-simulator, windows, macos, linux и web. Тесты охватывают Python 3.10–3.14 и сторону Flutter. Интеграционные тесты проверяют поведение и сравнивают скриншоты, ловя баги и визуальные регрессии. Мобильный пайплайн собирает для Python 3.12, 3.13 и 3.14, а flet test запускает упакованное приложение на пяти нативных платформах, включая Linux ARM64. Разработчики могут писать такие же тесты через pytest.
Flet встраивает Python 3.12, 3.13 или 3.14, а веб-сборки используют Pyodide. Индекс пакетов включает более 100 пакетов: NumPy, pandas, Matplotlib, Pillow, SciPy, scikit-learn, cryptography, pydantic-core. Пайплайн mobile-forge автоматизирует сборку wheel для iOS и Android. В производительности Flet отслеживает измененные свойства и пропускает лишние сравнения: на бенчмарках 0.83 ускорение control diffing до 6,7 раза. dart-bridge позволяет Python и Dart работать в одном процессе без сокетов. При упаковке по умолчанию включена компиляция в байт-код, а Android загружает Python-пакеты напрямую из APK без распаковки.
Flet Declarative описывает UI как функцию состояния с переиспользуемыми компонентами. Flet Studio и мобильное приложение Flet написаны декларативно, императивный стиль сохранен. Политика совместимости деприкейтит API за три минорные версии до удаления. MCP-сервер дает ИИ-ассистентам информацию об API конкретной версии. Апгрейд с 0.28 – настоящая миграция: обработчики теперь работают в одном event loop.





