在sourceforge上找到个Visual Component Framework--开源c++ builder一点构思
一个跨平台的库。
最早的文件日期是2001-10-20,最近svn上的日期是2011-01-07。
项目声明,借鉴了Borland的vcl库和Java的Swing框架。
作者ddiego,个人很佩服,一个人开发了那么久还在继续更新。
这段时间大家讨论的搞个开源的类似c++builder的可以参考一下。
项目主页Visual Component Framework
原版项目说明
The Visual Component Framework is intended as a cross platform class library, that supports, among other things, an advanced GUI framework strongly influenced by Borland's Visual Component Library and Java's Swing framework.
开源协议:BDS
//--------------------------------------------------------------------
这段时间 chla 的帖子 开源c++ builder想法不知道可行不?
个人觉得可行性还是有的,不过做的工作比较多,个人有个简易的框架,希望各位c++builder粉丝讨论,也希望其它板块的高手给点意见和建议。 希望妖哥看到了,推荐一下
一、先要了解什么是c++builder
c++builder(以下简称cb,不要和code::blocks搞混了呵呵)是最早是由Borland开发出来的一个c++语言的为主的ide,如果认为c++builder就是个c++编译器和ide的简单结合体就错了,实际上cb是由c++编译器,vcl库,ide这三个紧密的联合在一起组成的缺一不可,少了哪个都没有了cb的精髓。
二、我们最基本需要完成什么
1,c++编译器
2,一个类似vcl的跨平台gui库
3,一个有可视化界面设计的ide
三、c++编译器
基本上c++编译器的有两个思路,一个是扩展g++编译器可以编译那些cb特有的c++关键字和语法,另一个是直接用g++编译器不扩展语法通过其它的手段进行祢补。
个人倾向于第二个方法:
1,实现的代价低,比扩展g++编译器代价和难度小多了,最起码c++的编译器扩展和修改一般人玩不了,本人就是呵呵,水平菜菜。
2,维护的代价小,g++有专门的团队进行维护,并且在很多平台上都已经实现了,x86构架的windows、linux、mac,arm构架,mips构架,减少了入门门槛和以后的维护麻烦。
四、跨平台gui库,wxwidgets、qt、vcf三选一或其它
首先,应该把qt排除,排除的原因不是因为qt不优秀而是qt的“商业味”,说不定哪天又变天了,这个必须要小心,并且qt有qtcreator用这个开发qt也挺好的。
wxwidgets好像是个欧洲大学首先搞得,以后开源的,协议比lgpl稍宽松点允许静态连接,发展的很久了,影响力比较大,但是整个库的结构和mfc很像,有基于这个的可视化ide(code::blocks),但是这个可视化说实话用起来还真有点不方便,也许我的要求高吧。
上面说的vcf,刚接触,搜索一下vcf实现了本库的rtti和property,当然这个property不像cb的写法,是标准的c++语法只是cb的property的模仿,这两个对于ide的事件通知、响应、以及实现cb的__published是有帮助的,如果我们需要写一些组件的__published属性通知ide就方便点,不过不像cb的写法罢了。
gtk+ ? 这个没接触过。
五、ide
ide的思路可以参考一些开源的ide,codeblocks,CodeLite,qtcreator,qtdesigner(界面设计),和c++builder本身。
原先我的想法是搞个codeblock的插件,但是这个虽然实现上简单点,但是这个没有cb的精髓,ide和本身的组件库联系起来并不方便,特别是对于一些自己写的组件。
ide还是应该重新设计开发一个,思路和结构上参考以上的ide,虽然前期搞个原型很困难,但是后期组成个整体的开发环境代价会小一些,先苦后甜吧。
六、简要思路
c++编译器:gnu的c++编译器,拿来主义。
跨平台的库:vcf这个和cb的vcl风格很像,但是如果我们要搞个山寨版的c++builder的需要重写大量代码,主要是和ide事件有关的。
ide:参考其它,重新设计。
欢迎大家讨论,感谢为开源界作出贡献并默默工作的人们!!!!!!!!!!!!
[解决办法]
good.
[解决办法]
我顶。。。。
[解决办法]
[解决办法]
mark
[解决办法]
great
[解决办法]
这个先顶起在,下班后回去好好的看一下。
[解决办法]
额 没看太明白
[解决办法]