Hybrid desktop
桌面普通应用,不和OS紧密集成,可以考虑下面两个方案:
- Wails Webview+Go
- Tauri Webview+Rust,比Wails有更好的Native支持。
这两个框架在windows下生成的应用在10M左右。
Hybrid all
移动平台,跨OS方案主要是
Web框架
Web UI
Web UI的选择太多:
TUI
即时UI
即时UI是实时刷新的UI,适合于游戏,图表类应用。
其他UI
- Go有fyne,但缺少Common Dialog等关键特性,也不好看,基础版本也不小(22M),好处是可以兼容更多的系统,比如win7、移动端。
- Python有CustomTkinter 比标准的Tk好看很多。
- Python的NiceGUI 很有趣,基于Vue+Quasar,但是做了python封装,同时支持前后端开发。
- Java的Swing,其实很好,并且更好看,但和Python一样,发布要考虑jre的问题。
- .Net主要是Winform和WPF,总体上Winform轻量,WPF更强大,比如独立线程UI,高速绘图,但WPF有不少小坑。
PDF提取
- pdftotext 单exe,1M,提取中文要加-enc UTF-8参数,表格/图片/公式都不支持,其他没问题。
- docling IBM开源的工具,基于AI,表格/图片/公式统统支持,但中文稍有瑕疵(比如数字一很容易识别为连字符),比marker效果好不少。
chrome
- 禁用https证书检查,可以用:
--ignore-certificate-errors
- 禁用CORS,可以用:
--disable-site-isolation-trials --disable-web-security --user-data-dir="d:/temp"