乐于分享
好东西不私藏

从代码小白到做出软件,我换了三次框架

从代码小白到做出软件,我换了三次框架

从代码小白到做出软件,我换了三次框架

上一篇文章发出来后,收到不少朋友的留言,有人问我是怎么从零开始学编程的,也有人问我用什么工具开发的。今天就来聊聊我做 印流PDflow 的技术踩坑史。

简单说:我换了三次框架。


🛠️ 第一代:pywebview + HTML/CSS

一开始我什么都不懂,听说用网页技术做界面最简单,就选了 pywebview。确实快,几天就搭出了基本界面。但打包出来之后,中文全变成了乱码。

试了 UTF-8 声明、BOM 头处理、Base64 编码、URL 加载……所有能搜到的编码修复方案全试了一遍,全部无效。

后来才知道,这是 Windows 自带的 WebView2 组件和系统编码的兼容性死结。代码层面根本解决不了,只能换框架


🛠️ 第二代:Flet

Flet 基于 Flutter 引擎,中文终于不乱码了。但新问题来了:Flet 大版本更新频繁,同一个属性名在 0.80 和 0.84 两个版本上完全不一样。

  • 文件选择器用法变了
  • 图标名称改了
  • 控件参数名换了

每次更新版本就像开盲盒,不知道哪个功能又崩了。折腾了两周,我再次决定迁移。


🛠️ 第三代:PySide6

这是目前最稳定的一版。PySide6 基于 Qt,原生控件不会乱码,API 成熟度高。但代价是必须从头写框架:

  • 主窗口
  • 导航栏
  • 页面切换逻辑
  • QSS 主题系统

光是浅色模式的全局适配,就折腾了好几轮:

  • 系统默认样式会覆盖自定义 QSS
  • 原生对话框不受控制
  • 文件选择器的暗色主题无法修改

前前后后调试了好几周,才算稳定下来。


💡 三次换框架教会我的事

  1. 做桌面软件,PySide6 是目前最稳的选择,但打包体积偏大是硬伤
  2. 不要在框架选型上纠结太久,用“能跑通 → 发现瓶颈 → 再换”的节奏,比自己调研三个月更高效
  3. AI 辅助开发不是一键生成——当你知道每一行代码为什么在那里时,AI 帮你把写代码的速度提升 10 倍

目前印流PDflow 已经发布了 V1.0.1,稳定运行,完全免费。如果你也在学编程,或者对独立开发感兴趣,欢迎留言交流。

回复「下载」获取软件链接。