似乎很久以前就开始提这个计划了,这个计划也吵吵闹闹的上了《程序员》杂志,不过到现在为止还是没有正式开始做,不过一些构想还是很久就在头脑里酝酿了一段时间,由于时间原因,还是没有开始付诸行动,那就先借这里的我的平台慢慢的把我的一些想法罗列一下吧。
在前一个版本 AgileJava 使用的是 JSF, Spring 1.2, Hibernate 3, Acegi 这些框架作为我们系统的主框架,特别是 JSF 和 Acegi 两个框架,显得繁琐且不灵活,UI 层的表现相当的不令人满意。去年曾经有一个想法想把 AgileJava 做成 Eclipse RCP 平台的应用,但是由于不是太看好的原因,最终还是放弃了,因为 Team 当中有擅长 Flash 的人,另外加上 Adobe 用其庞大无比的 Flash 用户群,来推 RIA,我还是比较看好的,毕竟 Flash9 + AS3 还是有很多可取之处的,占据了相当多的浏览器市场的,某种意义上来说,甚至要大过 IE,或者 FF,因为它两者都支持,Flex2 就是这样基于 Flash 的 RIA 应用平台,按照我个人理解,这样的平台比较适合做交互性强的,不是以内容发布为中心的系统,比如说一些基于 Web 的管理系统等等。Flex 作为 UI 平台还有一个优势就是不存在跨浏览器问题,只需要使用一种 AS 就可以在所有浏览器下使用,比 Ajax 的应用开发要爽的多。
经过一年的时间 Spring 也升级到 2.0 了,马上 2.5 也要出来了,Webwork 也过渡到了 Struts2,他们给我的感觉就是,简单、灵活,在 Spring 2.0 里和过去最大的区别就是简化了配置工作,借 AspectJ 的光,Spring 2.0 的 AOP 配置大大的简化,在加上 XML Schema 配置工作大大的简化。
Struts2 给我的感觉就是灵活,最灵活之处莫过于拦截器,可以说,Struts2 就是靠拦截器拼出来的,因此,我们灵活的用好拦截器,只需要很少量的代码,就可以抛弃 Acegi 复杂的配置,简单的通过拦截器来实现。
Flex2 是前端的东西,我们通过 XML 同后端的 Struts2 交互,Struts2 在将请求解析,交给后端的由 Spring 管理的具体业务处理过程,最后通过 Hibernate 同数据库打交道,这样的系统里,Flex2 – Struts2 这一块因为过去没有太多的经验,需要多花点精力放在这上面,好在我们有 Flash 高手在后面指导,相比这个应该不会太难。
要说点啥就在这吧