一起谈.NET技术,关于Silverlight战略转移新闻,我的思考

  在说正题之前先来两段小八卦。

  Silverlight的老用户可能会知道,在微软发布该产品之初曾经推出一个名为Silverlight Streaming Service的免费服务,允许开发人员在上面Host自己的Silverlight应用程序和相关的媒体资源。推出此服务的目的当然意在吸引开发者对Silverlight技术的兴趣,我就曾经在上面放过两个小程序。但是大约在一年前,微软悄无声息的取消了该服务,据说是为了让位于Azure平台。实际上这已经可以看作一个微弱的信号,表明微软的战略确实有转变的倾向,而且这个倾向早在一年前就开始了。

  另一个消息就比较近了。有位开发者进入微软,并且目睹了微软内部团队在到底是HTML5还是Silverlight的问题上存在争论。他把自己的见闻发表了出来,引起了不小的风波。这之后又有微软的经理出来辟谣,说Silverlight和HTML路线不同,不存在矛盾云云。现在再来看这则旧闻,当真是空穴来风,未必无因。一个人的看法或许会失之片面,但是微软内部对自己的发展路线也存在分歧这一点,现实地来看应该是没有错的。

  本来,一种技术的兴衰犹如人有生老病死,本不足论。但我以为这次的事件暴露出微软的一个痼疾,即自从GDI时代以后,微软在表示层的战略问题上一直是举棋不定的。

  有多年经验的开发人员可能还会记起,微软在上个世纪末的时候曾经有一段时间非常钟爱HTML技术。不仅在Visual Studio的各个版本中都要求用户安装最新版的IE,许多软件界面,包括Windows平台开发SDK的安装界面都是用HTML来做的,还专门开发了强大的HTA技术,以及堪称Ajax鼻祖的异步Xml通信技术等一大堆新鲜玩意。但时间进入21世纪,微软开启.Net平台战略,这一块也就渐渐不再为人提起了。

  进入.Net时代以后,微软主推的客户端表现层技术是WinForm。但说实话,Net 1.0和1.1版的WinForm远远达不到成熟的地步,直到2.0的时候才算大器堪成,但是微软这时候作了一件让很多开发人员吃惊的事情:在很多开发人员还在学习WinForm 2.0时,很快又推出可以说是彻底推倒重来的WPF,这在开发社区中引起了相当的震动和混乱。尽管从技术角度可以有很多理由来说明WPF的出现有其合理性,但还是有很多开发者因此对微软产生了技术平台更新换代过于频繁、罔顾保护开发者技术投资的恶评,很多社区因此弥漫着对微软不信任的态度。老实说,我认为微软当时推行3W(WPF/WCF/WF)的做法是过于冒进了。后来的事实也证明,当时的WPF无论在完整性和性能上都存在重大问题,WCF也受到过于繁琐等诟病,WF——大家都知道了——几乎被彻底改写。如果微软能够把节奏放慢一些,等这些技术更加成熟之后再推介给开发者,也许局面就会好得多。

  如果你认真看看微软现在的表现层技术,你或许会为其数量而吃惊。客户端技术有WinForm和WPF,当然你还可以算上更老的MFC;浏览器上有ASP.NET,后来又变化出ASP.NET MVC,还有WPF/XBAP,再有Silverlight;为了引入Ajax自己开发了Atlas,后来又引用开源的JQuery。一个公司维护这么多风格迥异的表现层开发技术,这恐怕是史上绝无仅有的,就算能够以微软的财力维持这么多技术并行开发,在思想上引起的混乱也是不可低估的,前面的八卦也可以说明这一点。

  我以前就认为,以微软在表现层上技术路线上的混乱现状,实际上早就到了非收缩战线不可的地步。如果微软自己人意见都无法统一的话,更遑论对外攻城略地?目前,基本上不再更新的WinForm和微软都不再有兴趣维护的Atlas(ASP.NET Ajax)已经有出局的迹象,ASP.NET和ASP.NET MVC的争论在很长时间内仍将继续,而这次被曝的是Silverlight,则有点出乎我的意料。毕竟在此之前Silverlight给人的印象是处于急速上升期并且微软也在力捧的技术,难道这么快就要被边缘化了?不论微软自己如何解释,Web已经不能算是一个可以把蛋糕无限做大的新兴市场,HTML5流行起来的话无论如何都会挤压Silverlight的生存空间。如果微软认真检讨一下自己的平台战略,能够定下一个明确的前进方向,那也未尝不是一件好事;但若让这种混乱的局面继续维持下去的话,对开发者将是难以承受之重,对网络时代已经成为后来者的微软来说,恐怕也不是什么好兆头吧。

  最后还是用一个八卦结尾。有消息称,微软和Adobe的老总最近密会了相当长的时间。根本的理由当然是共同对付苹果,但是这两家坐到一起,在过去恐怕是难以想象的。移动平台这一块暂且按下不表,如果微软和Adobe彼此当真有兴趣的话,你认为这对Flash和Silverlight来说意味着什么?

时间: 2024-07-30 08:31:53

一起谈.NET技术,关于Silverlight战略转移新闻,我的思考的相关文章

一起谈.NET技术,Silverlight的搜索引擎优化

什么是SEO,为什么它是如此重要? SEO(搜索引擎优化)是改善交通的数量和质量,从搜索引擎网站的过程. 这意味着,做搜索引擎优化您的网站将使其更具可转位及更多的人参观. 下面是你的规则应该坚持以做最好的搜索引擎优化几点: <title>标签应包含有关您网站的最重要的信息 最重要的内容应留在本页面(开始后<body>标记) 所有图像标记号(<img />)应界定上的Alt标签-这是搜索引擎理解什么是图像的唯一途径说' 简短的开场白,RIA的世界 如今,网络空间是完全不同

一起谈.NET技术,Silverlight 2.5D RPG游戏技巧与特效处理:(三)动态光影

通常来说,只要谈到影子及影子制作,首先想到的不外乎3D.游戏中的影子设计大致可分为硬实现和软实现两种,比如像"游戏影子制作技术"这篇文章所谈到3D游戏影子制作方案Projective Shadow.Shadow Map以及Shadow Volume均属于硬实现.硬实现的效果最逼真,相对的运算量也较高:而对于Silverlight开发2.5D网游来说,我们通常会采用折中的软实现去表述场景中的动态光影效果.精致的光影能让玩家充分体验到空间立体感,当然也是2.5D网游所不可或缺的条件之一.

一起谈.NET技术,Silverlight 2.5D RPG游戏技巧与特效处理:(十一)AI系统

谈到人工智能(AI),这个话题就太大了:大学里有<人工智能教程>专门讲这方面的知识,什么大名鼎鼎的人工神经网络.遗传算法等等均可一窥究竟,这里如赘述似乎有些班门弄斧,我们暂且丢它一边去吧. 本节,我的主要目的是与大家共同探讨AI在RPG游戏中的应用.看过之前教程的朋友一定不会陌生,A*算法就是其中的一个重要组成部分:而本系列Demo中则使用了更为高级的改进型A*算法,不仅优化了性能,同时也大幅提升了玩家的操控体验.除此之外,AI更常见于RPG游戏中的角色,接下来我将引领大家循着AI的足迹,逐步

一起谈.NET技术,Silverlight访问Apache服务器(Tomcat,Geronimo)中部署的Webservice

开发环境 Vs2010 . Silverlight4 . Java Jdk1.6 U 21 . Apache-tomcat-6.0.20 . Myeclipse8.5 . Apache-ant-1.8.1 . Axis2 . Geronimo-tomcat6-javaee5-2.2 下载地址: Apache-tomcat : http://apache.ziply.com/tomcat/ Apache-ant   : http://apache.ziply.com/ant/ Axis2 : ht

一起谈.NET技术,Silverlight的多线程能力(上)

对于多线程其实一直以来都存在很多误区:比如多任务与多线程就很容易被混为一谈,而多线程也常被理所应当的认为是并行等等.而事实却是:多任务≠多线程.单任务≠单线程.多线程不一定并行,多线程与性能不成线性关系等等,其中道理在这里不再详述.笔者认为Silverlight多线程主要作用不是在于提高性能,而是在于用户体验,其根本目的是解决用户体验中的响应速度,减少单线程带来的阻塞问题.用一个贴切的例子来形容单线程和多线程的区别:单线程就好像只有一个服务窗口卖票的车站,人们排队买票时都是单线程处理的,而且不能

一起谈.NET技术,Silverlight 2.5D RPG游戏技巧与特效处理:(二)纸娃娃系统

纸娃娃系统,或许大家听起来并不陌生.早在十几年前,当时不论是文字游戏"泥巴(Mud)"或是交友.社交网站,我们只能通过屏幕上的文字来传达与交互信息:随着技术不断进步,2D/3D图形技术高速崛起,通过在基础模型上由客户随意挑选.任意更换各种造型(素材),即可打造出真正属于"自我"独特风格的网络虚拟形象,QQ秀便是我们耳熟能详的代表,更贴近真实的如(RPG)游戏及虚拟现实中的换装/换肤系统同样亦得益于纸娃娃机制. 本节,我将向大家讲解如何最好的实现Silverlight

一起谈.NET技术,Silverlight开发廋身攻略(一)

相信大家在用Silverlight做应用开发时,随着项目的进展系统功能越来越多,肯定为Xap包越来越大而烦恼,Xap包的大小直接影响应用程序的加载速度,给用户造成不良的用户体验.我也曾为这个问题头痛过,经过在网上查阅资料和项目实践发现可通过以下三种方式给Silverlight应用程廋身. 1.定期检查系统项目模块的引用集,移除多余的引用库 2.图片资源文件,如果不是必须放在资源中的,可以采用按需加载 3.将系统划分成多个Silverlight项目,然后根据需要进行Xap加载 下面我将结合实例来对

一起谈.NET技术,Silverlight 的多线程能力(下)

上一期笔者介绍了Silverlight实现多线程的诸多解决方案,本期笔者将通过一个实例来实现所有多线程编程方法,并且还将于JavaScript和Flash两种Web客户端技术性能进行比较,请勿拍砖. 在正式编程前,笔者还要重申上期非常重要的观点:Silverlight多线程主要作用不是在于提高性能,而是在于用户体验.这里要给多线程泼一盆冷水了,多线程与性能提升不是正比关系,如果你使用一个单核CPU的客户端设备,那么即便你创建100个多线程也与单线程的计算性能是一样的,因为一个CPU时间片下只能处

一起谈.NET技术,Silverlight 2.5D RPG游戏技巧与特效处理:(十二)魔法系统

世界首款Silverlight – MMORPG:<<窝窝世界>>震撼登场!伴着与XNA合体后的Silverlight 5 强势发布,一波Silverlight网游研发海啸即将席卷全球!  多磨的好事依旧让人激动,于是一不小心写下10款全新的魔法效果旨在祝贺.今天的教程不会让你失望,没错,又是一场超豪华魔法盛宴!接下来您将看到的是本教程ARPG Demo战斗实景,一切灵感与临摹均来源于近期即将内测的2.5D大作<倩女幽魂Online>(以下左边为倩女幽魂实景,右边为De