论坛首页 Java企业应用论坛

ZCMS:技术选型

浏览 1727 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2009-06-01   最后修改:2009-06-01
  2007年产品开始研发ZCMS(内容管理系统),方向早己确定,B/S结构,产品主要面向企业,与公司的具体情况有关,不必多谈。
  接下是技术选型,首先排除了ASP和PHP。ASP和PHP虽然具有可以在虚拟主机上运行的巨大优势,但我们的目标客户应该不会在虚拟主机上运行CMS,同时ASP过于简单,API不够丰富,特别是较为底层的一些特性如IO操作、FTP、Mail、定时、全文检索、控件等方面尤为欠缺,而PHP在这些方面表现要好,但终究扩展能力不够强,与J2EE和.NET然而有不小的差距,尤其是PHP因为模板机制与大量的文件包含的原因,在Dreamweaver中编辑较为不易,所以也被放弃了。
  最终在.NET和J2EE两个平台之间选择。这两种技术团队成员都很熟悉,都做过中等规模(用户数超过50,页面超过100)以上的实际使用的项目,两种技术都具备开发大规模企业应用的能力,API丰富程度、性能、扩展性等方面都能够满足要求。
  首先考虑ASP.net(我们只用过1.0和1.1,以下评论都是针对1.1),微软独家出品,设计得规模宏大,独创一套完整的开发模式。优势很多,首先是C#语言后发制人,语法上有优势,比如说JAVA中大家非常熟悉的getter和Setter,需要用obj.get()的方式调用,但C#中就不用了,只需要用set和get关键指定要执行的代码,在使用类似String str = obj.Name;的语句时会自动调用get,在使用obj.Name = str;时会自动调用set,这就比Java要省事,实际写代码的过程中会发现省掉不少括号,避免出现括号里面套几层括号的情况;其次是开发模式很省事,在VisualStudio中建一个页面,在可视化的界面中画好控件,然后双击控件(主要是按钮)出现后台代码开发界面,在里面写上业务逻辑即可,中间的所有过程都由ASP.net自动完成,最令人惊叹的是在后台代码中不仅可以操作数据库,也可以操作前台控制,甚至直接操作HTML标签;再次是控件体系蔚为大观,除涵盖所有HTML基本元素之外,还包括其他的高级控件,各种控件的事件、属性都定义都极为详尽,并且还可以开发自定义控件,并提供自定义控件设计时支持(设计时支持是指在可以为控件指定在可视化编辑界面里的形状、大小、内容等等,比如说可以自定义一个控件,当开发人员将此控件拖入到可视化编辑界面时,控件会展现成一个表格,其中有的单元格有数据,有的有图片);最后一个明显的优势就是所有的技术都源出一家,统一协调,配置简单方便,学习曲线较低。当然源出一家也有很多人认为是劣势,认为不能吊死在一颗树上,我们仅从程序员开发效率的角度考虑,而且我们认为微软也远没强大到可以挟持所有人的地步。
  再说说ASP.net的劣势,只用ASP.net的人可能感觉不出来,但用过同时用过ASP.net的J2EE的人肯定感觉很明显。首先感觉最明显的是没有控制台,想像一下用Eclipse开发J2EE时不能使用System.out.println(),也没有控制台输出当前的运行情况的感觉,那就像是被蒙上了双眼。其实这是一个很小的没有什么技术含量的细节,但确又实相当重要;其次是调试Web应用不太方便,至少是跟Eclispe下调试Tomcat的感觉差距很远;再次是开发模式,本来是优势,但由于有明显让程序员多写后台事件的倾向,变成了双刃剑,程序员多写后台事件,虽然开发起来快,功能也都实现了,但不得不经常性地提交表单给服务器,运行速度明显要慢上一筹,而且与当时崭露头角的AJAX模式相违背。开发模式的第二个弊端是ViewState技术,经常使得输出后的HTML大小凭空增加了一半以上。开发模式的第三个弊端是修改完后台类以后,要重新生成DLL文件,颇为繁琐;最后是.NET体系虽然自带的.NET Framework中已经有了功能非常丰富的类库,但相应的开源项目比较少,一些著名的开源项目都是先有JAVA版,再向.net移植的,像NAnt、NUnit、NHibernate、Lucene.Net,更多的开源项目压根没有.NET的版本。这一点上J2EE和.NET之间相比较有点像Window和Linux相比较。
  而J2EE阵营呢,当然是ASP.net占优势的方面J2EE就相对有不足,ASP.net有劣势的方面J2EE相应的就有所长。但综合考虑,ASP.net的优势并不足以使J2EE黯然失色,但ASP.net的劣势却一个个颇为让人头疼,所以最终我们认为J2EE略占上风。不得不提一下Eclipse,虽然看起来没有VisualStudio华丽,但只要多写几行代码,就能立马感觉到它的好来,正是Eclipse,使我们最终选择了J2EE。
  其实ASP.net的开发模式、控件体系、与开发环境的无缝集成依然是我所见过的技术/框架中最好的,公道地说ASP.net要比J2EE先进并且严整成体系、有开发环境支持,Struts也好,JSF也好,与ASP.net的控件体系相比,还是有很明显的差距的。但并不是设计思想先进,实际开发过程中就开发效率高,细节决定成败。
   发表时间:2009-06-09  
zcms的war包哪里下载?
0 请登录后投票
   发表时间:2009-06-09  
gqf2008 写道
zcms的war包哪里下载?

本周内上传,就在官方网站
0 请登录后投票
   发表时间:2009-06-09  
怎么乱发贴啊 到广告贴发啊
这跟设计模式有什么关系啊
0 请登录后投票
   发表时间:2009-06-09  
发错了,不好意思。一周多以前发的,选错论坛了。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics