不懂前端也能写 App?Flet (Flutter for Python) 开发跨平台应用实战 (Android/iOS/Web)

不懂前端也能写 App?Flet (Flutter for Python) 开发跨平台应用实战 (Android/iOS/Web)

标签: #Python #Flet #Flutter #跨平台开发 #GUI #移动端开发


🚀 前言:为什么是 Flet?

如果你是 Python 党,你一定会有这样的痛点:
脚本写得很溜,但老板非要个“可视化界面”;或者你想把数据分析结果做成一个手机 App 给客户看。
传统的 Python GUI 库(Tkinter, Qt)在移动端几乎是废的。

Flet 的核心逻辑是:

你负责写 Python(处理数据、逻辑),Flet 负责在后台调用 Flutter 引擎画出漂亮的界面。你不需要懂 CSS 布局,也不需要配置复杂的安卓环境(开发阶段)。


🏗️ 一、 架构原理:Python 怎么指挥 Flutter?

Flet 采用的是 Server-Driven UI (服务端驱动 UI) 模式。
你的 Python 代码其实是一个“服务端”,而显示界面的窗口其实是一个“Flutter 客户端”。

工作流示意图 (Mermaid):

UI 端 (Flutter 引擎)

Python 端 (你的代码)

page.add(Text)

WebSocket / HTTP

用户点击事件

更新指令

业务逻辑

Flet Server

Flet Client (App/Web)

这种架构的好处是:极快。Python 修改属性,界面毫秒级刷新,开发体验极佳。


💻 二、 极速上手:写一个计数器 App

安装 Flet:

pip install flet 

新建 main.py。你会发现,它的写法非常像 React,但是是 Python 版本的。

import flet as ft defmain(page: ft.Page):# 1. 设置页面基础属性 page.title ="Flet 计数器" page.vertical_alignment = ft.MainAxisAlignment.CENTER page.theme_mode = ft.ThemeMode.LIGHT # 支持深色/浅色模式切换# 2. 定义状态变量 txt_number = ft.TextField(value="0", text_align=ft.TextAlign.RIGHT, width=100)# 3. 定义交互逻辑defminus_click(e): txt_number.value =str(int(txt_number.value)-1) page.update()# 类似 React 的 setState,通知界面刷新defplus_click(e): txt_number.value =str(int(txt_number.value)+1) page.update()# 4. 组装 UI (搭积木) page.add( ft.Row([ ft.IconButton(ft.icons.REMOVE, on_click=minus_click), txt_number, ft.IconButton(ft.icons.ADD, on_click=plus_click),], alignment=ft.MainAxisAlignment.CENTER,))# 运行应用 (默认以桌面应用方式打开) ft.app(target=main)

运行效果:
你会看到一个原生的 Windows/Mac 窗口,界面是标准的 Material Design 风格,丝滑流畅。


📱 三、 进阶:如何变成手机 App?

Flet 不仅仅是跑在电脑上的。
要在手机上预览,只需要改一行代码:

# view=ft.AppView.WEB_BROWSER 会在浏览器打开# 局域网预览模式: ft.app(target=main, port=8550, view=ft.AppView.WEB_BROWSER)

真机调试步骤:

  1. 确保手机和电脑在同一 WiFi 下。
  2. 电脑运行代码。
  3. 手机浏览器访问 http://电脑IP:8550
  4. 神奇的事情发生了:你的 Python 代码变成了一个 PWA 网页应用,操作手感和原生 App 几乎没区别!
打包 APK (硬核环节)

如果你真的想把这个生成 .apk 文件安装到手机上,Flet 提供了 flet build 命令(基于 Flutter SDK)。

  1. 安装 Flutter SDK 和 Android SDK(这是唯一复杂的环境配置)。
  2. 运行打包命令:
flet build apk 
  1. 喝杯咖啡,Python 代码就被编译成了可以在安卓手机安装的安装包。

📊 四、 适用场景与避坑

Flet 虽然好用,但不是万能的。

维度适合用 Flet不适合用 Flet
应用类型内部工具、管理后台、数据看板、简单的 CRUD 应用3D 游戏、极其复杂的自定义动效、高性能音视频编辑
开发效率⭐⭐⭐⭐⭐ (极快)⭐⭐
包体积较大 (包含 Python解释器+Flutter引擎)小 (原生开发)
生态Python 生态 (Pandas, Requests 随便用)需要深度调用手机底层硬件 (蓝牙/NFC 支持尚不完善)

🎯 总结

Flet 是 Python 工程师拓展边界的利器。
它不需要你精通前端,只要你会写 Python 函数,就能构建出颜值得体的跨平台应用。

对于 企业内部工具个人副业项目 来说,Flet 是目前性价比最高的技术选型之一。

Next Step:
把上面的计数器代码复制下来,尝试加一个 ft.Dropdown 下拉框,做一个简单的“汇率转换器”。当你第一次在手机上点开自己写的 App 时,你会爱上这种感觉的。

Read more

ComfyUI Manager:AI绘画工作流的终极智能管家

ComfyUI Manager:AI绘画工作流的终极智能管家 【免费下载链接】ComfyUI-Manager 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager 想要在ComfyUI中高效管理各类插件和模型?ComfyUI Manager正是你需要的智能管家。这个强大的工具让AI绘画工作流的管理变得简单直观,无论你是初次接触还是资深用户,都能从中获得显著效率提升。 🚀 三分钟快速部署指南 启动ComfyUI Manager的过程比想象中简单。首先确保你的环境满足基本要求:Python 3.8-3.10版本、8GB以上内存、2GB可用存储空间。 一键安装命令: cd custom_nodes && git clone https://gitcode.com/gh_mirrors/co/ComfyUI-Manager comfyui-manager 安装完成后,重启ComfyUI应用程序,你将在主菜单中看到"Manager&

(赠源码)springboot无人机智能管控系统小程序76078- 计算机毕业设计原创

(赠源码)springboot无人机智能管控系统小程序76078- 计算机毕业设计原创

摘 要 本文介绍了一种基于SpringBoot的无人机智能管控系统小程序的设计与实现。随着无人机技术的迅速发展,无人机在各个领域的应用越来越广泛。然而,无人机的管理和管控面临着一系列挑战,如空域管理、飞行限制区域等。 为了解决这些问题,本研究旨在通过开发一个基于SpringBoot的小程序,提供智能化的无人机管控解决方案。该小程序结合了无人机的航迹规划、飞行监控、数据分析等功能模块,可以帮助用户对无人机进行实时监控和管理。 在系统设计上,采用了SpringBoot框架作为后端开发工具,前端使用微信小程序开发技术。通过小程序,用户可以实现无人机的注册、登录、航迹规划、飞行监控等操作。系统会根据用户设置的参数,对无人机进行自动飞行监控,并将飞行数据实时显示在小程序界面上。 经过系统测试和性能评估,该无人机智能管控系统小程序表现出良好的稳定性和可靠性。它为用户提供了一个便捷、智能化的无人机管理平台,帮助他们更好地掌控无人机飞行情况,确保飞行安全和遵守法规。该小程序的开发对推动无人机行业的发展具有重要意义,为无人机的智能管控提供了一种新的解决途径。 关键词:springboot无人机

ManiSkill:打造高效机器人模拟环境的全栈指南

ManiSkill:打造高效机器人模拟环境的全栈指南 【免费下载链接】ManiSkill 项目地址: https://gitcode.com/GitHub_Trending/ma/ManiSkill 在机器人研发领域,选择合适的模拟环境直接决定开发效率。ManiSkill作为一款功能全面的机器人操作模拟平台,通过高度逼真的物理引擎和丰富的任务场景,帮助开发者快速验证算法有效性,显著降低真实世界测试成本。本文将系统介绍如何从零开始构建ManiSkill开发环境,掌握核心功能应用,并解决实践中可能遇到的技术难题。 1.环境准备:3步完成模拟系统部署 兼容性验证清单 在开始安装前,请确认您的系统满足以下条件: * Linux + NVIDIA GPU:完整支持CPU/GPU模拟及渲染功能 * Windows系统:支持CPU模拟和渲染,但GPU加速功能暂不可用 * MacOS系统:仅支持基础CPU模拟功能 核心安装命令 # 克隆项目仓库 git clone https://gitcode.com/GitHub_Trending/ma/ManiSkill cd ManiS

OpenClaw 是一个开源的、面向具身智能(Embodied AI)与机器人操作研究的多模态大模型框架

OpenClaw 是一个开源的、面向具身智能(Embodied AI)与机器人操作研究的多模态大模型框架

OpenClaw 是一个开源的、面向具身智能(Embodied AI)与机器人操作研究的多模态大模型框架,由上海人工智能实验室(Shanghai AI Lab)联合多家机构于2024年发布。它聚焦于“视觉-语言-动作”(Vision-Language-Action, VLA)联合建模,旨在让AI不仅能理解环境和指令,还能生成可执行的、细粒度的机器人控制动作序列(如关节扭矩、末端位姿、抓取姿态等),支持真实/仿真双环境部署。 核心特点包括: * ✅ 多模态对齐:统一编码图像、语言指令、机器人本体状态(如关节角度、力觉反馈); * ✅ 动作生成范式:采用“tokenized action”设计,将连续动作离散化为可学习的action tokens,便于大模型端到端生成; * ✅ 开源生态:提供预训练模型权重、仿真环境(基于ManiSkill2)、真实机械臂适配接口(如UR5e + Robotiq 2F-85)、数据集(OpenClaw-Bench)及训练/