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 windowsOutput: build/windows/ chứa file .exe
macOS (.app)
flet build macosOutput: build/macos/ chứa .app bundle
Linux
flet build linux🌐 Build Web App
flet build webOutput: 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 aabiOS (.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.pngSplash 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
└── .gitignorepyproject.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.pyDeploy 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
- Build:
flet build aab - Tạo Google Play Developer account ($25 one-time)
- Upload .aab file lên Play Console
- Điền thông tin app, screenshots
- Submit for review
Apple App Store
- Build:
flet build ipa - Tạo Apple Developer account ($99/year)
- Mở Xcode để archive và submit
- Dùng App Store Connect
🔧 Troubleshooting
Common Issues
| Issue | Solution |
|---|---|
| ”Python not found” | Đảm bảo Python trong PATH |
| ”Flutter SDK not found” | Cài Flutter, thêm vào PATH |
| Android build fails | Kiểm tra JAVA_HOME và ANDROID_HOME |
| iOS build fails | Xcode 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
| Command | Output |
|---|---|
flet build windows | .exe |
flet build macos | .app |
flet build linux | executable |
flet build web | static 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
- Docs chính thức: docs.flet.dev
- Examples: github.com/flet-dev/flet/examples
- Discord: discord.gg/flet
Chúc bạn xây dựng được nhiều ứng dụng tuyệt vời với Flet! 🚀
Last updated on