Випущено 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 відстежує змінені властивості та пропускає непотрібні порівняння під час узгодження інтерфейсу, а бенчмарки версії 0.83 показали до 6,7-кратного покращення порівняння елементів керування. В упакованих нативних застосунках dart-bridge дає змогу середовищам виконання Python і Dart взаємодіяти в межах одного процесу без сокетів, використовуючи виділені канали для бінарних даних.
Пакування за замовчуванням дає змогу компілювати байткод, а оновлене пакування для Android завантажує пакети Python безпосередньо з APK без розпакування.
Декларативний інтерфейс
Flet Declarative описує інтерфейс як функцію стану застосунку, організовану в повторно використовувані компоненти. Flet Studio і мобільний застосунок Flet самі є декларативними застосунками Flet. Імперативний стиль також підтримується. Порівняйте обидва підходи в документації.
Сумісність та інструменти ШІ
Політика сумісності передбачає оголошення API застарілими до їхнього видалення, а стандартний період амортизації становить три мінорні випуски.
Сервер Flet MCP надає помічникам із програмування на основі ШІ інформацію про 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 і не забудьте приєднатися до нашого 150k+ ML SubReddit та підписатися на нашу розсилку. Стривайте! Ви є в Telegram? тепер ви також можете приєднатися до нас у Telegram.
Хочете співпрацювати з нами для просування вашого GitHub-репозиторію, сторінки на Hugging Face, випуску продукту, вебінару тощо? Зв’яжіться з нами
Перекладено автоматично з англійської. Оригінал статті — за посиланням нижче.