软件开发的趋势

    今天的软件开发商,比以往任何时候更多,考虑和使用多种技术,帮助他们顺利地构建解决方案,并迅速交付给客户。开发人员拥有了越来越多编程风格的选择。我们的目标是使我们的工具对所有编程风格予以良好的支持,帮助我们的客户创建伟大的软件。
     软件开发领域正出现几个趋势。以下是我最近思考的一些核心的趋势。这个清单并没有罗列所有软件的趋势,但每一个代表着一个微软目前正在或将要投资,最终惠及客户的方向。

云计算
云计算让公司专注于他们今天所需要的计算资源的,扩大处理高峰负荷的能力,避免了管理硬件的开销。云计算使得小企业能利用现有环境以合理的和可预见的成本对大的成规模的公司展开竞争。Windows Server、Windows Azure、SQL Azure、 和例如Windows Live、 Office、Xbox Live等服务现在已经是驻扎在云端的应用。微软一直致力于为Windows共生环境提供最好的云计算平台和服务。云计算只是虚拟计算平台的一个例子,下一代开发工具必须能使开发人员构建能在云和其他虚拟环境里部署和执行良好的软件。

以Web为平台
浏览器提供了丰富的运行环境和对应用无摩擦的访问。开发人员越来越多地选择Web作为他们软件和软件开发的平台。越来越多的开发人员和设计人员使用提供丰富的开发、调试和分析这样专门为web设计的工具。 JavaScript库让Web开发人员可以使用JavaScript完成比以往任何时候更多的工作来实现达到广泛的观众并且使人身临其境的互联网应用。 例如,Silverlight允许开发者摆脱HTML的限制,并利用一系列资源和功能优势,同时保证跨平台的兼容性。

并行计算
摩尔定律预测的CPU的性能将每18个月翻一番。现在性能提升主要通过加入更多的处理器核心,而不是通过提升单个核心的性能。 这种方式给低端机器提供了多核处理能力。利用低价且广泛存在的台式电脑图形处理器执行某些任务已成为的新趋势。在高端市场,超级计算中心正在利用集群来执行复杂的计算任务。今天,只有少数程序员有编写在多核心环境下运行的代码的技能。在未来,并行库,调试,分析和诊断工具,将使更多的开发人员利用并行计算的资源优势。

装置的扩散
随着越来越多可以连接到互联网的低价的设备出现,我们都希望能够以适合于我们的设备的方式来访问我们的数据并与之交互。我们希望能够在所有设备上便捷安全地访问我们的在线身份和数据。今天,微软提供了通过Windows Live和Xbox Live访问用户的数据。装置的扩散将导致用户界面模式扩散,产生更多与这些设备之间的自然,直观交互。触控式的、基于语音、以及相机的解决方案变得可用和成本合理。微软利用这些功能来建立直观的用户界面不断发展软件。Windows 7支持触摸式的平台应用。 Silverlight和WPF已经支持基于摄像头的交互方案和多点触摸,就像MFC的。我期望的用户界面模式继续发展,并变得更加直观和强大。

敏捷开发过程
敏捷开发过程,包括Scrum的,测试驱动开发和持续集成常在企业开发和小规范开发商中广泛使用。这些方法通常与其他开发实践相结合。在微软内部,很多团队都集成了敏捷开发的实践要素于他们的开发过程中。Visual Studio 2010对敏捷方法敞开大门,提供了对诸如单元测试和迭代规划等一些敏捷过程的支持。在将来,我们将继续支持更多更灵活的敏捷方法。

分布式开发
分布式开发,使团队成员跨越地理分隔紧密合作,汇集了全球人才来无缝地实现共同的项目目标。一个跨时区和跨边界工作小组的开发体验应该和单个开发人员一样好,而且还包括支持基于云计算的开发活动,如分发代码审阅,远程结队编程,开发/测试人员协作和资源共享。优秀的分布式的团队开发工具将利用全球的人才库建立下一代软件。

开源软件趋势

如今,开源软件的研究也是一个热点.

最后...
这些并不是影响今后发展趋势的完整列表,只是我们觉得这些将是软件开发领域今后发展的一些方向。我欢迎你的观点:哪些趋势您觉得会在将来最重要的?这些趋势是否在这份名单?欢迎留下您的观点发表评论。


http://www.niftyadmin.cn/n/1535950.html

相关文章

JAVA-类加载机制(1)-生命周期

一,类加载机制是什么? 将包含类数据的Class文件加载到内存,进行校验,解析,初始化之后,形成可被虚拟机直接使用的java类型; 主要内容: ①,全盘负责:当类加载器加载一个类时…

java动态打jar包_Java中动态加载jar文件和class文件

概述诸如tomcat这样的服务器,在启动的时候会加载应用程序中lib目录下的jar文件以及classes目录下的class文件,另外像spring这类框架,也可以根据指定的路径扫描并加载指定的类文件,这个技术可以实现一个容器,容纳各类不…

在windows下编译scribus

编译的scribus版本是1.35svn版,以前的1.34或者1.33都不能按这个方法编译(因为以前的版本基于QT3,而QT3没有支持windows的公开版本)。 1.下载软件包 所需软件包列表如下: Scribus 1.35 svn源码(svn://scri…

goroutine并发MySQL_golang/goroutine 和 swoole/coroutine 协程性能测试对比

协程的一些特性和优点我就不说了,网上很多文章都讲述的很透彻。协程可以理解为纯用户态的线程,其通过协作而不是抢占来进行切换。相对于进程或者线程,协程所有的操作都可以在用户态完成,创建和切换的消耗更低。开发者可以无感知的…

开源排版软件 Scribus

Scribus是一个开源的排版软件,支持Linux/Unix,MacOS X,OS/2和Windows操作系统。它可以用于制作各种出版物,并且有着良好的版面输出能力。当然,它也有着友好的用户界面。Scribus可以满足各种专业出版物的需求&#xff0…

Angular2.js——数据显示

显示数据,即属性绑定机制把数据显示到用户界面上。 在Angular中最典型的数据显示方式,就是把HTML模板中的控件绑定到Angular组件的属性。 接下来介绍几种数据显示的语法和代码片段。 使用插值表达式显示组件属性 要显示组件的属性,最简单的方…

i37100黑苹果_【台式机】i3-7100 微星 B250M PRO-V GTX 660 10.13.6黑苹果引导_Hackintosh_Clover...

简介i3-7100 处理器微星 B250M PRO-V主板安装黑苹果系统,首先,GTX 660的独显决定了,只能安装10.13.6系统。配置电脑型号 微星 MS-7A74 Modified by dsanke 台式电脑操作系统 Windows 10 专业版 64位 ( DirectX 12 )处理器 英特尔 Core i3-710…

malloc()函数与alloc()函数

C语言跟内存分配方式   (1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 (2) 在栈上创建。在执行函数时,函数内局…