“像搭积木一样开发应用”--开源的ToyBricks(积木)开发平台
ToyBricksToyBricks(积木)(以下简称ToyBricks)是基于面向积木方法论构建的、面向Java开发(尤其是RIA应用)的开源开发平台,旨在提供给开发者一个简单易用、高效率、高产品质量、易扩展的开源平台,“像搭积木一样开发软件”。
?
ToyBricks解决了很多长期困扰Java开发者的问题,如:
1)开发所应用的“平台”都是拼凑而成而非真正意义上的整合解决方案。
事实上,很多软件公司的平台都是用开源软件“混搭”而成,典型的,如SSH(Struts+Spring+Hibernate)、FSH(Flex+Spring+Hibernate)等,这种混搭方案天然的割裂了作为组件的完整性,因为很多组件是横跨展现、业务逻辑甚至持久层的;
2)JavaEE中Web开发规范的缺陷。
在当前的JavaEE开发中,作为一个功能,页面与业务逻辑、配置等文件是分散在不同地方的(页面jsp、html、js、css、图片等等一般放在工程rootFolder的某个文件夹中;业务逻辑放在classpath下;配置文件有时候要放在WEB-INF文件夹中),这种分散天然的破坏了作为一个功能的“聚合”要求(事实上在我们日常的设计工作中,人们追求松耦合更甚于高聚合),我们很多时候是希望作为一个功能的全部文件放在一起的;
这种分散式的结构直接导致了“一个功能或模块打包形成一个jar文件作为产出物”的困难。
3)多个功能、模块之间的冲突问题。
jar冲突是最显而易见的了,不同模块要求同一jar的版本可能不同,由于缺乏像OSGI那样的单元(OSGI中为Bundle)隔离机制,所以只能一方向另一方妥协;
4)编程模型复杂、学习难度高。
无论Struts的MVC、Flex的组件模型、Spring的IOC/AOP、Hibernate的ORM等等,其学习与应用都是有一定难度的;
5)缺乏组件模型或组件模型复杂。
可复用的资源积累是一个软件企业知识资产积累的重要组成部分,以JSP的Tag为例,目前很多企业内部只有少部分高水平技术人员被授权开发公司应用的标签库,这严重限制了可复用资源的积累;
?
6)缺乏清晰的功能、模块边界。
功能、模块之间高度耦合,且耦合分散在各个角落,导致模块拆分困难;
?
ToyBricks目前提供的功能1)ToyBricks?JavaBean运行容器;
2)Aquarell模板引擎;
3)RIA实现;
4)常规组件库:
?
?
【下载ToyBricks平台(V4.0)核心源代码】见附件
?
【下载ToyBricks平台源代码许可协议】见附件
?
【下载ToyBricks平台开发手册】见附件
?
【下载Demo样例】MyEclipse工程形式的Demo(下载附件后(共三部分),解压缩,import入MyEclipse即可)
?
Demo工程源码简单分析
1.文件结构

?
2.源代码片段
project.ria.xml 该文件定义了应用程序
?HelloworldBiz 主应用程序的业务逻辑
??
dialog0.aq.html 第一个对话框的视图
?
??
dialog1.aq.html 第二个对话框的视图
??
?
?
?
运行效果如下图:
?
?
?
?
?
天云创意.基础平台研发团队
合作者意向联系方式 Mail:cloudsinger@126.com QQ 16384284
美丽人生.精彩创意 天云创意
?
?