Выпущен Flet 1.0: создание производственных веб-, десктопных и мобильных приложений только на Python
Flet — это фреймворк с открытым исходным кодом для Python, который отображает пользовательский интерфейс с помощью Flutter. Вы пишете на Python, а Flet отрисовывает виджеты Material и Cupertino на iOS, Android, Windows, macOS, Linux и в браузере. Dart, Swift, Kotlin или JavaScript не требуются.
На прошлой неделе команда Flet выпустила Flet 1.0 и объявила его готовым для создания приложений промышленного уровня. Релиз состоялся примерно через четыре года после начала проекта.
Можно ли его использовать для развертывания? Да, уже сегодня. Flet 1.0.0 доступен на PyPI по лицензии Apache 2.0, для SDK требуется Python 3.10 или новее, установка выполняется командой pip install 'flet[all]'. Команда flet build создает артефакты для Windows, macOS, Linux, iOS, Android и веба. CLI поддерживает восемь целевых платформ: apk, aab, ipa, ios-simulator, windows, macos, linux и web.
Тестовая матрица
Flet запускает модульные тесты фреймворка для Python версий от 3.10 до 3.14, а также тесты для стороны Flutter. Интеграционные тесты элементов управления и примеров проверяют поведение и сравнивают скриншоты, выявляя функциональные ошибки и визуальные регрессии.
Тесты бинарных пакетов Python проверяют нативные библиотеки на Android и в симуляторе iOS, а мобильный конвейер выполняет сборку для Python 3.12, 3.13 и 3.14. Интеграционные тесты flet build компилируют приложения для всех шести платформ с использованием этих версий Python, а flet test запускает упакованное приложение и управляет им на всех пяти нативных платформах, включая Linux ARM64.
Вы можете писать тесты того же типа. Интеграционные тесты для собственного приложения используют pytest и запускаются через flet test для собранной версии, со сравнением скриншотов на Android и iOS.
Версии Python и мобильные библиотеки
Flet включает Python 3.12, 3.13 или 3.14 в состав приложения, а веб-сборки используют соответствующий выпуск Pyodide. Подробнее см. в разделе о выборе версии Python.
Индекс пакетов Flet теперь содержит более 100 пакетов, включая NumPy, pandas, Matplotlib, Pillow, SciPy, scikit-learn, cryptography и pydantic-core, а также поддерживающие нативные библиотеки. Конвейер mobile-forge автоматизирует сборку wheel-пакетов для iOS и Android. Доступность по-прежнему зависит от пакета и целевой платформы.
Производительность и упаковка
Теперь Flet отслеживает изменившиеся свойства и пропускает ненужные сравнения во время согласования UI; тесты производительности версии 0.83 показали улучшение сравнения элементов управления до 6,7 раза. В упакованных нативных приложениях dart-bridge позволяет средам выполнения Python и Dart взаимодействовать внутри одного процесса без сокетов, используя выделенные каналы для двоичных данных.
Упаковка по умолчанию поддерживает компиляцию байт-кода, а переработанная упаковка для Android загружает пакеты Python непосредственно из APK без распаковки.
Декларативный UI
Flet Declarative описывает UI как функцию состояния приложения, организованную в повторно используемые компоненты. Flet Studio и мобильное приложение Flet сами являются декларативными приложениями Flet. Императивный стиль по-прежнему поддерживается. Сравнить оба подхода можно в документации.
Совместимость и инструменты для ИИ
Политика совместимости предусматривает объявление API устаревшими до их удаления; стандартный период устаревания составляет три минорных релиза.
MCP-сервер Flet предоставляет ИИ-ассистентам для написания кода информацию о версиях API Flet, а также инструменты для поиска примеров, значков и параметров CLI. Flet Studio работает в браузере и включает встроенного ИИ-агента, а проекты можно скачать для локальной разработки.
Интерактивное объяснение
Встроенный материал ниже разбирает пять механизмов: конвейер сборки для восьми целевых платформ, декларативное и императивное состояние, уровни тестирования CI, упаковку среды выполнения с мобильными wheel-пакетами и ловушку цикла событий. Цвета соответствуют фирменным цветовым токенам Flet.
Главные выводы
- Flet 1.0.0 доступен на PyPI по лицензии Apache 2.0; для SDK требуется Python 3.10 или новее.
flet buildподдерживает восемь платформ: apk, aab, ipa, ios-simulator, windows, macos, linux, web.- Можно включить Python 3.12, 3.13 или 3.14; для мобильных платформ доступно более 100 пакетов.
- Сравнение элементов управления показало ускорение до 6,7 раза, а dart-bridge устраняет накладные расходы на сокеты.
- Переход с версии 0.28 требует полноценной миграции: обработчики теперь выполняются в одном цикле событий.
Ознакомьтесь с анонсом релиза Flet 1.0. Вся заслуга принадлежит исследователю этого проекта. Также подписывайтесь на нас в Twitter и не забудьте присоединиться к нашему сабреддиту по машинному обучению с более чем 150 тысячами участников и подписаться на нашу рассылку. Постойте! Вы пользуетесь Telegram? теперь к нам можно присоединиться и в Telegram.
Хотите сотрудничать с нами для продвижения своего репозитория GitHub, страницы Hugging Face, релиза продукта, вебинара и т. д.? Свяжитесь с нами
Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.