微软负责软件开发者部门的全球高级副总裁S.Somasegar日前发表了题为《Key Software Development Trends》(软件开发的重要趋势)的博客文章(原文链接),称今天的开发者与以往任何时候都更愿意考虑和使用多种技术,在编程方式上的选择也越来越多。微软将通过自己的开发平台和工具为所有编程方式提供优质支持,帮助客户开发出优秀的软件。
在文中,他分析了软件开发领域正在兴起的六大重要趋势,并称这些是微软的重点投资方向。
这六大趋势分别是:
1. 云计算
他给云计算下的定义,是企业可以使用当前刚好足够的计算资源,在峰值负载时能够灵活扩展,并免去管理硬件的开销。云计算可以弥补小公司规模不足的成本劣势,从而与大公司同台竞技。微软的云计算平台目前已经包括Windows Server, Windows Azure, SQL Azure等产品和Windows Live, Office和Xbox Live等服务。而云计算只是虚拟化计算环境的一个实例,下一代开发工具应该支持云计算和其他虚拟化计算。
2. 以Web为平台
浏览器为软件提供了丰富的运行环境和方便的使用界面。越来越多开发者选择Web作为软件和开发的平台,使用面向Web的开发、调试和性能分析工具。各种JavaScript库使这种语言如虎添翼,而为Silverlight开发的体验更加丰富的应用则能够打破HTML的局限,利用更多资源和系统特性。
3. 并行计算
多核处理器正在进入低端计算机,另外,让廉价的图形处理器完成特定工作也成为趋势。超级计算机也开用群集来执行计算任务。因此,更多开发人员将开始利用并行计算资源。
4. 设备和用户界面的多样化
各种廉价的互联网设备越来越多,用户需要通过各种方式访问和处理数据,而且随之而来的,是用户界面也越来越多样化,向自然和直观的交互发展,包括基于触摸、基于语音和基于相机的等等。Windows 7目前为触摸屏应用提供了良好支持,而Silverlight和WPF、MFC都开始支持基于相机和多点触控的交互。
5. 敏捷开发过程
Scrum、测试驱动开发和持续集成等敏捷开发过程与其他开发实践相结合,已经成为业界的常态。微软的许多团队已经将敏捷实践融入到自己的开发过程中。Visual Studio 2010已经支持单元测试和迭代计划等敏捷方法,还将提供更多支持。
6. 分布式开发
分布式开发使不同国家和时区的开发者仍然能够紧密协作。为此,开发工具需要支持分布式的代码审查,远程结对编程、开发测试协作和资源共享等云开发活动。
这篇博客下面的评论中,开发人员们还提出了其他主要趋势应该包括小应用(Widget?)、游戏、移动应用等。你的意见呢?