Арина Михална
Инструменты8 минобновлено 21 сентября 2026 г.

Flet Python: собираем приложение без JavaScript

Flet 1.0 позволяет собрать мобильное приложение на Python с Claude Code без строчки JavaScript. Разбираем архитектуру, установку и подводные камни.

Мобильное приложение на Flet Python без JavaScript в терминале с Claude Code
В этой статье
  1. Что такое Flet 1.0 и почему это не очередной «ещё один фреймворк»
  2. Как поставить задачу Claude Code, чтобы он не развалил структуру проекта
  3. Backend отдельно: почему логику лучше не держать внутри UI-слоя
  4. Где Flet реально ломается — и когда лучше не соваться
  5. Как собрать и проверить приложение перед публикацией
  6. Читайте также

Я, Арина Михална, убедилась, что собрать мобильное приложение на Python без единой строчки JavaScript теперь можно с Flet 1.0 — фреймворк вышел в статусе production-ready и берёт на себе веб, десктоп и мобильную сборку из одной кодовой базы. С Claude Code эта связка работает так: ты описываешь экраны и логику на Python, агент сам разбирается с синтаксисом Flet и структурой проекта, а тебе остаётся проверять, что получилось, и поправлять по ходу.

1 языкPython для веба, десктопа и мобиля
0 строкJavaScript или Dart в проекте
~7 ₽стоимость одной статьи через шлюз, для сравнения
3 платформыиз одной кодовой базы

Схема архитектуры приложения на Flet: экран на Python отдельно от бизнес-логики

Что такое Flet 1.0 и почему это не очередной «ещё один фреймворк»

Flet берёт Flutter — тот же движок, на котором собраны тысячи мобильных приложений, — и прячет его за Python API. Ты пишешь класс, описываешь кнопки и текстовые поля обычным Python-кодом, а Flet превращает это в реальный интерфейс на iOS, Android, в браузере и на десктопе. Версия 1.0 — первый релиз, который авторы фреймворка называют готовым к продакшену: раньше это был скорее инструмент для прототипов и внутренних утилит.

Разница с типичным «Python для фронтенда» (вроде Streamlit) в том, что Flet не ограничивается дашбордами — это полноценный UI-тулкит с навигацией, состоянием, роутингом между экранами. Ближе по духу к тому, что раньше делали на React Native, только без единой строчки JS.

Что нужно знать Streamlit Flet 1.0
Целевая платформа веб-дашборды веб + десктоп + мобиль
Язык Python Python
Мобильная сборка нет да, из коробки
Управление состоянием экрана ограниченное полноценное, как в SPA
Подходит для отчётов, аналитики реальных приложений с несколькими экранами

Как поставить задачу Claude Code, чтобы он не развалил структуру проекта

Здесь та же логика, что и с любым другим фреймворком: чем чётче ты задаёшь архитектуру заранее, тем меньше Claude Code потом свалит всё в один файл main.py на 800 строк. С Flet это особенно важно, потому что фреймворк новый и агент может тянуть паттерны из старых версий API или путать их с Flutter-подходом напрямую.

Рабочая структура, которую стоит зафиксировать в CLAUDE.md перед стартом:

Собери проект на Flet 1.0 со следующей структурой:
- /app/screens/ — по одному файлу на экран, каждый экран —
отдельный класс
- /app/components/ — переиспользуемые UI-элементы (кнопки,
карточки, формы)
- /app/services/ — вся работа с данными: запросы к API,
работа с локальным хранилищем
- /app/state.py — общее состояние приложения (текущий
пользователь, настройки)
- main.py — только точка входа и роутинг между экранами

Правило: экраны в /screens не делают запросы к API напрямую
— только через
/services. Бизнес-логика не живёт внутри UI-компонентов.
Первая задача: собери экран {{список экранов}} с навигацией
между ними.

CLAUDE.md с такими правилами Claude Code читает автоматически при каждом запуске новой сессии — это снимает половину проблемы «агент забыл, как я хотел структуру», потому что напоминать не нужно, файл читается сам.

Раз научился разделять UI и логику в одном приложении — дальше вопрос, как делать это системно в каждом проекте, а не по вдохновению.

В канале разбираю рабочие связки на живых примерах

читаю канал «А.М. решает вопросы»

Экран мобильного приложения на Flet с формой и списком, собранный без JavaScript

Backend отдельно: почему логику лучше не держать внутри UI-слоя

Слабое место большинства гайдов по Flet — они показывают «hello world» и не говорят, что делать, когда приложению нужны реальные данные, авторизация и хранение. На практике для чего-то серьёзнее записной книжки логику стоит выносить в отдельный Python-backend, а Flet оставлять тонким слоем интерфейса, который просто отображает то, что backend прислал.

Связка, которая работает без сюрпризов:

Такое разделение спасает, когда приложение нужно менять: правишь бизнес-логику в backend, экраны не трогаешь. Без него любое изменение в данных тянет за собой переписывание половины экранов — классическая боль вайбкодинга, когда агент правит один файл и рвёт три других.

Где Flet реально ломается — и когда лучше не соваться

Честно: Flet — не замена нативной разработке во всех случаях. Три места, где он сдаёт:

  1. Сложная кастомная анимация. Простые переходы и стандартные эффекты — легко, но если нужна кастомная физика анимации уровня хорошего игрового UI — тут чистый Flutter или нативный код точнее.
  2. Глубокая интеграция с нативным SDK платформы. Если приложению нужен доступ к специфичным датчикам или API, доступным только через нативный Swift/Kotlin, придётся либо искать обходной пакет, либо писать нативный модуль отдельно.
  3. Очень нагруженный UI с частой перерисовкой. Списки на тысячи элементов с постоянными изменениями Flet тянет хуже специализированных мобильных фреймворков.

Для типового сценария — приложение с несколькими экранами, формами, списком, авторизацией и подключением к API — Flet справляется полностью, и именно туда его стоит брать. Не для игр и не для приложений с уникальным нативным функционалом.

Как собрать и проверить приложение перед публикацией

Минимальный порядок действий, чтобы не публиковать сырое:

  1. Собери приложение локально командой сборки Flet под нужную платформу (веб, desktop, mobile).
  2. Прогони вручную все экраны — переходы, формы, обработку ошибок (что происходит, если backend не ответил).
  3. Попроси Claude Code написать несколько unit-тестов на бизнес-логику в /services — эту часть тестировать проще, чем UI.
  4. Проверь, что приложение не падает при отсутствии интернета — частая дыра в вайбкодинге, когда все тесты писались с работающим backend под рукой.
  5. Только после этого — сборка под целевую платформу и публикация.

Чек-лист перед деплоем закрывает ровно те дыры, которые обычно всплывают уже у пользователей, а не у тебя на машине.

Финальный экран собранного мобильного приложения на Flet перед публикацией в сторе

По материалам: анонс Flet 1.0 на MarkTechPost от 20 сентября 2026, документация Claude Code.

Читайте также

Я, Арина Михална, думаю, что разбираться с Claude Code и вайбкодингом дальше — не обязательно тащить всё в одну статью. У меня в боте лежит гайд по установке Claude из России, а в канале «А.М. решает вопросы» я регулярно показываю на живых примерах, как собираю такие штуки и куда потом с ними идти. Забирай — подписывайся на канал

Чек-лист: что у тебя теперь есть

Частые вопросы

Можно ли собрать мобильное приложение на Flet без знания JavaScript?

Да, это и есть смысл Flet: интерфейс, логика и сборка под iOS/Android описываются на Python, JS-код не пишется вообще. Frontend-стек (React, Flutter-виджеты вручную) не нужен.

Чем Flet 1.0 отличается от предыдущих версий?

Flet 1.0 — первый релиз, заявленный как готовый для продакшена: веб, десктоп и мобильные приложения из одной кодовой базы на Python, без отдельной прослойки на JS или Dart.

Подходит ли связка Flet и Claude Code новичку без опыта в мобильной разработке?

Да, если новичок понимает базовый Python. Claude Code берёт на себя структуру проекта и синтаксис Flet, а тебе остаётся описывать, что должно происходить в приложении, и проверять результат.

Что Flet не умеет — где вайбкодинг на нём ломается?

Сложную нативную анимацию, глубокую интеграцию с нативными SDK платформы и очень нагруженные UI с кастомной графикой Flet тянет хуже, чем чистый Flutter или Swift/Kotlin. Для простого и среднего приложения хватает с запасом.

Нужен ли отдельный backend для приложения на Flet?

Не обязательно для простых сценариев — Flet может держать логику прямо в приложении. Но для реальной продукции лучше выносить данные и бизнес-логику в отдельный Python-backend (например, FastAPI), а Flet оставить чистым слоем интерфейса.

Следующий шаг

Собери свой сайт за вечер

Свой сайт на Claude за один вечер — и продавай такие же от 30 000 ₽. 8 уроков в записи, без кода и без дизайнера.

Хочу сайт за вечер

Или просто следи

А.М. решает вопросы — 5 000+ подписчиков, разборы Claude каждый день.

Подписаться в Telegram

Источники