• 7032阅读
  • 9回复

[共享]推荐一款用脚本开发Qt,并能译成C++的发布的工具qt4cse [复制链接]

上一主题 下一主题
离线kandashan
 
只看楼主 倒序阅读 楼主  发表于: 2011-11-21
qt4cse是 Qt for CSE 的缩写,简单来讲是将Qt适配到CSE开发平台的一个工具。

CSE是一款脚本语言,支持以脚本为主的高效研发模式,开发完成后还可将脚本翻译成C++代码。CSE语言已发展多年了,qt4cse是新推出的,多一点信息提供给大家:

  1.CSE借助语言映射技术,将C/C++的变量函数映射到脚本系统,所以,用脚本代码可以读写变量、调用函数。
    CSE进一步实现从C/C++到CSE语言的整体映射,达到脚本编码等效于C/C++编码的结果。

  2.CSE语言纯国产,有团队为之研发了整整七年,现版本V2.2.2功能较完善,文档也较多。
    CSE不同于常规编程语言,它非常强调编程体验,编辑、调测及测试功能做得很精细。

  3.qt4cse已支持如下Qt模块
    QtCore、QtGui、QtMultimedia、QtNetwork、QtOpenGL、QtSql、QtXml、QtXmlPatterns、Phonon

  4.qt4cse提供CseUic工具,在Qt designer中设计的UI界面文件(*.ui)可直接解析成CSE脚本

  5.qt4cse编程习惯与Qt C/C++开发保持一致,不像PyQt或PySide,额外附加不少规则。


更详细信息请参考CSE官方论坛:http://www.cse-soft.org/

CSE用户手册:http://common-script-engine.googlecode.com/files/CSE_manual_2220.zip
CSE技术概览:http://common-script-engine.googlecode.com/files/CseReview_2011_10.pdf
无废话qt4cse入门指导:http://common-script-engine.googlecode.com/files/quick_learn_qt4cse.pdf
qt4cse用户手册: http://common-script-engine.googlecode.com/files/qt4cse_manual_2220.zip

Windows下 Visual C/C++ 配套使用的版本:
    VcAgile V2.2.2  http://common-script-engine.googlecode.com/files/VcAgileSetup_2220.zip
    qt4cse V2.2.2  http://common-script-engine.googlecode.com/files/Qt4cseSetup_2220.zip


离线jdwx

只看该作者 1楼 发表于: 2011-11-21
回 楼主(kandashan) 的帖子
http://www.cse-soft.org/ 打不开啊!
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线kandashan
只看该作者 2楼 发表于: 2011-11-21
Re:回 楼主(kandashan) 的帖子
引用第1楼jdwx于2011-11-21 11:03发表的 回 楼主(kandashan) 的帖子 :
http://www.cse-soft.org/ 打不开啊!



怪了,我能点开呀。试试这个? http://www.cse-soft.org/bbs/forum.php

离线jdwx

只看该作者 3楼 发表于: 2011-11-21
回 2楼(kandashan) 的帖子
你在哪里啊?米国?该死的就是打不开!
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线jdwx

只看该作者 4楼 发表于: 2011-11-21
qt4cse项目已启动,由CSF旗下CSE Labs承担开发,以LGPL方式开放全部源码,目前尚处预研与需求分析阶段。

qt4cse的含义是:QT for CSE,也就是用于将QT捆绑到CSE平台的一个组件。QT在诸多语言平台都有适配器,如QT适配到Python是PyQt与PySide,QT在Ruby、PERL、LUA等语言均有适配组件,与这些组件类似,qt4cse项目的首要目标是实现CSE语言平台下的QT软件开发。

我们尝试在如下几个方面定义qt4cse项目:

1.让QT可以用脚本为主进行开发
使用qt4cse后,基于QT软件开发的主体代码是CSE脚本。

2.使用CSE脚本开发的产品代码可翻译为C++代码
借助CSE翻译器(cse2cpp)让脚本模块最终以二进制编译方式发布,既保证脚本化开发的便利性与高效性,也保证发布后产品的运行效率。与py2exe不同,cse2cpp是语句级别的代码直译,翻译后代码不再有解释执行成份,提高代码运行效率是彻底的,与直接用C/C++编写代码的效果相同。

3.在QT可视化设计基础上,提供优质的调测体验
qt4cse不提供交互式可视化界面设计器,但允许用户在QT Creator中设计界面,输出*.ui文件后,在CSE平台以脚本方式解析它。另外还尝试将界面设计与底层的驱动逻辑分离,分别在两个进程(甚至是分属两台机器的两个进程)中实现,以此支持更优的调测与自动作业特性。

欢迎大家跟贴反馈您的需求与建议!

以上是摘自cse论坛!!!


可是怎么看,都看不出来cse有什么用?
《1.让QT可以用脚本为主进行开发》  可以用cse开发Qt程序了。
《2.使用CSE脚本开发的产品代码可翻译为C++代码》 用cse写的代码又被编译成二进制代码?
《3.在QT可视化设计基础上,提供优质的调测体验》还是离不开Qt的GUI设计器
cse还不能跨平台。
cse今天刚听说,估计用户没有C++多。
结论,一个好好的跨平台的C++库Qt,转了好几个圈,最后还是被编译成二进制代码,还不能跨平台了。还不如直接用Qt了!


功能:cse的用户可以用Qt了
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线kandashan
只看该作者 5楼 发表于: 2011-11-21
回 4楼(jdwx) 的帖子
楼上兄弟把问题简单化了。

用脚本做开发效率远高于C/C++,用C/C++每次代码修改都要编译重起,脚本是立即修改,立即生效,可以支持敏捷迭代的开发模式。如果忽略这一点,Qt在Python、Ruby等语言上适配同样缺少意义。

qt4cse比PyQt 强的地方是,既可以用脚本做开发,还可翻译回C++代码,另外,脚本随写随调试,随写随测试的,qt4cse让产品开发中的调测变高效。要用更高编程体验的角度看待CSE中Qt开发,当然,大家习惯于C/C++的编译、链接、设断点单步进行跟踪等编程方式,想象不到其它方式会咋样,用脚本开发时,两次功能迭代的间隔以秒来计算,用C/C++开发通常要半小时。在CSE看来,编译、链接、断点跟踪都是很低效的,什么都是脚本化的,调测手段不再局限于原有C++方式。

另外,qt4cse可以离开Qt的GUI设计器,《无废话qt4cse》中专门有一章讲这个,当Qt与CSE都熟悉后,抛开Qt designer开发效率更高,这是书中意思。


离线ninsun

只看该作者 6楼 发表于: 2011-11-22
这个……
调试是否能高效我总觉得是看能否高效的找到bug……
有时候程序出bug了,发觉是几天前写好的代码的问题……
这种状况也不是用脚本能解决的吧……
离线jdwx

只看该作者 7楼 发表于: 2011-11-22
Re:回 4楼(jdwx) 的帖子
引用第5楼kandashan于2011-11-21 16:41发表的 回 4楼(jdwx) 的帖子 :
楼上兄弟把问题简单化了。
用脚本做开发效率远高于C/C++,用C/C++每次代码修改都要编译重起,脚本是立即修改,立即生效,可以支持敏捷迭代的开发模式。如果忽略这一点,Qt在Python、Ruby等语言上适配同样缺少意义。
qt4cse比PyQt 强的地方是,既可以用脚本做开发,还可翻译回C++代码,另外,脚本随写随调试,随写随测试的,qt4cse让产品开发中的调测变高效。要用更高编程体验的角度看待CSE中Qt开发,当然,大家习惯于C/C++的编译、链接、设断点单步进行跟踪等编程方式,想象不到其它方式会咋样,用脚本开发时,两次功能迭代的间隔以秒来计算,用C/C++开发通常要半小时。在CSE看来,编译、链接、断点跟踪都是很低效的,什么都是脚本化的,调测手段不再局限于原有C++方式。
.......

至于高效开发,说实话没看出来,不能设断点调试,很难想像怎么找到bug。
另外就代码量来说pyQt,也不比C++的Qt少多少。
都说C++编译慢,QtCreator+Vs2008编译器,20个类的工程从头编译只要一分钟左右,
要是只改一丁点代码,可以说立即完成,当年用过VB6(脚本语言)动态加载也没见快多少。

发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线kandashan
只看该作者 8楼 发表于: 2011-11-22
我前面的贴子有点误导大家了。

CSE脚本也支持断点、单步跟踪的,它甚至支持脚本与VC联合单步跟踪。只是《无废话qt4cse》一书不建议优先选择单步调试,“3.4合理使用调测工具”一节有如下建议:

建议选择顺序是:
1. 选中执行(SAR)
2. 规范的测试用例驱动测试,测试即调试
3. 使用 debug函数打印信息
4. 检视函数输入输出
5. 脚本方式下插入debug函数启动单步跟踪
6. 脚本驱动的C/C++代码单步跟踪


贴两张图给大家看看。





离线cqzyfeng
只看该作者 9楼 发表于: 2011-11-22
Re:回 2楼(kandashan) 的帖子
引用第3楼jdwx于2011-11-21 11:34发表的 回 2楼(kandashan) 的帖子 :
你在哪里啊?米国?该死的就是打不开!

又是联通,老干DNS挟持的事,网站有不少谴责,他们仍旧流氓。前几个月我出差到黑龙江绥化,老有一些网站访问不了,换DNS解析就好。月光博客也披露过此事,见“谴责山东联通DNS劫持网站 ”,

快速回复
限100 字节
 
上一个 下一个