企业web应用开发框架选型by 野猪一九九五

life is short, you need python!

为什么

小型技术公司的生存之道是如何在别人用1个月的时间开发一个应用的时候,在相同质量要求下,你用2个星期 — 开发效率。开发效率不仅仅是个体的行为,而需要团队整体的开发效率提升。作为码农,没有比怎么在最短时间内写出高质量代码更能提高整体效率的事情了。

我们现在用java语言和sprintMVC框架属于轻车熟路,我们能而其他团队也能甚至更快的开发企业web应用。单从这个角度来看,这不足以支撑我们活下去。

因此,技术转型需要提到日程。我们已经从SVN磕磕绊绊走上GIT,还是那句话『人生苦短,我用XX』。至于XX是什么,下面讨论。

目标

相同的企业web应用,用java和springMVC框架一个月,用了XX可以2个星期。

选择过程

现在前端技术火热,javascrpt为带代表的各种框架都火了。在这个风潮下,我学习了一下nodejs,但发现nodejs在web异步处理上特别牛逼,但这个优势在企业web应用上应该不会有太大的作为。

把研究领域聚焦在web应用开发上,发现解决这个问题最快的可能是ROR(ruby on rails)— ruby是开发语言,rails是基于ruby的开发框架。早在2007年,我在项目里面让一个兄弟试用过rails框架,CRUD(增删改查)分分钟搞定。八年后再来研究,它的所谓『劣势』有:

  1. ruby属于元编程,有极强的灵活性,负面效应是团队难以统一思路。
  2. ruby哲学强调,解决一个问题有很多种途径。会产生众多选择性问题,在没有ruby牛人之前,团队可能有1000个解决问题的办法,从而拖累项目进度。

再强调一下,以上两点都不是劣势,而是不适合我们团队的情况。

在web应用轻量级快速开发选项里面,还有python语言及其种类繁多的web应用开发框架,例如flask,py.web,py2web等等。相对与ruby,它适宜我们团队使用的优势可能有:

  1. python哲学,解决一个问题只有一个最佳实践。节省大量扯皮和选择的时间。
  2. python社区非常活跃,其在各个领域的组件、库和框架已经远远远远远远超过ruby,甚至比java还多。

结论

结合以上粗浅的研究,我个人觉得让python及其web应用开发框架作为团队整体技术体系『丰富』的第一步是一个理性的选择。

life is short, you need python – 这是原话,来自Bruce Eckel(《thinking in java》 和 《thinkin in c++》的作者)

Published 18 December 2015