争鸣:Java的Web框架 让我如何去爱你
软件技术的迅猛发展让Java世界的Web框架领域风起云涌,各种架构层出不穷,但你能High起来吗?
回到六年前的今天谈论这个话题,我会脱口而出:Struts.那是一个对Struts几乎崇拜的时代,几乎没人对其质疑。那时java世界的webFramework世界如此"单纯",单纯得如此快乐。
Struts1.x:经典,堪称经典。倘若我在此时此刻我说爱你,是不是真的落伍??!!
Struts2.x:Apache的期待越来越不好,合并webwork2的精髓之后,还是没能赶上这一波webframework浪潮的XP.
Tapestry5:如果我从来不见识Tapestry5,我从来不觉得Tapestry3,Tapestry4的繁冗复杂。可是恨铁不成钢的Tapestry5,你什么时候才能Release,什么时候才能丰富你的社区,集成当前最流行的AJAx元素.....?Howard,如何你才能不食言?
JSF:也许你是我正确的选择,丰富的组件支持,貌似不错的IDE开发支持,但是批评声如雷贯耳,让我怎么能选择你,让我怎么能与你一样声名狼藉?
Velocity:有FreeMarker,要你干什么?
FreeMarker:有PHP/Python,为什么还用FreeMarker?
SpringMVC/Turbine/Cocoon/Echo......
我不得不诚然我甚至没有深入其中的几个框架,但是对java的web框架的道听途说,已足以让我心寒。
万花丛中过,终只能采花一朵,是鱼和熊掌的选择,还是青菜和萝卜的无奈?
如果是企业级系统开发,略微迂回的即便冗长的解决方案的框架:Jsf或者Struts2是我一个妥协的选择,理由有二:
1.社区大
2.组件丰富
如果面对的Internet应用,对不起java,离开你我迫不得已。我选择:RubyOnRails/CakePhp,理由:
1.XP
2.Simple
于是突然怀念起同福客栈里简单粗糙的生活,李大嘴总能二钱碎银兴奋一阵子......
明天就是中秋之夜,我希望大家也能想佟湘玉一样在这个中秋之夜买壶酒,两块月饼,爬上屋顶,看看美丽的嫦娥,缅怀一下远去的纯真时代。