科技公司不是有钱就能都收购的。习主席不是说了吗,核心技术是要不来,买不来的。
科技公司不是有钱就能都收购的。习主席不是说了吗,核心技术是要不来,买不来的。
同意,中国的哪个伟大的成就不是中国人民踏踏实实一步一步走过来的
Linux 没有免费的 GUI 库?gtk 表示受不了这样的委屈
你不能这么看不起GTK
dtk也是开源的,还被隔壁红旗用了dtk2
dtk也是开源的,还被隔壁红旗用了dtk2
然而 dtk 基于 qt
Linux 没有免费的 GUI 库?gtk 表示受不了这样的委屈
gtk根本没有qt好用,强大
imgui为什么没人用,做一个快速开发框架的话,也是不错的
gtk根本没有qt好用,强大
但至少能占有 Linux 桌面应用的半壁江山,大部分桌面环境都是基于 gtk 的。如果 qt 被限制了,那 gtk 就更是成为了开源 GUI 的主力军。
除了楼主说的Qt+C++开发GUI程序以外,我们还可以:
一、使用Vala + Gtk开发GUI程序,相当于写C#或java的代码,但因为它的编译方法是先转译成C语言代码然后再编译的,Vala开发的程序有着逼近C/C++程序的性能。缺点也很明显,就是难学,原因有二,其一是这个语言太小众,Vala这门开发语言只运行在linux环境。所以即使在以英语为母语的国家里的开发者也很少研究这项语言。其二是中文资料太少,这就阻碍了汉语为母语的国内开发者们的学习。
如果你想使用vala进行GUI的开发,我可以推荐给你的中文资料只有“Vala编程手册.pdf”这一份768.5KB的文件,在学习了基础的Vala使用方法后,就要学会访问Vala维基(https://wiki.gnome.org/Projects/Vala/)和Vala API手册( https://valadoc.org/)。(ps:在尝试用Vala实现自己的点子遇到难题时,打开vala维基浏览一下里面的Vala代码示例,说不定会让你看到解决办法。)
二、使用Java + Swing 或 Java + Javafx开发跨平台的程序,别总人云亦云说java+GUI是过时的技术,我以前所在的公司里就是用Javafx开发的中台服务支撑工具,方便后端业务支撑人员收集前台工作人员提出的问题工单并进行业务支撑。不得不承认,Swing是一个诞生在1998年的很古老的技术,但JavaFx也差不多是一个“老前辈”了,但很多IT前辈们已经为我们踩坑,为我们提供大量的学习资料,我可以查到百度搜索中最早关于swing的讨论是在2001年。所以,请小心地使用吧。
三、使用Electron开发GUI程序,非常推荐这个,因为他开发语言为NodeJS(其实*)是最简单最容易入门的,并且他的窗口就是前端HTML技术。Electron的优势就是国内IT行业里人数最多的前端开发者最熟悉的,并且有着适应敏捷开发、热更新、较快地迭代的优点。你可以注意到最近国内最新的桌面程序大都利用了这一技术,即使他们的程序并不准备跨平台。
缺点就是太大,程序体积大,运行时占用内存大。NodeJS语言不适合CPU运算密集型的程序,适合IO密集型的技术。
steam有一款名为RPGMakerMV的跨平台游戏开发工具,它的默认游戏打包方式是nw.js,其实和Electron大同小异。
四、使用Python开发GUI程序,Python有很多GUI相关的模块,比如大名鼎鼎的pygame,可以调用SDL的pygame_sdl2还有tkinter,当然Python更擅长的领域是数据分析。可以开发跨平台Galgame游戏的renpy是使用pygame_sdl2进行窗口内容的绘制。(ps:最近发现corr去upt掉ion这款游戏竟然支持在deepin运行,感谢Tom).
五、使用Go+andlabs/ui库或lxn/walk库,开发GUI程序,不过据说andlabs/ui库有功能缺陷,所以推荐使用lxn/walk。
六、使用lua+Love2D进行2D游戏程序的开发,他都能开发游戏了,写一个简单的GUI程序自然不在话下。
唠叨了这么多,其实我只是想表达,基本上大多数在linux上的编程语言都会找到自己的GUI模块/组件/包/库。语言不是最重要的,根据自己当下的需求选择一个合适的就行了 。
两个字 呵呵
有的东西 免费了 就不香了
这个不行那个不行
回去用Windows行不行
什么没有免费的GUI库,分明就是没有楼主想要的GUI库

楼主你看看Clutter行不行

不是引战,而是觉得楼主的观点真的太什么了,按照你的意思(因为字眼里写明了商业软件),你的开发成本让祖国帮你出,你出产品了,就来找我们老百姓买单,这种观点,我有点无语。
我还想说“为什么房 价这么贵?哪一个开发商不是肥到流油的?能不能每人免费发一套房子住,因为他们也跟中国一样,不缺这个钱啊。”
不是引战,而是觉得楼主的观点真的太什么了,按照你的意思(因为字眼里写明了商业软件),你的开发成本让祖国帮你出,你出产品了,就来找我们老百姓买单,这种观点,我有点无语。
免费让公司使用qt可以帮助linux发展生态啊
我还想说“为什么房 价这么贵?哪一个开发商不是肥到流油的?能不能每人免费发一套房子住,因为他们也跟中国一样,不缺这个钱啊。”
从你的回答,感觉你像小学生,房价贵收益的主要是政府,开发商拿的是小头.而且对于一些土豪国家,免费分房不是不可能.
imgui为什么没人用,做一个快速开发框架的话,也是不错的
imgui 正如名字所说,是'及时'的gui啊。
意味着每帧都刷新,这样的算法只有用于游戏,因为游戏每帧刷新跟真正每帧刷新的3d渲染比起来就是小乌。
桌面ui用的是脏矩阵算法,只有部分区域改变的时候,才刷新改变的部分。这样的性能损耗很小。
更何况imgui的整个控件系统不能和qt比,imgui 是专为游戏而生,做桌面是非常非常不合适的
对于Qt商业开发问题,商业协议、GPL和LGPL 已经老生长谈了,网上有很多这两个协议的讨论。收购也要走商业化原则,秉承 语言为商业服务的原则。
为什么国内软件为响应UOS,都会使用Electron框架:
1. 好招人 2. 软件不需要大性能要求 3. 敷衍一下,毕竟linux客户量不大
Qt为什么受比Gtk要好:
1. Qt统一了 IDE 和 类库,Gtk 无特定IDE 类库分散( atk、pango、cairo )
2. Qt提供大而全的文档, Gtk 文档也还是分散
3. Qt 原生界面美观度比 Gtk 好
Dtk 是否会更好,现状:
1. 重写很多原生Qt组件,美观设计很现代化
2. Dtk 文档和教程不健全, 对初学者不友好
3. 对于跨linux 版本 可使用appimage 问题不大, 跨 macos 和 windows 方案不明确
疑问: Deepin 原创应用都抛弃和 Qt 的 .ui 文件设计器的开发方案,完全纯码化开发界面,为什么?


中文 
现在linux下就是没有一个免费的GUI库,使用qt写商业软件还要付费,很多厂商都不愿意付费。所以我觉得中国应该收购QT,然后免费开放给各大公司使用,中国不缺那一点钱。