Go是否适合桌面系统?

体娱   2024-08-20 20:19   山东  
很多人对Delphi可能有所耳闻,甚至不乏其中高手!
Delphi当时的竞争对手是微软公司的VB,拖拉控件就可以建立Windows程序的一个“超级”程序。Delphi其中一个对于VB的宣传点,就是自我感觉比VB强的地方,就是一个单Exe可执行文件。
Delphi编译的程序,只需要把这个程序拷贝到目标计算机上面就行了。VB则需要附带VBRuntime运行库。
从这一点来讲,Delphi是不是跟Go的“单个可执行文件”相似呢?
当然,Delphi还有其它优点,跟Go的区别就大了。
Delphi比较重要的一个优点就是各种“Component”组件库。把一个Delphi Component拖动到桌面,然后设定属性,组件库中的各种组件就能完成各种功能。
从这个角度来讲,组件库是桌面系统的高级进化版本。 
Delphi当时有多少组件呢?
可以用“成千上万”来形容。

那么Go语言,有这么多组件库吗?
肯定是没有的,甚至是没有一个RAD可拖放环境!
go用来开发桌面程序,远远没有现在已经没落的Delphi方便。
术业有专攻,桌面也是一个非常专业的软件门类好吗?
那么目前来说,谁是桌面系统比较适合的软件呢?
有2个选择:
1、QtQuick
C++,特别是QT。
我以前在gitee见过一个跨平台的Linux桌面系统,然后出于好奇心我看了一下它的源代码!
我发现,这个桌面的核心就是QT最新的QtQuick程序。
QtQuick使用xml作为界面描述,使用JavaScript来驱动。如果有特殊的开发需求,可以用C++和原来的QT库连接。
QtQuick的界面,能够使用css类似的技术,效果比较好。
如果有美工的支持,C++的效率和Web的美观其实可以兼顾。
那个桌面,让我对QtQuick的好感大增。
2、Electron
这个是更普遍的选择。
在这个到处都是Web的时代,Electron其实是一个Web程序套了一个Chrome的壳子直接在客户端运行。
各种先进的Web洁面库,大成的后端技术,还有Electron自身提供的自动更新,一些客户端普遍功能的适配,加上Web开发人员的大丰收,都让Electron成为桌面系统的一个选择。
这种技术的缺点可能就是占用内存比较大,每次都需要期待一个Chrome,还有Web技术的渲染能力可能没有本地那么强力,但是在计算机硬件这么过剩的时代,上面2点显然不是问题。
Go语言同上面2种技术比较起来,其实就显得不是很合适了。
在不久之前,曾经有过一个GoVCL的类库,就是用Go来调用VCL来实现界面,效果确实是有点差强人意。另外VCL作为Delphi的类库,版权问题也很难解决。
Go其实有很多优势,但是桌面明显优势不大,就像邓亚萍来打篮球,没有多大的前途。
我是明月,
术业有专攻!

明月三千
将进酒,杯莫停。与君歌一曲,请君为我倾耳听。荔枝成为linux大师!
 最新文章