Firebase와 Google Analytics의 대안으로 제공되는 모바일·데스크톱·웹 앱용 오픈소스 개인정보 보호 우선 분석 도구
flet-dev/flet
프런트엔드 경험 없이 Flutter 기반 UI로 웹, 데스크톱, 모바일 앱을 만들 수 있는 Python 프레임워크입니다.
- 스타
- 17,392
- 포크
- 732
- 열린 이슈
- 269
- 마지막 커밋
- 9시간 전
어떤 프로젝트인가요?
Flet을 사용하면 개발자가 UI와 애플리케이션 로직을 모두 Python으로 작성할 수 있습니다. Flet으로 만든 앱은 iOS, Android, Windows, macOS, Linux와 웹에서 실행되며, 레이아웃, 폼, 내비게이션, 다이얼로그를 아우르는 150개 이상의 기본 컨트롤을 제공합니다. 컨트롤은 Material 및 Cupertino 디자인으로 스타일링할 수 있습니다.
Flet은 두 가지 UI 작성 방식을 지원합니다. 선언형 방식에서는 상태가 바뀔 때 재사용 가능한 컴포넌트가 다시 렌더링되고, 명령형 방식에서는 컨트롤을 직접 업데이트합니다. Python 앱은 Pyodide와 WebAssembly를 통해 브라우저에서 실행하거나, 코드를 서버에 두고 브라우저에 실시간 UI 업데이트를 전송할 수 있습니다. 사전 빌드된 바이너리 패키지를 사용하면 모바일 앱에서도 NumPy, pandas, Pillow 같은 라이브러리를 활용할 수 있습니다.
프로젝트에는 데스크톱, 모바일, 웹 배포용 앱 패키징을 위한 `flet build`와 패키징된 앱을 대상으로 pytest 기반 통합 테스트를 실행하는 `flet test`가 포함되어 있습니다. 기존 컨트롤을 조합하거나 Flutter 패키지를 래핑해 커스텀 컨트롤을 만들 수도 있습니다.
핵심 기능
- 01하나의 Python 코드베이스로 iOS, Android, Windows, macOS, Linux, 웹 등 6개 플랫폼을 지원합니다.
- 02Material 및 Cupertino 스타일을 지원하는 기본 컨트롤 150개 이상을 제공합니다.
- 03선언형 및 명령형 UI 작성 방식을 모두 지원합니다.
- 04Python 앱을 Pyodide를 통해 브라우저에서 실행하거나 실시간 업데이트를 전송하는 방식으로 제공할 수 있습니다.
- 05`flet build`로 데스크톱, 모바일, 웹 배포용 앱을 패키징합니다.
- 06`flet test`로 패키징된 앱을 대상으로 pytest 통합 테스트를 실행합니다.
활용 사례
- JavaScript나 Dart를 배우지 않고 Python으로 내부 도구나 대시보드를 만들 수 있습니다.
- 하나의 Python 앱을 데스크톱, 모바일, 웹에 배포할 수 있습니다.
- NumPy, pandas, Pillow를 사용하는 모바일 앱을 만들 수 있습니다.
- Python 스크립트나 데이터 워크플로를 위한 GUI를 빠르게 프로토타이핑할 수 있습니다.
빠른 시작
- 1
flet 패키지를 설치합니다
pip install 'flet[all]' - 2
카운터 예제를 counter.py로 저장합니다(README에서 코드를 복사하세요)
- 3
앱을 네이티브 데스크톱 창에서 실행합니다
flet run counter.py - 4
선택적으로 같은 앱을 브라우저에서 실행합니다
flet run --web counter.py
사용 전 알아둘 점
- 모바일 패키징과 일부 기능에는 flet build 같은 추가 도구가 필요하며, 설정이 더 복잡해집니다.
- 네이티브 라이브러리를 사용해 모바일에서 Python을 실행할 수 있는지는 Flet의 사전 빌드된 바이너리 패키지에 따라 달라집니다.
토픽
자주 묻는 질문
- flet은(는) 무엇인가요?
- 프런트엔드 경험 없이 Flutter 기반 UI로 웹, 데스크톱, 모바일 앱을 만들 수 있는 Python 프레임워크입니다. Flet을 사용하면 개발자가 UI와 애플리케이션 로직을 모두 Python으로 작성할 수 있습니다. Flet으로 만든 앱은 iOS, Android, Windows, macOS, Linux와 웹에서 실행되며, 레이아웃, 폼, 내비게이션, 다이얼로그를 아우르는 150개 이상의 기본 컨트롤을 제공합니다. 컨트롤은 Material 및 Cupertino 디자인으로 스타일링할 수 있습니다.
- flet은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- flet은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- flet은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. flet의 마지막 커밋은 2026년 10월 19일입니다.
- flet은(는) 어디에 사용할 수 있나요?
- JavaScript나 Dart를 배우지 않고 Python으로 내부 도구나 대시보드를 만들 수 있습니다. 하나의 Python 앱을 데스크톱, 모바일, 웹에 배포할 수 있습니다. NumPy, pandas, Pillow를 사용하는 모바일 앱을 만들 수 있습니다. Python 스크립트나 데이터 워크플로를 위한 GUI를 빠르게 프로토타이핑할 수 있습니다.
- flet는 어떻게 설치하나요?
- flet 패키지를 설치합니다: pip install 'flet[all]' 카운터 예제를 counter.py로 저장합니다(README에서 코드를 복사하세요) 앱을 네이티브 데스크톱 창에서 실행합니다: flet run counter.py 선택적으로 같은 앱을 브라우저에서 실행합니다: flet run --web counter.py
- flet은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/flet-dev/flet
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Android, iOS, 웹에서 실행되는 범용 네이티브 앱을 React로 만드는 오픈소스 프레임워크입니다.
AI 에이전트와 LLM이 시뮬레이터, 에뮬레이터, 실제 기기에서 iOS·Android 앱을 자동화하도록 지원하는 MCP 서버입니다.
iOS, Android, macOS 등에서 Linux, Unix, Windows 서버 상태를 모니터링하고 SSH로 서버를 관리하는 Flutter 앱입니다.
Flutter로 만든 오픈소스 비밀번호 관리자로, 모바일·데스크톱·웹에서 KeePass 2.x KDBX 3 및 KDBX 4 데이터베이스를 사용할 수 있습니다.