·天新网首页·加入收藏·设为首页·网站导航
数码笔记本手机摄像机相机MP3MP4GPS
硬件台式机网络服务器主板CPU硬盘显卡
办公投影打印传真
家电电视影院空调
游戏网游单机动漫
汽车新车购车试驾
下载驱动源码
学院开发设计
考试公务员高考考研
业界互联网通信探索
您现在的位置:天新网 > 软件开发 > Java开发 > Servlet/JSP
Zend Framework和Struts2
http://www.21tx.com 2010年05月10日 沈二铺子

POJ是我们实验室的项目,现在的POJ基本上还沿用了2003年时的Serverlet代码结构,没有任何框架,视图和控制器都混在一起。这个学期打算要重构POJ,于是我就开始纠结到底用什么MVC框架。

摆在我面前的选择有这么几个:

  我是Linux爱好者,所以首先排除ASP.NET。Python其实是一门很优秀的语言,面向对象做得很彻底,可以和各种其他语言粘合,两个热门框架也很不错。但是一方面我对python非常不熟悉,另一方面python的框架更新速度非常缓慢,近一年只更新了0.0.1,我对它的发展前景表示担忧,再加上中文资料太少,所以遗憾的排除。真正让我纠结的是Zend Framework和Struts2这两个框架。这两个框架我都使用过,感觉各有利弊。POJ本来的代码基于Java,因此重构的时候可以省一些事情。而图虫整个项目都是用Zend Framework,我对php和Zend Framework了如指掌,可以省却许多学习过程。但这都不足以说服我做出选择,还是比较一下框架之间的特性吧。

  1. php是动态脚本语言,在许多时候更加灵活。
  2. php是弱类型的,在变量处理的时候省却许多类型转换的麻烦。
  3. php不需要声明变量,大大减少代码量
  4. Zend Framework更加灵活,可以按需取用(use as wish),对于效率低下的部分,可以自己写代码替换。而Struts的框架核心代码则相对封闭
  5. Zend Framework自己就提供了功能库,方便调用各种Web Service
  6. apache + php的结构更加便于热部署,只需要在服务器上svn update就可以了;而Java必须编译一下。这同时也有利于调试过程。
  7. php在任何地方都可以得到所需要的变量,在任何地方都可以执行任何函数或方法
  8. php有大量的开源项目,可以参考他们的代码,比如wordpress, joomla, phPBB, drupal, discuz, mediawiki;而Java的开源Web项目,我一个都不知道
  9. php有许多超大规模网站的成功案例,比如:facebook,yahoo,wikipedia,baidu等;而Java,除了一个从网,我就不知道别的了
  10. struts2需要外加数据模型库,比如Hibernate,非常不喜欢hibernate生成代码的方式,我认为hql完全没有必要;而zend Framework自己就提供了数据接口
  11. struts2的标签库完全是鸡肋
  12. struts2的布局系统需要外加别的模板库,比如sitemesh。而Zend Framework自己就能搞定
  13. php更加轻量,执行速度更快。而且很鲁棒。不会像JVM,因为一个Servelet挂掉而当机
  14. Java 的代码过于复杂,大量无聊的getter和setter简直是一场噩梦。做一件简单的事情也必须牵涉到几个对象和函数
  15. Zend Framework很年轻,开发远比Struts活跃。Zend Framework在一年内,从1.5升级到了1.9,期间包括近30个小版本,而Struts2在一年内仅仅从2.1.6升级到了2.1.8
  16. php今年来发展势头非常好,远比Java更活跃;Java在Sun被收购之后,各种改进明显受到影响 

  总结起来,我们就能发现。php是为web而生的,各种特性都是为web而设计,web需要小巧,轻量,敏捷开发,php都能满足。而Zend Framework的诞生则让php的生命力在企业级应用上得以延续。而Java本来并不是为web而设计的,它过于笨重,在J2EE开发上有明显优势,但是对于web项目,未免有些杀鸡用牛刀。所以,最终我还是选择了Zend Framework。

上一篇: 在 Apache Geronimo 中创建登录和注册系统,第 2 部分: 用 JSP 构建注册系统
下一篇: Apache Geronimo 机器修理店应用示例,第 1 部分: Servlet、JSP、安全性和 JCA

关于我们 | 联系我们 | 加入我们 | 广告服务 | 投诉意见 | 网站导航
Copyright © 2000-2011 21tx.com, All Rights Reserved.
晨新科技 版权所有 Created by TXSite.net