2010 年 InfoQ 中文站工具内容回顾

  • 晁晓娟

2011 年 1 月 27 日

话题:Java敏捷.NETScrumIDEAndroidDevOps语言 & 开发文化 & 方法

工欲善其事,必先利其器,在开发者、使用者眼里,软件开发管理工具在不同层面帮助他们极大的提高效率;而商业模式的另外一端,各大厂商在抢占开发者桌面的竞争中不断推陈出新。在此,InfoQ 跟各位读者一起回顾一下 2010 年中文站跟工具相关而且评论数及点击率较高的内容。

2010 年的被关注的工具内容主要聚焦以下几点:开发语言及其支持环境、移动互联网和网站优化以及敏捷开发等过程改善等。

语言和开发环境方面,.NET 和 Java 及开源阵营各有千秋

.NET阵营:

2010 年在.NET 社区最激动人心的一件大事莫过于

  • 微软 Visual Studio 2010 正式发布,增加多项新功能

    从 Visual Studio 2010 的新功能列表中,可以发现微软不仅对原有的功能做了优化,比如简化界面、定义新的行为;更快地解析代码;改进调试功能和支持“测试优先”的开发。还增加了包括 Visual F#、Azure 工具等新的功能。

  • 我眼中的 Visual Studio 2010 架构工具

    正如 InfoQ 中文站编辑张逸在本文中所述“Visual Studio 2010 已经不仅仅是一个开发 IDE, 它是一个全方位作战的快速工作平台,通过它可以完成设计、开发、测试、重构以及团队的管理与协作。这种涵盖软件开发生命周期各个阶段的综合工具”,因此针对于 Visual Studio 2010 这个平台, 各种插件,模板,工具也逐步推出:

  • 针对 Team Foundation Server 的单向与双向同步工具简介

    Team Foundation Server Integration Tools提供了同步架构以及用于与其他系统进行单向与双向同步的适配器。除了开发工具外,Team Foundation Server Integration Tools 还提供了针对 TFS 2008、TFS 2010、ClearCase 以及 ClearQuest 的内置适配器。该项目包含两种工具,替换了早期的 TFS Migration 与 Synchronization Toolkit。一个工具可以将数据单向移至 TFS,另一个工具可以双向同步数据。目前工具还不提供 export-only 的功能,但双向工具或许可以担此重任。

  • 微软发布 WebMatrix:创建简单 Web 站点的完全解决方案

    WebMatrix 用于快速开发简单的站点,包含了简单的测试 / 诊断工具、分析工具、SEO,并且可以根据已有的预定义模板创建站点。WebMatrix 包含开发版的 Web 服务器、Web 框架、嵌入式数据库以及用于创建 Web 站点的简单 IDE 等组件

  • LightSwitch——微软将要推出的专业开发工具,定位问题受到质疑

    LightSwitch 紧随着WebMatrix的发布而到来,其是另外一个皆在简化 Web 应用程序创建的微软解决方案。这两个解决方案的不同之处在于:WebMatrix 是面向于具有 HTML 用户界面的 HTML/ASP.NET Web 应用程序;而 LightSwitch 是生成 Silverlight LoB 应用程序。

  • NDepend 3.0 已与 Visual Studio 集成

    NDepend 是个.NET 软件分析工具,可用于检测项目中的代码依赖关系、进行快照(snapshot)比较或是验证项目是否符合代码质量规则。这些规则涵盖了 80 多个来自于不同领域的代码度量标准,比如依赖(Dependencies)、质量(Quality)、演进(Evolution)、纯度(Purity)/ 副作用(Side-Effects)/ 不变性(Immutability)、封装(Encapsulation)等等。NDepend 3.0已与 Visual Studio 集成,支持对代码的实时分析、可以跨越多个 VS 解决方案进行代码分析、可以同时编辑多个 CQL 规则,此外还增强了搜索功能并提升了性能。

  • TestDriven.NET 发布新的里程碑版本

    TestDriven.NET是 Visual Studio 的一个 TDD 插件,原来叫做 NUnitAddIn,集成了如下测试框架:NUnitMbUnitZaneBugMSTestNCoverNCoverExplorerReflectorTypeMockdotTraceMSBee,它主要面向使用 TDD 的开发者, 支持所有主流的.NET 语言:C#、VB、C++ 和 F#。

Java 阵营和开源平台上受到较高关注的工具:

  • JetBrains 发布 Intellij IDEA 10

    作为一个主版本,新的 Intellij 的变化与改进可以说是相当的多。其中一部分改进包括:性能改进、对各种框架与技术的增强支持、改进的版本控制支持以及一些额外的用户界面工具。感兴趣的读者可以从早期访问发布声明或是IDEA 的问题跟踪上找到详尽的 Bug 修复与增加的特性列表。

  • Oracle 企业功能包支持 Eclipse 3.6、GlassFish 和 Coherence

    Oracle 发布了基于 Eclipse 的 Oracle 企业包 (OEPE)。与本次更新同步的是近期发布的 Eclipse3.6,或者叫“Helios”。除了兼容“Helios”,本次发布还支持许多Java EE 6 的规范(2009 年 11 月发布),像 JSF2.0、Servlet3.0、JPA2.0 和EJB 3.1。这次更新为管理员提供了很多功能,加强了 Eclipse 对 Weblogic 的支持和服务器管理能力。新版本可以与 Oracle 的数据网格产品 Oracle Coherence很好的协同工作。Coherence 支持用户以配置的方式在多台服务器部署分布式缓存。本次发布还在 IDE 中内置了 Oracle 的 GlassFish Web 服务器。

  • NetBeans 6.9 发布,支持 JavaFX、Java EE 6 及 OSGi

    Oracle发布了流行的开源 Java IDE NetBeans 6.9,这是自收购 Sun Microsystems 以来 Oracle 发布的首个 NetBeans 版本。新版本提供了大量的新特性,也进行了众多的改进。在众多新特性中,最引入注目的就是对 JavaFX 的支持,即 JavaFX Composer。人们对该特性已经期盼了很久,现在终于纳入到整个工具集与平台当中了。JavaFX 支持提供了一个可视化的设计工具和一个代码编辑器。开发者们可以借助该工具轻松编写、构建并运行代码,还可以重新格式化代码文件。新版本还升级了底层的 NetBeans RCP 平台。

  • Tomcat 7 Beta 开始支持 Servlet 3.0、升级了安全性并提升了操作的友好性

    Apache 软件基金会发布了 Tomcat Web 服务器 7.0 Beta 版,新版本的 Tomcat 实现了很多新规范,包括Servlet 3.0JSP 2.2EL 2.2。规范还支持动态配置 Web 应用,这将产生深远的影响。可以通过注解来构造 Web 层(如 Servlet),这样就无需再使用 WEB-INF/web.xml 部署描述符文件了。此外, Tomcat 7 增加了对 Session 定位(fixation)攻击的防护措施。对于那些想要嵌入式容器的开发者来说,新版本的 Tomcat 7 提供了更大的灵活性;它公开了一个轻量级的 API 用于将容器嵌入到客户端代码中。除此之外,Tomcat 7 所需的 jar 文件更少,这样就可以根据需要构建 Tomcat 了。

  • WindowBuilder Pro v7.4 发布:更棒的性能、更快的解析

    Instantiations, Inc发布了 WindowBuilder Pro v7.4、SWT Designer v7.4、Swing Designer v7.4 以及 GWT Designer v7.4。这些发布对处于业界领导地位的 Java GUI builders for SWT、Swing、RCP 及 GWT 提供了性能的改善,解析和绑定的增强以及布局的简化使用。

  • Ehcache 2.0: 后写式缓存和 JTA 支持

    开源缓存框架Ehcache最新版本支持后写式缓存和利用 Java Transaction API (JTA)进行事务管理,同时还提供了 Hibernate 3.3 缓存插件、针对集群缓存的批量加载 API和运行时缓存重配置机制。Ehcache 2.0 引入了直写式(write-through)和后写式(write-behind)缓存。后者是写入采取异步方式。后写式缓存特性作为新 Ehcache API 的一部分,适用于对数据库的异步批量更新。

  • SpringSource 发布 TC Server Spring Edition

    近日 SpringSource 发布了其基于Apache Tomcat的服务器的新版本:SpringSource TC Server Spring Edition。这是 SpringSource 被VMWare收购后发布的首款软件产品。SpringSource充分利用了 Tomcat Web 容器的能力并提供了增强的监控与云功能,此外还将其集成到了SpringSource Tool Suite(STS)Eclipse 中。新的服务器为开发者和管理员提供了大量工具。

在移动互联网和网站分析优化领域的工具相对不多,较受关注的这两款都来自 Google

  • App Inventor for Android 简介

    Google labs 发布了开源的App Inventor Beta 版,支持 Android 电话的拖拽式应用开发。无需编写代码,可以凭借 App Inventor 以可视化的方式设计应用并使用 blocks 指定应用逻辑。现在有越来越多的企业开发者在寻求可以将组织全部 / 部分的应用软件迁移到 Web 和移动平台上的办法,很多厂商也通过各种工具帮助企业开发者达成所愿。此前,InfoQ 曾关注过这方面的工具,如PhoneGapRhodes 与 Ruboto-IRBSilverlight以及HTML 5 和 CSS 3。大多数工具都会考虑到跨平台的兼容性,而 App Inventor 则是专门面向 Android 电话的。

  • 使用 Google Website Optimizer 优化页面

    Google 为 Google Apps 用户提供了一个免费的工具——Website Optimizer,它允许用户测试并度量不同版本 Web 页面的成功访问情况。Google Website Optimizer(GWO)可以帮助站点开发者测试多个版本的 Web 页面,以便了解用户对它们的反应,开发者可以据此作出判断,哪个版本的效果更好。GWO 免费开放给 Google Apps 用户。

更多的工具专注在增强敏捷、架构、代码管理,协同开发以及测试驱动等方面的支持,如:

  • Aldon 敏捷管理器已经发布

    Aldon 公司在 12 月 1 日发布了Aldon 敏捷管理器,它是一种免费的敏捷项目管理工具,它的目的是要提供更好的计划、优先级排序和协作。第一次发布的社区构建工具关注 backlog 的管理,并提供了丰富的基于 web 的界面,让产品经理能够在一个地方就可以控制所有的用户故事。Aldon 敏捷管理器将会支持 Scrum、Kanban、CP 以及混合的敏捷方法。它的意图是要支持敏捷过程的核心,也就是对 backlog 的管理,像优先级排序、改变大小、要迭代的任务以及要发布的任务。它的目标用户包括项目经理、产品所有者以及 Scrum/Kanban 团队。随着用户对 backlog 项目状态的跟踪,敏捷管理器想要帮助他们管理任务的流程,并提供在特定情况下的总体视图。

  • 微软为 TFS2010 正式发布 Scrum 模板

    现在 Scrum 已经成为流行和重要的项目管理方法,对于想应用 Scrum 进行开发的团队来说,一个真正的 Scrum 流程模板是必不可少的。因此,微软发布了这个流程模板的正式版本 -Microsoft Visual Studio Scrum 1.0

  • Architexa 简介:让 UML 变得简单、快速

    Architexa 是个全新的基于 Eclipse 的 UML 建模工具,开发人员可以凭借 Architexa 的 UML 图快速洞悉代码之间的关系并与他人共享这些内容。之所以能快速探测代码基,关键在于 Architexa 为开发者提供了 3 种熟悉的图表类型(层次图、类图与序列图),随着开发人员对代码基理解的不断深入,他们可以在 Architexa 的帮助下构建代码之间关系和粒度。

  • 代码质量管理工具 Sonar 提供了设计与架构度量

    开源代码质量管理工具Sonar提供了设计与架构度量。Sonar 2.0 引入了针对 Java 应用的设计分析、架构与面向对象的度量,而 Sonar 2.1 可以检测到未使用的方法以及对不建议使用方法的调用。其 Dependency Structure Matrix(DSM)的全新可视化工具,它可以表示组件之间的依赖并在其中导航,能够通过去掉不必要的依赖来移除包间的循环,还能识别出拥有太多职责的类(这违背了单一职责模式)。

  • Twist 2.0 支持行为驱动开发和协同测试

    ThoughtWorks 工作室最近发布了最新版的敏捷测试自动化工具——Twist, Twist 2.0 帮助测试人员、开发人员以及业务分析师进行协同测试。它允许使用行为驱动开发(BDD)以及领域特定语言(DSL)技术实现自动化测试,同时它也支持使用Groovy动态语言来编写测试脚本。Twist 提供了一个用户界面,为手动及自动功能测试创建可复用的自动化测试脚本。它还为分布式项目和团队提供了持续可见的测试活动.

    使用工具往往是对效率和自动化的期待,而是否使用以及如何工具的方法论取决于你的团队和你的项目,比如

  • 敏捷开发团队更喜欢简单的工具

    实施敏捷不需要一定或者建议使用工具。理想的情况是,看着索引卡上的需求,通过命令行就可以完成开发。但是,最近几年出现了多种工具,它们对顺利完成敏捷开发起到了很好的促进作用。Migan 和 Gaia近期做了一个调查,以试图得出敏捷开发团队对工具的使用情况。调查结果显示了一个非常有趣的现象,那就是简单工具和敏捷项目管理工具软件常常混合使用, 该调查给出了这么一个事实,那就是大多数公司坚持使用简单的、实际的工具,对它们而言,可用性是一个工具最有价值的地方。

Java敏捷.NETScrumIDEAndroidDevOps语言 & 开发文化 & 方法