大峡-华山论剑

一心一意做技术

原创 为何不使用spring、struts2、easyjweb等开源框架收藏

新一篇: 一个开源组织者的感言2 | 旧一篇: Eclipse 误删文件怎么办

  该不该使用各种各样的开源框架,我想这是很多程序员自己也困惑的问题。有的由于对框架的不熟悉,有的是为了程序的优化,还有一些就是觉得开源框架用起来不顺手。
  关于这个问题,一个在政府做技术主管的朋友这样说:
“1年前,我非常疯狂的喜欢spring velocity webwork struts ....只要是开源的我都忍不住去试着用用。我也在很多项目中使用一些开源技术,其结果是大家怨声多于表扬。其实不是这些技术不好,是我们不会合适去应用。
  我一直在思考一个问题.是不是我们太热衷于“实现”而忘记了“设计”,我最近几天的思考的问题是:“jsp+javabean”其实也是个好框架,关键在于你如何去应用好设计模式。”

     我认为关键还是要在于我们对这些框架的掌握程度。再好的技术,再好的框架,再简单易用的东西,肯定都有一定的门槛,都存在一定的学习曲线.框架封装了很多底层的东西,尽管其没有限制我们在框架中自己应用一些底层的,但大多数时候我们仍然不知道如何着手.
    "大家怨声多于表扬",之所以这样,我觉得还是他们对框架的核心掌握得不透彻所至.程序员的一个成就感及自豪感,来源于程序员自生对系统、对电脑的一种控制力.也就是:"我想让他干嘛就干嘛".普通的jsp+javabean,这是最简单的.当然也最容易“控制”.尽管控制他做的事情可能并不强大,写出的东西有可能难以维护、扩展,但始终是“控制”了。因此,大家很喜欢。
    而使用其它框架,很多基础的控制交由了这些框架处理了,尽管这些框架提供了很好的基础平台,好的设计模式供我们使用,但需要我们首先对他有一个比较深入的理解。否则就谈不上控制,只能照猫画虎般的照着做.一但程序出来的不是我们想要的东西,一但人机交互的结果出现偏差,很多时候就让我们无能为力。在现实中,不是所有使用的这些框架的人,都熟悉这些框架的原理及内核,都能控制这些框架工作,一但有一些不愉快的尝试,怨声多于表扬也就难免了.

    总结志来就是:再好的屠龙刀,只有我们对其非常熟悉、并对其有一种控制能力以后,使用起来才会得心应手,否则更多的人宁愿选择使用自己砍的木棍,虽然威力差一点,但于少能用他来把一些阿猫阿狗或者是街头混混唬住.当然,也有练到手中没刀,心中有刀的,比如小马哥,此时选择使用什么都无所谓了.

 本文来自一个讨论交流的删节:http://www.easyjf.com/html/bbs/20070408/33366675-8556350.htm 

发表于 @ 2007年04月10日 09:58:00|评论(loading...)|编辑

新一篇: 一个开源组织者的感言2 | 旧一篇: Eclipse 误删文件怎么办

评论

#ntcw 发表于2007-04-10 22:22:40  IP: 58.61.63.*
说得非常好啊...
#zihuan 发表于2007-04-10 22:50:08  IP: 222.68.23.*
讲得很好啊
#etienne 发表于2007-04-10 23:52:40  IP: 222.130.193.*
这篇文章纯属扯淡。 认识问题不要以偏盖全,社会是多样的,程序届的需求也是多样的。框架的存在有其很深的道理,你不要认为每个人都是架构师。今天还看到讨论hibernate的,把hibernate说的一无是处,满嘴都是jdbc多么牛。 我实在不想说什么,只是说存在即合理。 你们直接用jsp+javabean 还不是要有架构师去做底层的东西。
手握冲锋枪不一定能让你武功很高 但是武功高的也不一定能打得过你
#jacklondon 发表于2007-04-11 10:43:09  IP: 218.80.200.*
只有一句话有道理:“其实不是这些技术不好,是我们不会合适去应用。”
关键是熟悉各种框架,针对项目的需要,选择合适的。
#kingofcoder5 发表于2007-04-11 11:09:55  IP: 125.215.196.*
-------------------- 编程王网上图书馆 -------------------------
http://library.kingofcoder.com
请大家多多上载/下载E书, 谢谢
放心吧, 是免费, 无广告, 无毒的网上图书馆
#kingofcoder5 发表于2007-04-11 11:10:02  IP: 125.215.196.*
-------------------- 编程王网上图书馆 -------------------------
http://library.kingofcoder.com
请大家多多上载/下载E书, 谢谢
放心吧, 是免费, 无广告, 无毒的网上图书馆
#fellow99 发表于2007-04-11 13:19:06  IP: 121.32.92.*
“手握冲锋枪不一定能让你武功很高 但是武功高的也不一定能打得过你”
同意etienne的说法!
#Asclepios 发表于2007-04-12 09:04:39  IP: 218.83.157.*
Java的精彩就是因为他的开源框架,没有这些东西,我很难相信这个东西会存活这么久。LZ的话令我十分震惊,我几乎可以肯定说这些话的人是不是一个科班出身的IT人才,总觉得是某个培训机构,用十几天时间做出的失败作。JSP+JavaBean可以说是Java的王者(其实那些Struts也只是继承了这些东西,本质还是J2EE的东西)。但是,为什么有这么多人喜欢用这些东西,因为这些东西在实现软件工程中最浅显的道理。一个简单用JSP+JavaBean做出的东西,大家想想怎么做维护。估计LZ就是靠维护骗政府钱的骗子
#easyjf 发表于2007-04-12 09:18:08  IP: 123.112.152.*
to Asclepios:
  把文章看懂了,再作评论也不迟啊,你看我说的是不用还是用?要是主张不用这些框架,我们还大力搞easyjweb干嘛。
#lemonfamily 发表于2007-04-12 09:50:40  IP: 121.204.200.*
框架的存在才能证明架构师存在的理由,开源框架的运用只不过是降低了对该系统架构师的要求罢了。一幢楼房要盖好,除了支撑结构外,装修也是非常重要的。
#xuse1 发表于2007-04-12 13:05:20  IP: 221.12.171.*
只有自己写的框架才是最好的。其他的框架都不值得用。
我是在看完Spring的所有代码之后,才解决了一个项目中碰到的所有问题的。如果复杂一点的项目,或者我们想尽量靠近“零缺陷”的编程目的,就要将一切实现控制在手中。此时使用第三方框架有害无益。
不过得承认Spring的代码真的编写得很好,如果每个程序员都能按照这个规范写代码就好了。
所以不但架构师要看框架,写框架。程序员也应该把这些框架的代码都看完,学习编写。这样就接近“零缺陷”的目的了。

#heipn 发表于2007-04-13 16:33:15  IP: 219.143.46.*
挺有意思,我发觉做JAVA的人最喜欢评论什么东西好什么东西不好!
#operfume 发表于2007-04-15 00:09:34  IP: 222.183.107.*
也不能这么说,每个人有自己的习惯和优点.
#yiyou609 发表于2007-04-16 08:01:29  IP: 218.56.132.*
手中无刀,心中又刀!
#allskystar 发表于2007-04-16 20:15:52  IP: 221.221.111.*
我把easyjf的开发配置手册的说明看了一遍,觉得配置还是太复杂了,或许楼主最开始是想做成easy的,结果实际上很多功能加上去后,特别是一些外围的组件和包加上去后,就变得越来越复杂了,这个框架如果实现了所有框架的长处,我觉得easyjf框架的开发就算失败了——背离了它的初衷简单实用,因为功能多与配置简化根本就是一对矛盾。怎么将核心控制类与外围支撑类剥离,怎么减少配置文件的复杂度,怎么让一个项目以最小的代价部署起来,这些都是需要考虑的,系统架构师应该起到一个“找平衡点”的作用。做项目就是一个“思考-开发-思考”的过程,永无止境的美化+优化,才能做出真正完善的框架。
#wzhua_0314 发表于2007-04-19 15:51:30  IP: 202.116.76.*
我同意作者的观点,用了那么久的struts,如果不搞懂struts的底层,那也是枉然。
#easyjf 发表于2007-04-27 09:22:33  IP: 222.183.191.*
非常感谢allskystar给我们的建议,这段时间EasyJWeb一直在改,希望通过这次大家的努力,能找到如你所说的能让工发easyjf的点。在即保持功能强大的同时,又使得使用easy。
#allskystar 发表于2007-04-27 12:50:39  IP: 221.221.123.*
呵呵,我从开始工作就一直参与到后来负责框架的开发,现在已经4年了,去年身体不好把工作辞了把以前很多想法实现了出来,我把一些测试稳定了的模块都开源了,http://sourceforge.net/projects/wscl和http://sourceforge.net/projects/smarty4j,前者是一个OOP实现的纯粹的js组件框架,后者是smarty移植到java环境下的脚本执行工具,前者的一个附加产品是wscl与smarty4j集成的tag处理类,使用这个扩展包能够跟.net和JSF一样为组件事件绑定AJAX处理方案,然后根据事件内写的脚本控制页面的效果,tag库会自动分离服务器端脚本和客户端脚本,减少传输的数据量;后者的一个附加产品是eclipse的开发插件,不过开发插件里集成的jar包不是最新的版本,自己编译一下smarty4j能提供更多的语法错误支持。过一阵子我会把自己整理的基于结构件的框架ordinary也拿出来共享,那个的出发点跟easyjf的差不多,配置文件所有的标签都可以自己定义格式,我只提供了标准的Host,Command,Mapping的处理,使用默认标签、默认参数和别名控制来简化配置过程,我还在慢慢添加扩展功能模块,其中做好的有wscl的标准服务器端响应动作和smarty的解析支持,还有一些对各类不同数据库的支持,都是通过插件的方式加载的,有兴趣欢迎一起讨论。
#allskystar 发表于2007-04-27 13:02:10  IP: 221.221.123.*
在互相交流中进步才是我们的目的,easyjf你说呢?我过我总担心java框架这么折腾下去,市场份额堪忧,现在国外越来越多的项目使用php和.net,我问了很多朋友,他们都是觉得java平台下太复杂,软件节省的成本全部赔到配置上去了,他们觉得简单的项目不如用php做,而复杂的项目java目前主流框架的配置文件看起来简直是场噩梦。
#easyjf 发表于2007-04-28 11:10:24  IP: 222.183.189.*
to allskystar:
  感觉国内的做开源就是缺少交流了,一直忙着学别人的东西,学了一个又一个,哪有时间做点自己的,框架确实是对从多实践中的归纳及抽象。对于java的前景我还是非常有信心的,Java本身不复杂,是被教复杂了,这是我的感觉,不过都是计算机语言嘛也无所谓,关键的是思想,万变不离其宗,对吧?
  欢迎多交流,也欢迎到我们团队做客,在我们章程里面,也体现了我们对技术的想法:
“简易、实用才是硬道理”。
三人行,必有我师.在EasyJF团队里,帮助新人就是帮助您自己。
组织活动原则:创新、互助、协作。
若要得到,请先学会付出,生活如此、工作如此、开源事业亦如此

PS:
  你的两个开源东东,我下载了,大体看了一下,由于缺少文档,还没认真研究。非常高兴能看到更多的中国人走到开源中来。

发表评论  


登录
Csdn Blog version 3.1a
Copyright © 大峡