|
首先,在这里发表这一个东西,原意是为了与asmcos交流GUI,
当然本人特别不想因此而引起争论,正因为有竞争才会有进步。
为了回答某些朋友的疑问,下面借asmcos的EGui论坛说说它的由来。
问:既然有了QT,wxWindow,FLTK等(不说GTK+,因为它是C,
gtkmm是另外范畴),甚至同样的有haiku(OpenBeOS),cosmoe,
为何还要写这个ETK++呢,这不是重复发明轮子吗?
答:
1.写ETK++的初衷因为想把类似BeOS的API接口可以应用到各个平台,
现在Linux/Solaris/Win32/Darwin/FreeBSD都可以运作(BeOS计划中),
开始的时候所有类名都是以B开头的,也就是说我的初衷和cosmoe很类似,
后来我想把它构建在已经实现相应S/C模式的各平台上,从而剔除了app-server等
一系列后台服务,从而把类名开头B改为E(因为它们不兼容);haiku是运行在
NewOS上的,而cosmoe是把原来haiku的成果移到Linux下(cosmoe作者
说他开发时完全是凭兴趣,其实本人也一样,所以是否是在重复造轮子,
大家不必太在乎);而ETK++从头都尾我都是结合以往BeOS的编程经验
和参考BeBook来写的,没有haiku的代码(我会把代码放出来的),我可以
遵循LGPL,也可以遵循BSD License,甚至其它的(这样的业余东西不可能收费);
所以我想写ETK++与haiku和cosmoe没什么必然要如何的结论吧。
人家写了,您大可以再写,而且按您的思维在写,虽然不知有用与否,但是整个
过程本身就是一种享受,我想EGui的作者asmcos应该也深有感触吧。
2.QT、wxWindow、FLTK等应用目标各有不同,同样,BeOS的API机制
也与QT、wxWindow、FLTK、MFC等大有不同,那为什么它会没落呢,
是因为它的经营还是其它的?无论如何,只要你肯花点时间详细看看BeBook,
你会发现它无论Application还是Kernel,Interface,Media,Game,OpenGL,Network,Storage,Support
等都很引人入胜(BeOS曾被称为Media OS),而且绝大多数都是Multi-Thread Safe的东西,
而多线程恐怕是以后多核的发展方向吧,对于实时系统也是很方便的,不过相应缺点也有,
引用MiniGUI作者的一句话:“系统健壮性较差,程式需要经过严密的测试”,
而对于现在的一些运用,本身就需要严密测试的,甚至任何一点马虎都将造成
无可限量的后果。QT、wxWindow、FLTK大多数都是为了GUI做的,如果
非要拿BeOS的API来比(BeOS有x86及ppc),那么说它是有点类似java但又采用C++实现的味道了,
所以道不同。即使道相同,也有再写的例子,如:GNOME的产生是由于QT的
授权协议?GTK+的产生又是否与Motif等有关系呢?
3.发表在这个LinuxFans里纯粹是为了交流,不为别的,同时也很希望有对BeOS
的develop有兴趣之志同道合者相互交流。 |
|