Trawling

Flet 1.0 – Python으로 크로스플랫폼 앱 만들기

Python 코드만으로 데스크톱·모바일·웹 앱을 만들 수 있는 UI 프레임워크 Flet이 1.0을 공개했습니다. Flutter 기반으로 150개 이상의 컨트롤을 제공하며, NumPy와 pandas 같은 Python 패키지를 그대로 쓰고 flet build로 각 플랫폼용으로 패키징할 수 있습니다.

본문

Python 개발자를 겨냥한 크로스플랫폼 UI 프레임워크 Flet이 1.0을 발표했습니다. 하나의 Python 코드베이스로 데스크톱, 모바일, 웹 앱을 만들 수 있게 해주는 것이 핵심이며, 커뮤니티에서 지적하듯 내부적으로는 Flutter 위에 구축되어 있습니다.

150개 이상의 컨트롤과 선언적 UI

Flet은 레이아웃, 내비게이션, 폼, 다이얼로그를 아우르는 150개 이상의 컨트롤과 서비스를 제공하며, 색상·타이포그래피·테마를 자유롭게 커스터마이징할 수 있습니다. 공개된 카운터 예제를 보면 사용법이 직관적입니다. ft.Text로 텍스트 컨트롤을 만들고, FloatingActionButton의 on_click에 카운터를 증가시키는 Python 함수를 연결한 뒤, page.add로 화면에 배치하면 끝입니다. UI 구조를 별도 마크업 없이 Python 코드로 그대로 표현하는 방식입니다.

Python 생태계와 배포 파이프라인

NumPy, pandas, Pillow, cryptography 같은 기존 Python 패키지를 앱에 그대로 가져올 수 있고, iOS와 Android용 사전 빌드 패키지를 제공해 네이티브 의존성을 직접 컴파일할 수고를 덜어줍니다. flet build 명령 하나로 데스크톱·모바일·웹용으로 패키징할 수 있으며, App Store와 Google Play 배포를 위한 준비도 지원합니다. 웹 배포는 두 가지 경로가 있습니다. Pyodide와 WebAssembly로 브라우저 안에서 Python을 직접 실행하거나, 코드를 서버에 두고 실시간 UI 업데이트를 클라이언트에 전송하는 방식입니다.

테스트, 확장, 접근성

pytest로 버튼 탭, 텍스트 입력 같은 사용자 플로우를 검증하는 테스트를 작성할 수 있고, iOS와 Android에서 스크린샷을 비교해 시각적 변화를 잡아낼 수 있습니다. Flet MCP를 통해 코딩 어시스턴트를 연결하면 버전별 API 정보와 예제, 아이콘, CLI 옵션을 조회할 수 있습니다. 커스텀 컨트롤은 Python으로 조합하거나, Flutter 패키지를 확장(extension)으로 감싸 새로운 UI 컴포넌트와 플랫폼 통합을 추가할 수 있습니다. 접근성 측면에서는 스크린 리더용 레이블과 커스텀 시맨틱, 키보드 단축키, UI가 노출하는 접근성 정보 검사를 지원합니다. 또한 설치 없이 브라우저에서 예제를 고르고 AI 에이전트의 도움을 받아 앱을 실행·공유할 수 있는 Flet Studio와 Gallery도 제공되며, 프로젝트는 오픈소스입니다.

Hacker News 반응

  • @bobajeff — 흥미롭네요. Flutter 위에 만들어진 프레임워크로 보입니다.
  • @absqueued — 맞아요. 모바일용으로 작은 PoC를 하다가 웹 export도 해봤는데(왜 안 되겠어요), 웹 앱 전체가 하나의 거대한 <canvas> 요소더군요. Flutter로 웹 앱을 만들어본 적이 없어서 꽤 놀랐습니다.
  • @claytongulick — 정말 흥미로워 보이지만, 지원되는 서비스에 Bluetooth가 없더군요. 제게는 쓸모가 꽤 제한적입니다. PWA 대신 네이티브 앱을 만들 이유가 거의 Bluetooth뿐이라서요.
  • @skeledrew — 지원되어야 할 것 같은데, 만약 안 된다면 extension을 만들어 지원을 추가할 수 있습니다. https://flet.dev/docs/extend/user-extensions/
  • @pietz — 2026년 3분기에 새 앱 프레임워크를 홍보하는 첫 예제로 할 일 목록 앱을 쓰다니, 정말 대단하군요.

원문: flet.dev / 번역·요약: Trawling

참고 자료

오류 제보