昨天做完了作业,所以今天是一个相对自由的日子。
GF说她喜欢看Friends,我就把十季都给她下来了,结果带动我也一块儿看,主要是想联系一下听力。很幽默,而且经常围绕Sex,呵呵,看起来挺新鲜的……
而今天的最重要的工作其实是研究一下MyEclipse等一堆新技术。
先看了一下MyEclipse 4.0 M2的一些新的支持,然后以此为起点开始学习它支持的一些新的框架。Hibernate、Struts、JSTL这些用过,只是修改了版本,所以没有更着重于发现。
不过发现对Hibernate3的支持中,MyEclipse可以自动生成SessionFactory,挺好,如果没有写服务的话用这个统一的Session管理也是很好的。
从简单到复杂吧:
1、首先看了JSF:这个东西经常听说,是Sun主推的,把界面完全面向对象化,组件化,是Web里面比较有潜力的一个框架。但是这个东西似乎发展的很慢。我发现Sun推的东西总是
比较难以迅速普及,真可怜。大家都在抱怨这个框架没有好的例子,用的人似乎不多,总是处于开发阶段,什么都不太成熟。但是看程序员介绍Java Web Creator可以直接集成开
发JSF应用,看起来不错,因为好的IDE是效率的保证。研究了一下发展趋势我就没有进一步的研究技术细节,不过了解到JSF偏向程序员的观点,面向对象特性非常好,不过我本人
倒是对这个无所谓,因为界面本来就不应该是程序员写的,界面也根本不必要面向对象。我这么说肯定很多人不同意,也许都是程序员吧:D
2、看了看Tapestry:说实话,这个东西真的是让我非常兴奋。Apache jakarta项目下面的一个框架,东西比较轻量,是一个简单清晰的MVC实现。它的Controler层比较多的依赖后
面的商业逻辑,这样的设计个人感觉会提高效率,并且队分层的清晰没有影响。如果前面用个Struts那样的重一些的框架,分层的时候经常会过度设计,后果嘛,嘿嘿,就是运行
慢维护繁琐。
我最欣赏Tapestry的地方在于它很好的解决了分工问题,它明确的将显示叫给html,而将业务代码巧妙的隐藏在html tag的属性里面,对页面代码的侵入非常的小,所以它的模版
页面都可以用Dreamweaver这样的WYSIWYG设计工具来开发。考!这可是绝对的好消息,这样美工就是美工,程序员就是程序员,不会让程序员拿着美工的页面胡乱修改造成显示效
果差强人意了(呵呵,有点偏袒美工)。程序员的逻辑方在于html绑定的配置里面,Tapestry有两种常用组件,一个是Page一个是Component,一个渲染页面一个是抽象的页面组件
,反正都是面对显示的界面,非常适合做Web方式的J2EE表现层。
另一个令人感觉舒服的地方是分散的配置,看一看典型的Tapestry配置都很简单,一个.application里面只需要配置一些程序级别的设置。而所有的页面和动作都可以分散部
署,.html和.page或者.jwc关联确定一个动作或者页面设置,同时可以调用后面的Java Bean,相互比较独立,不用集中描述部署符,可能比较适合我的思维方式吧。同时Tapestry
也支持多语言,每个页面或者组件都可以对应多种语言,可以通过.html的命名方式或者关联的properties命名来支持多语言,分开的描述还是很舒服。
还有个地方,发现Tapestry的所有后面的Action都是Abstract的,看了说明,它服务的时候会动态派生具体类运行,这样的并发多线程挺好玩,具体优略就不得而知了,但是估计
不错,要不为什么特别亮出来Show。
然后,事实上,我跑了一个Tepestry的HellowWorld,然后修改了些动态的东西,体验了一把新技术就放弃了,放弃的原因主要如下:
因为正在开发的项目用Struts,用了titles来管理布局。以前用惯了JSP:include,而Tepestry里面没有直接的布局类,现在的东西移植不过去,找了一下真的没有特别好的实现。
用了一个特别的html兼容模版结构就没法用jsp里面那些第三方插件库了,这个是个损失,有得必有失。发现Tepestry的程序做简单的项目的比较多,大一点的估计就Appfuse有了
,没有经历仔细研究,放弃了。不过看到Sitemesh这种开放的布局框架可以与Tepestry结合,弥补这方面的缺陷,Appfuse就是这么实现的。
Tepestry对我的另一个打击是刚刚出了Tepestry 4.0Beta2,而且似乎很快就可以正式版了。而现在的仅有的书Tepestry in action是对应3.0的,其他的文章和例子也都是3.0的。
去官方网站发现Tepestry 3.0和4.0的区别是很大的,开源框架从来都是这样,整数版本号一变化就别想平滑升级了,头疼头疼。我仔细看着Tepestry的官方的上手指南开发,不过
我的Myeclipse是只支持3.0的,麻烦,搞了半天,到后来的复杂的例子总是调试不好,发现都是版本冲突造成,变化太大,我又不熟悉,所以干脆就放弃了。干脆等版本稳定一些
再仔细学习吧。同时提一下Tepestry现在年轻气盛,本身很优秀,但是文档很少,中文文档更少,官方网站也提出目前Document还不完善,所以还是要等社区建立好一点,我再入
手吧。
顺便抱怨一下,Struts 1.1 to 1.2,Hibernate 2 to 3,Spring 1.1 to 1.2变化都特别大,学习资料互相冲突,原来的代码都需要比较多的修改才能部署,让新入手的人碰壁再
碰壁,没办法呀……,开源的进化就是跳跃性的。
4、看了看Appfuse。不想多说了,造就下载了,当时没有搞定。但是当初为了这个才装了Ant,才有了后来的学习……这次再挑战,我又是走了无数的弯路,一直ant install-xxx
、ant new、ant这样的运行修改,怎么都搞不定。其中引出修改Tomcat配置符,修改Mysql密码等一系列问题,不多说了。我把Tomcat自动部署从Build.xml中注释掉了,最后发现
用ant setup就可以安装了,靠,他们说明文档怎么不写清楚,我编译的是Struts+Spring+Hibernate的版本,准备对比不同版本研究一下这个程序。说实话能把它部署上真的是太
好了,本来很简单我却走了那么多弯路,可惜,不过有了这样的Demo,估计对以后的开发有帮助。其实在这之前我还花了大量时间调试Spring+Struts+Hibernate组合,在
Myeclipse里面,不过没有搞定,主要是嫌麻烦,写了一半又删掉了,然后又想写……反正耽误了不少时间,以后应该减少这样的事。
5、下载了马达加斯加、史密斯夫妇、马拉松、世界大战这几个电影,都是比价期待的,发现品质还都可以接受,呵呵,周末和她一块儿看。
6、前两天把和平之月一个系列的Mp3全部下载了,真的是很棒的世界音乐。可以去Verycd搜索和平之月,我下了2x张专辑,这是一个唱片公司的厂牌,所以专辑众多,都是亚洲风
情的。
7、升级了下我的ant,忘记说了,否则无法运行appfuse,它需要1.6.2以上的ant,最新好像是1.6.5。我发现ant.apache.org访问不了,很久以前就不行,下载真的挺麻烦的。奥
,对了,还有andromdaMDA,这个东西是个开源的MDA,对于Hibernate开发可以把数据库设计->映射->Pojo这样的过程反过来,建模->生成POJO和映射->数据库设计,也就是模型驱
动开发,有时间研究一下。
Ant可以去这里:http://mirrors.isc.org/pub/apache/ant/binaries/apache-ant-1.6.5-bin.zip
或者这里:http://www.javaresearch.org/members/jross/ant/apache-ant-1.6.2-bin.zip
8、张楚推荐了这个Video:
http://www.nytimes.com/video/src/2005/06/29/technology/highbandwidth/windowsmedia/20050629_GUEST_VIDEO_HI.asx
号称iPod flea,iPod跳蚤,很搞笑的讽刺了Apple:D
9、周日看了Jobs在斯坦福的毕业典礼上的讲话,很受感动,推荐大家Google一下看看。Jobs是Apple的传奇CEO。