谈论开源技术选择


有时感觉技术选型就像个伪命题。胜出的技术占领绝对的主流。就像 java 领域中 ejb 被 ssh/ssi 框架代替。 大部分项目使用近似的模式搭建,选型在project中变得似乎可有可无。 时间上胜出的开源技术帮助开发人员在客观上做出了选择,我们先了解下影响选型的客观因素。


客观因素

客观因素包含例如以下:
1. 广泛性
我们都倾向于选择更广泛应用的开源技术以规避未知性风险。
2. 质量
质量我们会參照广泛性作一个側面证明,使用更广泛可能质量更有保障,只是这对开源技术的新生儿就显得有些不公平了。


3. 文档
完备并及时更新的文档。

想想 sourceforge.net 上现在已是代码的坟墓,没有文档的代码生命周期通常都不长。
4. 社区
活跃的社区,让人感觉更安心。出了问题搞不定总还有人可问,对吧?


主观因素

主观因素总结下就一条:技术与团队的适配度。
技术是死的。人是活的,团队的技术背景与驾驭能力则十分关键。否则再好的技术也可能被用成悲剧。


理想的选择

通常。同一时候具备了上述`客观因素`和`主观因素`考虑的因子,并符合project需求的开源技术已经所剩不多。按此选择基本不会是太错误的选择。

但这是否是最理想的选择,事实上非常难说。

这就像面试人一样,无论面试过多少人作出了多少次推断和选择,都无法保证这是你想要的理想人选。

出类拔萃的候选人会让你高速而有信心的做出选择,这就是理想的选择,虽不能保证就是理想人选,但成功的信心和概率要高非常多。 而平凡的候选人会让你面临纠结的选择,充满怀疑,感觉可能行也可能不行。

我们通过试用人来验证选择,事实上相同的道理。我们也是在通过试用技术来验证选择,都存在一样的选择成本和风险。

因此。理想的技术选择就是选择那些可以让你高速而有信心作出推断的技术产品。 注意。我在技术后面加了`产品`二字来强调:技术假设没有赋予产品的灵魂,可能非常难达到理想的选择的层次。

关在这一刻是不是很清晰的思路,也许以后写的另一篇文章谈`技术产品`。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

posted @ 2015-07-06 21:38  blfshiye  阅读(150)  评论(0编辑  收藏  举报