前言
技术选型仅仅是个技术活吗?不是的,技术选型涉及到方方面面。整个公司的运行体系,人员结构,产品类型等等。
正文
总的方面来说:
可以大概从三方面来总结:
1、需求分析
2、资源统筹
3、技术要点
接着往细了分:
从需求分析来说:
1、满足主要需求
2、不要过重,杀鸡不用牛刀
3、产品特性例如金融行业,对正确性、稳定性、安全性等要求高,而互联网行业则要求快速迭代,性能高。
资源统筹
公司中所有的相关资源都要统一起来综合考虑要选择的技术是否符合实际的开发场景。
1、和本公司其他系统技术栈的一致性
2、学习成本,没有硬性指标,可以在备选方案之间形成对比
3、开发速度,没有硬性指标,可以在备选方案之间形成对比
4、流行度,在市场上是否容易招到开发者
技术要点
1、成熟度,是否成熟,是否稳定。没有硬性指标,可以在备选方案之间形成对比
2、可扩展性,备选方案是否有排他性,是否兼容相关瓶体,是否容易进行二次开发或其他扩展方式
3、安全性,网络安全,数据库,数据安全
4、代码易维护性,比如有些代码(如python)不适合进行大型,面向对象的开发
5、稳定性,系统运行是否稳定,长时间运行有为u内存泄漏,宕机等情况
6、对高并发的支持,能支持多少量级的高并发QPS,TPS,RT
7、是否能更好的得到技术支持
结尾
所以看似不相关的东西其实涉及到了这么多的方面,技术的选型跟公司运营,环境,人员组成,都是有关系的,所以这不是一门单独的学问,而是一门大学问。