Repolode
flet-dev

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. 1

    flet 패키지를 설치합니다

    pip install 'flet[all]'
  2. 2

    카운터 예제를 counter.py로 저장합니다(README에서 코드를 복사하세요)

  3. 3

    앱을 네이티브 데스크톱 창에서 실행합니다

    flet run counter.py
  4. 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 통계는 매일 갱신됩니다.

관련 프로젝트