`
xiuying
  • 浏览: 544921 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

如何看待企业自主研发框架

阅读更多
最近公司在开发框架选型的问题上出现了争论,特发帖征求各位大大建议。
在第三方如此盛行的今天,大家做项目都是
1、基于现有的第三方框架组合封装来开发
2、自己写一套框架来支撑
还有个目的就是公司想在开发的过程中对知识的积累,便于二次开发利用开发,所以就要求基础框架必须具备扩展性。
在没有特殊业务需求的情况下大家会怎么选择。
分享到:
评论
66 楼 faye.feelcool 2009-05-31  
辩证的看问题,不能一概而论。
成本是第一要素,持续发展是第二要素。
不一定要开发,那些业界比较成熟的框架,更多的去开发实际做项目的应用级别的框架,是公司积累的比较好的途径。这样既有自己的积累,又不会过多的去重做哪些基础的轮子。
65 楼 ningzai 2009-05-31  
自主开发到完善是一个漫长的过程,如果没有很好的结构和帮助文档,自己开发的东西还不如现在众多成熟的开源框架。
64 楼 hampster 2009-05-28  
费时费力,做个自己的估计层次还不如专业公司的
63 楼 lnaigg 2009-05-27  
kunee 写道
你们公司能抽出几个人啥都不干,天天就写框架吗?

然后高薪养着其他事情都不让干,可以的话赶紧的干,不行的话趁早收场。


一个框架又不是很短的时间就能完善,你指望干个几个月就收工是不可能的,搞了个半成品出来用在项目上了,框架又不升级又不维护,最终不是等死吗


公司的轮子应该都是项目经验积累出来的,不是闭门造车做出来的。

经过一定量的项目积累,逐渐提取精化部分,到一定成熟度后再转化成专业的平台,由专门的团队维护。
62 楼 beiyangshuishi 2009-05-27  
云中苍月 写道
评估一下成本和公司自身能力。

本人在平时是很鼓励同事“造轮子”的,如果你不去努力尝试那就只能永远跟在别人后面。拿来主义用来应付客户订制项目当然无可厚非,但如果你们是想做出自己产品那么就得有自己的东西。
我经常问老板的一个问题,现在也拿来问问大家:公司(个人)的核心竞争力是什么?
难道你给出的答案只能是:Spring?Struts?Hibernate?或者是其他开源软件的应用?

走自己的路让别人去说,造自己的轮子别听那么多废话。


同意,我们是中国的程序员,也应该造出自己的东西,好不好是一回事,有没有就是另一回事了
61 楼 kunee 2009-05-27  
你们公司能抽出几个人啥都不干,天天就写框架吗?

然后高薪养着其他事情都不让干,可以的话赶紧的干,不行的话趁早收场。


一个框架又不是很短的时间就能完善,你指望干个几个月就收工是不可能的,搞了个半成品出来用在项目上了,框架又不升级又不维护,最终不是等死吗
60 楼 weixla 2009-05-27  
没有特殊原因请'不要重复发明轮子'
59 楼 yimlin 2009-05-27  
这里的框架我理解为公司进行业务开发的基础平台。为何要基础平台,其实很多公司都会遇到类似的问题。
我在一篇博客中讨论了这个问题,见http://yimlin.iteye.com/blog/379897
这里也说说我的观点:

应用系统的设计可以说是将一个业务语言翻译成程序语言的过程,这个过程同时处理两个内容:业务和技术。

1. 学习业务,编写的代码符合用例的流程;

2. 学习技术,编写的代码符合技术平台的规范和要求。

这里不同底层技术的难易度不同,导致学习成本、开发成本和应用成本也不同。同时对于一个有较长生命周期的软件项目或者产品,其依赖的底层技术的升级也会带来相应的维护成不

面对特定领域的软件项目或者产品,其所依赖的底层技术的广度和深度相对稳定,基础平台可以填平或者减少技术层面的鸿沟。



那么,我们就面临另一个问题,即:业界已经存在大量优秀的开源框架,我们为何要基础平台。

首先,大量优秀开源框架可以帮助我们,但是:

1.优秀的开源框架通常偏向通用性,而面向特定领域的相关特性和功能还不支持;即便有面向特定领域的,其支持的特性还存在一定差异性;同时其未必支持相应的基础设施。

因此需要进行二次开发,以完善所需的基础设施;

2.优秀的开源框架在通用性支持广泛,提供多种选择,同时还有一定学习成本;而面向特定领域,需要的模式相对固定。

因此需要进行定制,减少学习成本,提供开发模式,进而提高开发效率;

3.技术升级的平稳性,虽然优秀的开源框架会尽量提供升级平稳性,但是和产品目标未必一致;也需要进一步的测试工作;为了进一步减少成本和风险需要基础平台来处理相应工作;

4.开源框架本身存在一定的缺陷,其修复有一定周期,和产品项目周期不同步。所以也需要做些修复和规避工作;

因此开发维护支持特定领域的基础平台存在客观需要。更进一步,基础平台是在关注点分离原则下的一个必然产物。
58 楼 liboys 2009-05-27  

不要一谈框架,就非要把框架说得那么大,那么复杂,那么完善,什么都支持的才叫框架。

平时公司做网站开发的,简单将jdbc,常用的方法包装一下,写代码简单一些,也就是一个框架了。

能用,适合自己用的,就是好框架。

好的工具,好的框架,用得不好,写出来的代码一样差,难以维护。

如果企业觉得研发一套框架,能够在某些通用的地方提高效率,同时也方便维护和别人接手,就行啦。不一定要面面俱到。

说到底,能够最快完成项目,能够最快赚到钱,就OK。
程序写得不好,效率低了,直接跟客户说,维护不了,只能重新开发,再收一次升级费,否则一套系统稳定用几十年,公司个赚个鬼钱
57 楼 logicgate 2009-05-26  
lovejavaei 写道
云中苍月 写道
评估一下成本和公司自身能力。

本人在平时是很鼓励同事“造轮子”的,如果你不去努力尝试那就只能永远跟在别人后面。拿来主义用来应付客户订制项目当然无可厚非,但如果你们是想做出自己产品那么就得有自己的东西。
我经常问老板的一个问题,现在也拿来问问大家:公司(个人)的核心竞争力是什么
难道你给出的答案只能是:Spring?Struts?Hibernate?或者是其他开源软件的应用?

走自己的路让别人去说,造自己的轮子别听那么多废话。


很支持。


公司的核心竞争力是什么?如果你拿这个问题来问老板,我想没有哪个老板会回答SSH。绝大部分公司的竞争力绝对在于它的软件产品能不能满足用户的业务需求。只有少部分的大型公司,敢于回答竞争力来自技术的先进。也只有这种公司才有能力,有必要自己造轮子。大部分的公司,等你的轮子造出来,也该倒闭了。
56 楼 lovejavaei 2009-05-26  
云中苍月 写道
评估一下成本和公司自身能力。

本人在平时是很鼓励同事“造轮子”的,如果你不去努力尝试那就只能永远跟在别人后面。拿来主义用来应付客户订制项目当然无可厚非,但如果你们是想做出自己产品那么就得有自己的东西。
我经常问老板的一个问题,现在也拿来问问大家:公司(个人)的核心竞争力是什么?
难道你给出的答案只能是:Spring?Struts?Hibernate?或者是其他开源软件的应用?

走自己的路让别人去说,造自己的轮子别听那么多废话。


很支持。
55 楼 aidiyuxin 2009-05-26  
fangshun 写道
云中苍月 写道
评估一下成本和公司自身能力。

本人在平时是很鼓励同事“造轮子”的,如果你不去努力尝试那就只能永远跟在别人后面。拿来主义用来应付客户订制项目当然无可厚非,但如果你们是想做出自己产品那么就得有自己的东西。
我经常问老板的一个问题,现在也拿来问问大家:公司(个人)的核心竞争力是什么?
难道你给出的答案只能是:Spring?Struts?Hibernate?或者是其他开源软件的应用?

走自己的路让别人去说,造自己的轮子别听那么多废话。



我认为并不一定是拥有自有的框架或产品就具备核心竞争力,现在是个信息开放,知识爆炸的时代,做技术的个人素质才很重要。那些开源框架的作者们大多都是顶级的开发者。我们不是做不了框架,而是能实现怎么样质量的框架,拿来主义不是再告诉我们把它们的框架拿来集成到应用就OK了,应该是更多的分析和体会人家优秀设计的思想,以及高超的编程技艺。如果你周围同事的技术能力和开发思想都普遍的提高,那我觉得这才是掌握了真正的核心竞争力。

不同的项目有着不同的需求,也许精心设计的一个模块就可以很好的完成一系列的工作,而不需要大动干戈的去开发或引入一套功能繁多的框架,所以有时候你用框架是为了展示自己的能力,还是在想着以后会有多大的扩展,我认为过分追求会都会给项目带来不必要的复杂和负担!


个人感觉,每个公司的业务,只有自己最熟悉,为什么不可以有面向自己业务的;个性化得框架呢?呵呵
54 楼 aidiyuxin 2009-05-26  
云中苍月 写道
评估一下成本和公司自身能力。

本人在平时是很鼓励同事“造轮子”的,如果你不去努力尝试那就只能永远跟在别人后面。拿来主义用来应付客户订制项目当然无可厚非,但如果你们是想做出自己产品那么就得有自己的东西。
我经常问老板的一个问题,现在也拿来问问大家:公司(个人)的核心竞争力是什么?
难道你给出的答案只能是:Spring?Struts?Hibernate?或者是其他开源软件的应用?

走自己的路让别人去说,造自己的轮子别听那么多废话。

哈哈,很有意思哦,不错不错;有同感
53 楼 yajie 2009-05-25  
真的是废话连篇,一个轮子轧死了多少人的思想。可悲
52 楼 fancuixia 2009-05-25  
不知道这里有多少是做过研发管理的。。。

企业做到一定的规模,肯定会积累出自己的平台,这不是要不要的问题。SSH只是最基础的研发框架,到业务系统之间,还需要一个业务研发平台。

研发人员是在业务研发平台之上作研发的,而不是直接在SSH之上做。事实上好的公司应该完全屏蔽底层实现细节,比如SSH,让研发人员在业务平台上开发。这样底层使用SSH,或者其他什么技术,研发人员是不需要了解的。
51 楼 yanhua 2009-05-25  
我赞成根据公司业务面对的常见领域,选择合适的框架,提炼出一套适合自己的最佳实践和一组规范,然后不断积累丰富技术成果——比如提炼出可以重用的业务模块、组件等等。
50 楼 hantsy 2009-05-25  
1. 关键有几个公司有实力能够造出轮子。。。
2. 我现在是怀疑一些公司这种管理层的真正目的。。。

我以前的公司也是如此,高层天天嚷着“要搞自己的框架”,“要积累自己的技术”,不知道哪里搞来什么博士,硕士一堆人。。。结果呢,改了下struts,成了四不象(当然不言而喻,没有struts好用,开发效率大不如以前,而且引入了致命的错误,坚持项目中要采用,导致公司大量走人),然后领导层天天就嚷着自己的丰功伟绩。。。终于知道目的了,说白了,就是瞎折腾,做和尚撞钟,对于他们,折腾点事,一年就过去,一年几十万就到手了,要是能够折腾个几年下来,就可以提前退休了。。。
49 楼 yhcline 2009-05-25  
对于个人而言,鼓励自己造轮子。这样才有可能去超越。但是对于公司,重要的不是自己造轮子,而是应用成熟的架构去实现自己的产品。这样对以后的维护也是很有裨益的。换句话说,个人研究技术提高自己;公司完善产品节约成本,才能利润最大化。
48 楼 joey.he 2009-05-25  
“不要重复造轮子??那我拿几千年前的木轮子装在今天的汽车上。。。
不重复造轮子已成了程序员懒惰的借口。。。“
47 楼 Durian 2009-05-25  
<div class="quote_title">hallenzzz 写道</div>
<div class="quote_div">
<div class="quote_title">云中苍月 写道</div>
<div class="quote_div">评估一下成本和公司自身能力。<br><br>本人在平时是很鼓励同事“造轮子”的,如果你不去努力尝试那就只能永远跟在别人后面。拿来主义用来应付客户订制项目当然无可厚非,但如果你们是想做出自己产品那么就得有自己的东西。<br>我经常问老板的一个问题,现在也拿来问问大家:公司(个人)的核心竞争力是什么?<br>难道你给出的答案只能是:Spring?Struts?Hibernate?或者是其他开源软件的应用?<br><br>走自己的路让别人去说,造自己的轮子别听那么多废话。</div>
<p> </p>
<p>自己造轮子是有前提条件的,首先你的公司要打算长期发展,那种干两年散伙的公司自己干这个不值,其次要专注于一个领域,因为一个领域在某方面的需求肯定比较多,自己的框架肯定更加适应这些需求,最终得到比其他公司更好的生产力,一个专用的框架得到比SSH高五倍的生产力是很正常的,不过只能服务于某一个特殊领域而已。</p>
</div>
<p> </p>
<p>发完了帖子才从头看回帖,没想到跟兄台一个思路。</p>
<p> </p>

相关推荐

Global site tag (gtag.js) - Google Analytics