ThoughtWorks 眼中的最新技术趋势

  • Abel Avram
  • 张龙

2011 年 3 月 20 日

话题:JavaSOA敏捷.NETRuby编程语言ThoughtWorks架构DevOps语言 & 开发文化 & 方法

上个月,ThoughtWorks 发布了其技术雷达的2011 年一月版(PDF),该文档简要介绍了目前的软件技术趋势。

技术雷达是由ThoughtWorks定期发布的,但本期文档并没有对上一期所介绍的各种技术的动向做进一步的阐述,而是将重点放在了新的技术上。雷达包含了 4 个象限,每个象限对应如下一种类别:技术、工具、平台及语言。每个象限又被进一步划分为 4 个区域,分别是采用、试用、评估及保留,每个区域代表了对相应技术的使用情况。

技术

该文档推荐试用一些新的技术,其中一些是敏捷实践。技术债务的分类与优先级被解释为“采用与用户故事类似的方式分配值并评定债务回收的优先级”。Journey 的验收测试并非是测试用户故事,而是测试 Journey。所谓 Journey 就是彼此交互的用户故事的分组。自动化的数据库部署意味着要确保数据库与应用变更的部署要完全自动化。渐进增强指的是“一种 Web 设计策略,使用各种 Web 技术构建超凡的用户体验”。并发抽象与模式指的是在现在的计算中处理并发问题的手段,作者推荐使用 Clojure、Erlang、Retlang 及 Event Patterns 所用的模型。此外,列表中建议尝试的技术还有 DevOps,它旨在促进开发与运维团队的和谐相处。

评估分组中还提到了智能系统,指的是智能电话或是类似的设备。

Scrum 认证与基于数据库的集成被放到了保留分组中。

工具

工具象限中的新兵是基础设施即代码(Infrastructure as code),其定义是“一种手段,将基础设施配置放到文件中,并将文件存储到版本控制系统中,变更会以可控的方式被推送到数据中心”。文档推荐使用如下两个开源的文本式 DSL 采用该技术:Chef 与 Puppet。

该象限中的另一个新兵是Splunk(但它位于试用分组当中),这是一个日志文件分析器,对于系统管理员很有帮助。

在试用区域中出现了之前没有提到过的 3 个工具。Deltacloud是个基于 REST 的 API,用于管理多个 IaaS 云,如 Amazon EC2、GoGrid 及 Rackspace 等等。Vagrant是个基于Oracle 的 VirtualBox和 Chef 或 Puppet 的工具,用于构建与分发虚拟开发环境。WCF HTTP是个用于构建 HTTP 服务的 API,由于“社区可以使用它进行.NET 平台的 WCF 开发”,因此该区域很早就将其加进来了。

该类别将 ESB 放到了保留分组中。

语言

推荐采用的语言与 2010 年 8 月所发布的上一期雷达是一样的,即 Ruby、JRuby、C# 4.0 与 JavaScript。

试用区域出现了 4 个新面孔:HTML 5、Scala、HAML和“SASS、SCSS 与LESS”。虽然前两种语言是众所周知的,而后两种的出现绝对让人感到吃惊。HAML 是这样一种语言:”可以通过缩进来对 HTML 的结构进行布局“,这在搭建标签层次体系时是非常有帮助的。SASS、SCSS 与 LESS 是 CSS 的扩展,可以简化网页样式的处理。

平台

平台象限出现了很多新面孔。推荐使用KVM(虚拟化解决方案)与Atom(一种发布标准与协议)。推荐尝试 Heroku(一个”干净利落“的 PaaS)、iPad 等平板电脑和移动 Web。推荐评估GPGPU(GPU 上的通用处理)、Node.js(事件驱动的 IO 框架)、vFabric(VMware 的 PaaS)和OpenStack(面向云的开源”操作系统“)。

WS-*、GWT 与 RIA 被放到了保留分组中。

查看英文原文:The Latest Technology Trends as Seen by ThoughtWorks

JavaSOA敏捷.NETRuby编程语言ThoughtWorks架构DevOps