- 主题:发现几乎没人问gtk+的
gtk+比起qt来,层次和结构更细,所以对于熟手和生手都比较友好。
一个很小的gtk+示例程序,就是一个C的代码。不像Qt,上来就c++。我一直觉得C++完全是个很费脑细胞的东西。
为啥没人用呢?还是没有问题,所以不见有人问。
--
FROM 106.39.149.*
【 在 freyoneby 的大作中提到: 】
: 受到GNU 限制吧,自己耐心搞个好东西出来还要开源,瞬间就被人抄了
这个不会吧,用GTK开发的代码必须开源?
我对GNU的理解是,你用了它的代码,这里说的代码是源代码。
但是GTK是工具啊,你用的是它的二进制代码,你用它的源代码干什么呢?
或许我理解得不对?
我的意思是,难道用gcc/g++开发的软件,必须开源?
--
FROM 106.39.151.*
【 在 hyperLee 的大作中提到: 】
: 有汽车谁还坐自行车,有了qt谁还用mfc,gtk要是从头开始用cpp设计,你看是什么样子。
: 再说了,gtk连个开发工具都配不全,开发者凭什么相信他能长久?
: gtk那开发模式,比mfc还原始,没谁愿意自虐。
: ...................
我觉得GTK的结构更为清晰,不像Qt,一大坨,先安装个IDE再说。当然它也提供了命令行,但谁会用呢?仅仅是个命令行而已。
而Gtk的层次更清楚,Glib、GTK、Gio,如果你实在想用C++,它还有Gtkmm。
当然,或许很多人认为C++比C要好很多,但是我不觉得,我觉得C更容易让人理解,也更容易上手。封装固然简化了程序结构,但这对大型的工程是好事,或者说没有代码封装技术,做大型软件几乎是不可能的。
但是对于小型的软件,比如就十来个界面,或者压根没有GUI界面,不会动辄就搞C++吧?这个门槛也太高了点。
我发现Gtk最强大的不是它的Widget这部分,而是GLib这部分。而之所以有了强大的GLib,我觉得Gtk有理由走得更远。
总的来说,Gtk让不同的软件有不同的选择,而不是二话不说先装个IDE再说。
或者说,C++提供了封装,但是如果你不知道封装的是什么,还不如不封装。
--
FROM 106.39.151.*
【 在 newre 的大作中提到: 】
: 个人认为GTK 走了歪路了, 其实15年前, GTK和QT 都有有机会成为手机的标准之一,但遗憾的是,社区不感兴趣,而有实力推进成为标准的google使用了Java, GTK在移动时代基本成为过时的库了。
: 现在,除非有大公司比如华为, 把 python + GTK 作为端侧的标准开发语言,我的意思是把python 和GTK深度绑定,让python拥有GTK图形图像能力,大幅简化软件工程,让更多的人用更简洁的方式能够开发出优秀的应用,GTK或许还能延寿30年。
: 在后移动时代学GTK, 是不是性价比有点太低了?
: ...................
你说的后移动时代,大概念上属于市场和业务领域的范畴,这不意味着技术上也都是这样,技术永远都是多样化的,否则也就谈不上发展和进步了。
技术是为市场服务的,但市场是很难预测的,所以技术的多样性是必要的。
Qt我以前看过,一个Qt需要一台被称为“主力机”的电脑来运行,因为它大。后来看了Gtk才明白,随便找个电脑就可以进行GUI编程,需要的并不多,甚至需要的仅仅是个终端而已。
我觉得在经过Java的洗礼以后,很多人已经不知道终端为何物了。
所以呢,GTK不需要学习,因为如果你只是需要一个窗口而已,也就半天的功夫,你不需要学习什么东西,它仅仅是个GUI库。
当然,如果你想做复杂的应用,它也有复杂的事件处理;但如果你想做的东西没那么复杂,你不需要理会其它东西,你需要的仅仅是编写一个C程序,调用3、5个Gtk库函数而已。
所以,第一,除了你需要的库,你不需要安装什么额外的东西;第二,除了你需要的函数,你也不需要学习额外的东西。这就是我认为的Gtk的优点。
--
FROM 106.39.151.*