选择一个框架的权衡建议
2008-07-10 22:19
253 查看
在公司三年前选择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
下面是我们对选择一个框架的一些思考,希望能对读者有所启发。
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
相关文章推荐
- 自动化测试===【转】Robot Framework作者建议如何选择自动化测试框架
- Robot Framework作者建议如何选择自动化测试框架
- Comet4J(Comet for Java)是一个纯粹基于AJAX(XMLHTTPRequest)的服务器推送框架,消息以JSON方式传递,具备长轮询、长连接、自动选择三种工作模式。
- 给大家一些学习开发J2EE时框架、开发工具选择的建议
- WPF项目选择一个好的框架的重要性
- 如何选择一个Flex框架
- 选择一个flex框架
- Robot Framework作者建议如何选择自动化测试框架
- 如何选择一个优秀的Web开发框架?
- 选择一个Flex框架
- 选择一个 Python Web 框架:Django vs Flask vs Pyramid
- 根据个人的性格不同我认为要有选择的看待这个建议,写在这里也是给自己一个警示
- iview框架select默认选择一个option的值
- 选择一个JavaScript框架进行WEB开发[转]
- [Link]选择一个 Python Web 框架:Django vs Flask vs Pyramid
- 如何才能做一个好网站系列 第四篇 开始设计方案,关于框架的选择
- Robot Framework作者建议如何选择自动化测试框架
- 以太坊(Ethereum)开发框架 Truffle 入门(二):选择一个以太坊客户端
- 【转】Robot Framework作者建议如何选择自动化测试框架
- Robot Framework作者建议如何选择自动化测试框架