欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Tapestry的随想

程序员文章站 2022-07-15 15:14:21
...
Tapestry是从06年的时候就开始接触了,那个时候是3.0 ,现在是5.2,当时一起比较的还有wicket 给我的感觉就是wicket的学习曲线较低,而tapestry的比较难学。tapestry的难学主要体现在,1 他的事件回调太多,onPrepare,onPrepareRender,onPrepareSubmit
onBeginRender,是么时候调用什么函数必须记住,不然时间长了,你自己都忘了差不多了。
2他也并不是所见即所得的开发,所谓的美工将前端page写好后,后台程序员就可以通过t:type的方式去,注入tapestry的组件的想法是不成熟的,因为随着程序的深入,大部分的项目都需要通过template去reuse layout,这样一来浏览器就不知道怎么解析了。
3tapestry的组件开发比较麻烦。想要自定义form组件很难,在T5.0.15中img是无法被render成submit事件的,但是在5.1中却可以,曾经试图去重写 Submit组件的 beginRender 但是她的所有的方法都没有提供protected或者public的 关键字,这还算好的
要想定义一个复杂的组件,必须深入学习tapestry的组件内部逻辑,不知道这样的时间花在上面有没有意义因为4 tapestry的升级很麻烦,似乎tapestry的开发团队总是按照自己的想法去做事情,并没有考虑过如果从3.0升级到4.0需要付出什么代价,从4.0升级到5.0 几乎用了两个不同的框架,这一点对于一个连续开发的团队来说是致命的,因为知识点不能得到有效的积累,而且每一次升级都痛苦异常。

相比较wicket,他给我的感觉有点类似GWT,都是输入Swing类型的开发模式,但是一个是在java 一个是把java翻译成Javascript,GWT在这个上面给我的感觉更加友好,现在有了一个插件可以所见即所得的开发gwt应用,不知道用到detail的话会不会出问题,不过我使用GWT的经验告诉我,一个好的事件驱动型的框架,不在乎所见即所得的开发,而必须让开发人员能够用组件的思想去开发,或者说框架提供的API一定要让开发人员开发自定义组件方便快速,貌似GWT在这一点做的也不好,学习好GWT的关键就在于熟悉Javascript,不然的话,也只是用组件,自己不会开发组件等于0,我开发果一些GWT的组件,给我的感觉是很麻烦。

相比较事件驱动型的开发框架,MVC为什么长时间立于不败之地的关键就在于,他是一种很松散的架构。不管是准备数据的Model,还是数据展现的View,开发人员几乎可以用自己熟悉的任何技术去修改和变更,这个对于商业软件是很有好处的。既然连对象的重用在商业应用中都那么的复杂,那么复杂而庞大的组件库就跟不用说了。目前通过轻量级的MVC框架配合web 层的JS 库可以时间复杂而灵活的应用。似乎组件的重用,以另外一种方式转移到了客户端。有可能是未来web层的技术趋势。