在这个月, ThoughtWorks 公司发布了 2010 年的技术前瞻(PDF),这份白皮书包含了 ThoughtWorks 在四个主要领域中的技术策略和趋势:技术、工 具、语言和平台。InfoQ 仔细考量了这份白皮书,以更好地理解 ThoughtWorks 主张的思想和建议。
针对每一个领域,ThoughtWorks 提出了一个技术列表,并分为四类:采用、试用、评估和保留。采用意味着在企业中推荐使用这 个技术。试用意思是这个技术值得投资,但应该只用于低风险项目中。评估是指技术值得考虑和学习如何使用,以及它们的潜力所在。保留则意味着目前不值得花费 精力和资源在某些技术上。
技术
跟一年前相比,所有推荐的技术都提升了一个或多个等级。“构建管道”从试用变成了采用,“精益软件开发”从评估变成了试用,而“自然 设计”和“演进式数据库”则从默默无闻变成试用。
工具
至于工具方面,相比较一年前,变化显得更加多样。IE6 在去年没有被考虑,而现在则建议停止在产品中使用。ASP.NET MVC 从试用变成了采用。Subversion 已经从采用变回了试用,因为“分布式版本控制”工具从保留变成了试用。白皮书还提到,作为“下一代测试”工 具的 rspec 和 Cucumber 把这个分类推进到了评估。其他之前没有考虑过,但现在在保留类别中初次登场的新工具有:Google Wave、语言工作台、和多语言开发环境。
语言
也许来自这个领域的建议最引人入胜。JavaScript 从不被看好进入采用区域,作者是这么解释的:
虽然 JavaScript 最初出现在 1995 年,但直到过去几年,由于 Prototype 和 JQuery 这样的工具库的帮助,这门语 言才开始获得更加广泛的开发群体。在开发者们持续拥抱 JavaScript,开发出具备优秀用户体验的应用的同时,我们也在不断地给予 JavaScript 跟其他生产语言同样的尊重,确保脚本可以得到足够的测试、重构和维护。
C#则从保留转移到了评估和试用两者之间,这缘自去年它所取得的进步:
C#随着语言特性的增强继续发展,这些特性包括 lambda 表达式、扩展方法、对象初始化器和自动属性 getter 和 setter, 所有这些特性都出现在语言的 3.5 版本中。而在 C#4.0 中,我们还会看到动态关键字、命名和可选参数等特性,这使得 C#能继续跟 Ruby 这样的语言保持 一致,同时越于 Java。
作者提到了最近 Java 在增加新特性方面进展缓慢,而基于 JVM 的其他语言更具开创精神,“比如像 Groovy、JRuby、 Scala 和 Clojure 这样的语言”。他们期望企业“开始评估在企业应用中减少特定于 Java 的代码数量之可行性,以支持这些更新的语言。”由此,作 者们建议评估 Java 作为编程语言的结局。
平台
最后,平台方面没有什么大的惊喜,除了一点:“富 Internet 应用”从采用降级到评估和试用两者之间。原因在于:
我们关于 RIA 的定位在过去的一年发生了变化。经验表明,像 Silverlight、Flex 和 JavaFX 这样的平台对数据的丰富 可视化很有帮助,但对简化 web 应用并未带来好处。
考虑到这些工具集对自动化测试只有有限的支持,所 以建议企业级开发采用更加传统的 web 应用开发栈来提供更大的价值。我们推荐只针对丰富可视化而采用 RIA 平台,以合并到 web 应用中,而不是作为一个复 杂的开发目标。
Firefox 得到采用,因为它提供了“针对 widget 范围的平台级支持”。JVM“作为 Ruby、Groovy、Scale 和 Clojure 等语言的通用虚拟机”取得了同样的成绩。另外一个平台则是 Android,建议试用。iPhone 现在是个热门的技术,建议采用。
评论