查看原文
其他

第一次做桌面端项目,坑真的太多了!

鱼皮 程序员鱼皮 2024-01-30

大家好,我是程序员鱼皮。

直说了吧,我讨厌做桌面端项目。

我从大学期间刚学编程没多久,就跟着工作室开始做项目。至今为止做过大大小小几十个项目,网页、小程序、各种工具轮子、控制台程序、脚本都做过一些,但就是几乎没做过桌面端项目。

哦,除了我的毕业设计之外。因为我的毕设题目是被强行敲定的,我命由天不由我,当时做了一个桌面端的图像处理软件,用的是 C++ 的 Qt 开发框架。

为什么我不喜欢做桌面端项目呢?

我个人的几个原因:

  1. 桌面端项目不利于分享。相比于网站、小程序这种应用形态,开发桌面端项目还得让用户下载安装包、还得做个官方去宣传,太麻烦了。
  2. 桌面端项目不利于移植。以前大家可能都用 Windows,但现在选择多了,macOS、Linux 的用户也越来越多,如果你想开发一个同时兼容多个操作系统的应用,成本会比较高,要考虑到各个平台的差异和限制。
  3. 桌面端项目的技术栈老旧。这里的老旧是相比前端 web 开发来说的,前端新技术层出不穷、越来越卷,甚至有大前端跨平台、一统客户端的野心。而桌面端技术呢?就拿 Java 桌面端开发来说吧,无论是组件还是开发框架,都少的可怜。

所以一般情况下,如果又更好的选择,我是不会去做桌面端项目的,也不建议编程初学者去做桌面端项目。

但是,最近我们公司在研发一个工具类的项目,由于要使用操作系统的功能,必须要让用户在自己的电脑上安装使用,所以只能选择桌面端。

实话说,第一次带团队做桌面端项目,我是非常紧张的。因为我对桌面端开发的了解并不深,担心出现一些无法解决的问题,导致整个项目都无法完成。

所以在做这个项目前,我给了团队的技术同学很长一段时间,专门去调研桌面端开发框架、以及通过写 Demo 的方式,调研能否实现我们项目必须的功能,而且多次开会确认。

最终,我们选择的框架是 Electron。这是一个跨平台的桌面端开发框架,最大的优势是可以用我们技术同学最熟悉的前端语言开发,不用学习新的语言。

虽然 Electron 不是最新的跨端开发技术,但是生态还是不错的,也比较成熟,太新的框架我们反而不敢用。

Electron 框架的实现原理是内置了浏览器的内核,相当于在桌面端里运行了我们开发的网页,所以它的一个大缺点就是打包出来的应用体积会比较大。

但是都 5G 时代了,体积大一点我觉得并没有什么影响。

开发过程中,我们遇到了不少难题,尤其是有些功能 Windows 能用、Mac 不能用,典型的兼容性问题。为了解决这些问题,我们的技术同学要来回在两个不同系统的电脑上打包测试,花费了很多时间。

虽然 Electron 开发出来的桌面端程序的性能是比不过原生应用的,但是经过我们的测试验证,体验也还是 ok 的,而且绝大多数的系统能力都可以使用 Electron 来调用。

我们也已经顺利使用 Electron 开发完了工具的核心功能,现在项目已经属于测试阶段,后面会给大家分享,期待的话请多多为我投票(点赞)吧~

👇🏻 点击下方阅读原文,获取鱼皮往期编程干货。

往期推荐

鱼皮原创 7 大实战项目,保姆教程!

服务器没挂,为啥无法访问?

终究还是拿下字节!强度拉满!

这玩意早该火了!前端大型项目必需品

谁才是 “最懂程序员” 的搜索引擎?

后端,Linux 要学到什么程度?

继续滑动看下一个

第一次做桌面端项目,坑真的太多了!

鱼皮 程序员鱼皮
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存