百捷WEB开发平台DcppStudio(原名ESStudio)是面向WEB开发和移动WEB开发的集成开发环境。它提供五大核心技术-独特的模板技术、智能的代码生成技术、控件化开发技术、可视化工作流设计、动态C++扩展,满足了WEB开发的高生产率、高质量、高可复用性的要求。
独特的模板技术
DcppStudio提供的模板技术,可以进行界面的特定局部或整体的可重用。真正实现界面开发“只做不同部分,相同部分交给模板”的效果。当然,修改时对于相同部分,只需修改模板即可,不必每个相关文件都改一遍。同时通过模板,可实现UI层面的“函数”功能:即UI局部可以象“函数”一样被其它UI调用(不同于页面跳转)。
智能的代码生成技术
采用“定义+引擎+库”的模式进行代码生成,保证代码的最大灵活性和可维护性。以界面代码生成为例,通过使用基于EXTJS(库)的PHP版本的引擎将界面定义生成最终的PHP页面代码,如果因项目需要更换EXTJS而采用DOJO,只需更改引擎,即可重新生成一套DOJO版本的PHP代码。
代码生成不局限于界面代码,任何代码均可生成,只要有相对应的引擎。例如:通过模型定义生成后台代码,通过图形定义生成配置文件,通过元定义生成数据库脚本,通过向导生成常用功能代码,通过一个项目的代码生成另一个项目(相似项目)的整套代码等,不胜枚举。
DcppStudio内置了Dcpp版本的界面引擎,不仅可以直接使用,而且也是制作其它引擎的鲜活教程。
控件化开发技术
通过基于控件化的开发,极大地提高WEB开发的生产率。通过控件化开发,不仅可以简化工作量,而且页面更直观,易于修改。这里所说的控件与VB或Delphi中的控件是不同的概念,只是使用方式上(拖放式操作)类似。所谓“控件”,是一种抽象的概念。比如有特效的编辑框,传统开发时要写js/css/html,代码分散在不同文件或同一文件的不同地方。而把它抽象成“编辑框控件”后,所有分散的代码由代码生成技术自动生成,不需要手工修改和维护多处的代码,这样既减少了工作量,又避免了因人员疏忽产生的问题,同时当需要更改时更不必处处修改。
可视化工作流设计
DcppStudio内置工作流设计功能,通过可视化工作流设计,生成工作流程的定义,再通过代码生成直接生成相应的代码,避免流程运行时的动态解析所带来的性能损耗。而同系列产品DcppWebServer内置了工作流引擎,支持工作流的顺序、循环、并行、分支、子流程、撤销、回退等,两者配合使得业务流程开发更是如虎添翼。
动态C++扩展
DcppWebServer支持基于C++进行WEB开发(参考业界案例:Facebook采用C++解决PHP的性能问题),同时对于性能要求不高的地方也支持以脚本语言的方式进行开发,这种脚本语言便是动态C++。众所周知,C++是一门静态、强类型、编译期确定的语言,这导致它在WEB的灵活部署和热升级方式具有天生的缺陷。Dcpp(Dynamic C++的简写),便是通过扩展C++,使其可以象PHP一样进行脚本式开发。DcppWebServer和DcppStudio同时支持动态C++,并且以动态C++作为引擎(工作流引擎、代码生成引擎等)的缺省语言。