选择一个框架的权衡建议

    在公司三年前选择Spring+Hibernate+WebWork2作为公司开发框架时我们的一个项目经理提出了很多担心的意见,很多的争论也花费了不少时间。不过现在这个项目经理在经历过维护恶梦后再也不提我们也可以用自动生成工具生成DAO代码之类的话了,现在他可以用1个人维护一个客户的所有项目了。
    下面是我们对选择一个框架的一些思考,希望能对读者有所启发。
1) 首先看对维护带来的什么效果
    其实很多争论是没有意义的,比如在没有一个大前提之下就进行UNIX和WINDOWS谁好的争论只能是浪费时间,同样做一个网站可以用10多种技术,一个公司(特别是小公司),采用一种最适合自己客户要求的框架作为主要的开发平台应该是容易培训新手和维护的。
2) 在封闭和开放之间选择一个平衡点
    太开放和灵活会导致比较高的学习曲线,那样别人还不如直接用原生的工具呢;太封闭对公司虽然更安全(比如有些公司的组件只有二进制代码和使用说明),但是对开发人员的前途是不利的,如果人员留不住,最终也会拖慢公司的竞争能力。
3) 不断积累和持续过程才是正常
    我们给新手培训时很强调使用一个框架虽然站在别人的肩膀上了,但是这还是一个起点而不是终点!一个框架最初使用时,肯定会发现有好多客户要的功能框架不能提供。那就通过项目逐步积累组件吧,千万不要老是拷贝粘贴搞开发。让每个开发者都有机会成为框架和组件库的贡献者,那这样的文化氛围才是别的公司不能一下抄袭的。
llano的三个版本集成如下:
llano for java
  ExtJS/JSON-lib/Spring/Hibernate/SiteMesh/Freemarker/log4j/JUnit
llano for .net 2.0
  ExtJS/JSON.NET/NHibernate/log4net/NUunit
llano for .net 3.5
  ExtJS/JSON.NET/LINQ/log4net

    其实还有很多框架也不错,如Teddy的NBear和双鱼座的Kanas.NET,选什么主要看用户群的数量和团队自己的学习曲线。我们选Hibernate也只是用了不到10%的功能而已,主要考虑点还是要保持在JAVA和C#编程切换时的适应时间要最短。

alex 7-10


    


posted @ 2008-07-10 22:19  成为-行动-拥有(BeDoHave)  阅读(3832)  评论(15编辑  收藏  举报