Skip to Content
Flet📦 Build & Deploy

Build & Deploy Flet Apps

Học cách đóng gói và phân phối ứng dụng Flet. ⏱️ 20 phút

🎯 Mục tiêu

Nắm vững:

  • Build cho desktop (Windows, macOS, Linux)
  • Build cho mobile (Android, iOS)
  • Build cho web
  • Deploy options

📦 Flet CLI

Flet cung cấp CLI để build ứng dụng:

# Xem các commands flet --help # Build commands flet build --help

💻 Build Desktop App

Windows (.exe)

flet build windows

Output: build/windows/ chứa file .exe

macOS (.app)

flet build macos

Output: build/macos/ chứa .app bundle

Linux

flet build linux

🌐 Build Web App

flet build web

Output: build/web/ chứa static files để deploy

Options phổ biến

flet build web --base-url /my-app/ flet build web --web-renderer canvaskit # Hoặc html

📱 Build Mobile App

Android (.apk / .aab)

Yêu cầu:

  • Java JDK (11+)
  • Android SDK
# APK để test flet build apk # AAB cho Google Play flet build aab

iOS (.ipa)

Yêu cầu:

  • macOS
  • Xcode
  • Apple Developer account
flet build ipa

⚙️ Build Options

Thông tin ứng dụng

flet build windows \ --product "My App" \ --org "com.mycompany" \ --build-number 1 \ --build-version "1.0.0"

Icon

# Tạo file assets/icon.png (1024x1024) flet build windows --icon assets/icon.png

Splash Screen (Mobile)

flet build apk \ --splash assets/splash.png \ --splash-color "#ffffff"

📁 Cấu trúc dự án được khuyến nghị

my-flet-app/ ├── main.py # Entry point ├── assets/ # Tài nguyên │ ├── icon.png # App icon (1024x1024) │ ├── splash.png # Splash screen │ └── images/ ├── pyproject.toml # Dependencies └── .gitignore

pyproject.toml

[project] name = "my-flet-app" version = "1.0.0" dependencies = [ "flet[all]>=0.80.0", ] [tool.flet] app = "main.py" product = "My App" org = "com.mycompany"

🚀 Deploy Options

Web Hosting

Static hosting (sau khi flet build web):

  • Cloudflare Pages
  • Netlify
  • Vercel
  • GitHub Pages
# Ví dụ: Deploy với Cloudflare Pages cd build/web npx wrangler pages deploy .

Server-side Flet App

Nếu cần server-side rendering:

# Chạy như web server flet run --web --host 0.0.0.0 --port 8080 main.py

Deploy trên:

  • Docker + VPS
  • Cloud Run
  • Heroku

Docker Example

FROM python:3.11-slim WORKDIR /app COPY . . RUN pip install flet[all] CMD ["flet", "run", "--web", "--host", "0.0.0.0", "--port", "8080", "main.py"]

📲 Publish to Stores

Google Play Store

  1. Build: flet build aab
  2. Tạo Google Play Developer account ($25 one-time)
  3. Upload .aab file lên Play Console
  4. Điền thông tin app, screenshots
  5. Submit for review

Apple App Store

  1. Build: flet build ipa
  2. Tạo Apple Developer account ($99/year)
  3. Mở Xcode để archive và submit
  4. Dùng App Store Connect

🔧 Troubleshooting

Common Issues

IssueSolution
”Python not found”Đảm bảo Python trong PATH
”Flutter SDK not found”Cài Flutter, thêm vào PATH
Android build failsKiểm tra JAVA_HOME và ANDROID_HOME
iOS build failsXcode updated, certificates valid

Checking Prerequisites

# Kiểm tra Flutter (Flet sử dụng Flutter) flutter doctor # Kiểm tra Python python --version

📋 Build Commands Summary

CommandOutput
flet build windows.exe
flet build macos.app
flet build linuxexecutable
flet build webstatic HTML/JS
flet build apk.apk (Android)
flet build aab.aab (Play Store)
flet build ipa.ipa (iOS)

🎉 Chúc mừng!

Bạn đã hoàn thành chuỗi tutorial về Flet! 🎊

Tổng kết những gì bạn đã học:

  • ✅ Cài đặt và cấu trúc Flet
  • ✅ Declarative UI với Components, Observables, Hooks
  • ✅ Layouts và Controls
  • ✅ Event handling
  • ✅ Navigation và Theming
  • ✅ File operations và Async
  • ✅ Build và Deploy

📚 Tài nguyên thêm

Chúc bạn xây dựng được nhiều ứng dụng tuyệt vời với Flet! 🚀

Last updated on