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的控件体系相比,还是有很明显的差距的。但并不是设计思想先进,实际开发过程中就开发效率高,细节决定成败。
分享到:
相关推荐
此为WEB应用技术的期末大作业,遵循GPL-3.0协议开源,欢迎提出改进意见。 ZCMS (Zhacai Content Management System) is a Vue and JQuery-based content management system developed by Zhacai . This is a final ...
ZCMS通过提供优雅的用户界面,简单的用户管理和权限来简化内容管理。 我们保持核心CMS尽可能轻巧,快速和灵活。 ZCMS需要Tomcat 8.0和PostgreSQL数据库。
zcms 一个节点cms 只是为了学习节点,角度等
要生成整个站点,请运行ZCMS:Generate Full Site命令(或Ctrl-Shift-C ,输出将被写入/out目录(从Zed的文件列表中隐藏,但您可以在文件中看到它)要测试该站点,请运行ZCMS:Start Webserver命令。 有关zcms的更多...
泽元网站内容管理系统 (简称ZCMS) 是一套基于J2EE和插件技术的、面向高端用户的网站内容管理软件,集内容规划、内容创作、内容编辑、内容审核、基于模板的内容发布等功能于一身,并提供互动组件、可视化专题、内容...
本教程主要对ZCMS系统中栏目的相关信息的管理进行了详细的介绍与说明。
本教程主要对ZCMS系统中有关信息的管理进行了详细的介绍与说明。
本教程主要对ZCMS系统的安装步骤进行了详细的介绍与说明。
本教程详细的介绍了ZCMS系统中访问统计的相关信息。
本教程主要对ZCMS系统中的文章编辑进行了详细的介绍与说明。
本教程主要对ZCMS系统中自定义数据的相关信息进行了详细的介绍与说明。
泽元网站内容管理系统 (简称ZCMS) 是一套基于J2EE和 AJAX 技术的企业级网站内容管理软件(CMS),集站点管理、内容创作、内容审核、基于模板的内容发布、内容采集、内容检 索、多媒体内容管理于一身。ZCMS 允许非专业...
本教程主要对ZCMS系统中的工作流的相关定义进行了详细的介绍与说明。
泽元网站内容管理系统 (简称ZCMS) 是一套基于J2EE和插件技术的、面向高端用户的网站内容管理软件,集内容规划、内容创作、内容编辑、内容审核、基于模板的内容发布等功能于一身,并提供互动组件、可视化专题、内容...
ZCMS弹出框架最新版 zDialog最新版 ZCMS 泽元管理系统, 为了方便大家发扬楼主共享原则,放出共享。调用JS时候请不要删除大神名称,谢谢!
zDialog3.0 zDialog升级最新版, zDialog在zcms提取最新版
ZCMS内容管理系统_功能说明文档功能介绍
本教程详细的介绍了ZCMS系统中文章的相关设置。
ZCMS站点在Tomcat下使用单独域名的解决方法ZCMS站点在Tomcat下使用单独域名的解决方法ZCMS站点在Tomcat下使用单独域名的解决方法ZCMS站点在Tomcat下使用单独域名的解决方法ZCMS站点在Tomcat下使用单独域名的解决方法...
thinkphp-zcms, 一个基于thinkphp3.2开发的cms系统,功能比较全面。