Microsoft技术栈最近有大量的变迁,这使得开发人员和领导者都想知道他们到底应该关注哪些技术。Microsoft自己并不想从官方层面上反对Silverlight这样的技术,相对而言他们更喜欢让这种技术慢慢淡出人们的视线,否则局面可能会更加混乱。如果你想了解该问题的答案,那么可以查看“.NET业务应用程序技术指南”这个小有名气的文档。该文档发布于去年早些时候,它深入探讨了Microsoft打算在哪些领域付出努力,我们应该回避哪些技术等内容。
下面这个概要图是我们探索Microsoft及其相关技术的一个很好的起点。
尽量早日放弃Silverlight和Flash
虽然WinForms和Web表单这些旧的.NET技术依然占有一席之地,但是Silverlight和Flash这样的RIA容器绝对是出局了。正如下面图5-15所展示的,Microsoft并不想空等着Silverlight 5所计划的10年生命周期。他们已经打算在2015年底放弃RIA容器。
高端应用程序更倾向于完全使用本地技术;而低端应用程序则期望HTML5的能力持续发展。尽管没有将开发人员推向具体的某一种技术,但是对于这种转变我们必须要注意的事情是:
如果你正在过渡到本地应用,那么你可以以生来就可以在任何Windows设备上运行的XAML/.NET作为目标,这样你就能够利用自己已有的技能甚至是代码了。可移植类库还允许你在不同的平台之间共享类库,包括Silverlight。
对于基于浏览器的HTML5应用而言,Microsoft提供了主要的工具和框架,它们能够帮助你基于最新的标准创建可用于任何设备的应用程序。Silverlight和HTML的互操作性还允许你通过混合应用程序进行逐步的过渡。
移动
Windows 8商店有三个相等但是不同的选项
就Windows 8商店应用而言,Microsoft过去一直不愿意将开发人员推到某一种具体的技术栈上。这个政策现在也没有发生变化;在.NET/XAML、C++和JavaScript/HTML5这些技术之间选择的首要标准是开发人员最熟悉哪种技术。
除此之外,他们还提到了C++,因为它具有性能优势。可重用性并不是很受关注的一个点,因为这三个平台都能够在Windows Phone和Windows桌面之间共享代码和资源。
本地选项适合Windows Phone
Windows Phone推荐的技术是.NET和C++。再次重申,需要注意一下C++的性能优势,但是他们说的最多的还是开发者应该使用自己更加熟悉的技术。
尽管Windows Phone兼容PhoneGap/Apache Cordova,但是这并没有被提及。推测起来原因可能是他们认为在小设备上PhoneGap的性能比起.NET或者C++要差。在2013年度的Build大会上性能无疑是最重要的话题,超出了诸如一般可用性、可视化设计和深度OS集成等其他话题。