【IT168专稿】近10年以来,人们一直在试图寻找一个更好的Web开发的解决方案。最初是HTML和CSS,后来又有了AJAX和Web 2.0。但是因为HTML模型是基于页面的模型,缺少客户端智能机制,所以到目前为止基于HTML的Web 应用程序对完成复杂应用方面始终跟不上步伐,整体的用户体验效果与桌面应用程序仍然有差距。
微软和Adobe作为Web应用领域的两大巨头,主要是采用为Web应用程序植入插件的方式来巩固Web战略。近日,在美国旧金山举行的开源大会(Open Source Business Conference)上,微软在“Web为平台”专家讨论会上宣布了针对社区群体的RIA新开源策略,将公开其RIA技术Sliverlight 的源代码。难道是巨人转性,还是另有隐情?开源策略在微软RIA战役中扮演什么样的角色?
一.开源RIA将引导微软走向开源时代
(1)RIA将成为互联网的主流
在互联网诞生的时候,大家都在琢磨怎么把信息通过网络主动发布出去,出于共享信息的简单目的,一种快速小型超文本语言(HTML)被创建了。历经了多次的修改和完善,众多与Internet相关的技术纷纷出现,从DHTML、XML到Java Applet、SWT、AJAX、Flash等,这些技术有些是平行发展,有些是一脉相承。但毫无例外的都追求着一个共同的目标,就是更加强大、更高效反应、更加灵敏和更精彩的可视化特性的互联网程序。
也就是说,在过去几年中,Web开发人员一直想构建一种比传统HTML更丰富的客户端,要实现比用HTML实现的接口更加健壮、反应更加灵敏和更具有令人感兴趣的可视化特性。这时,RIA技术出现了,它允许我们在互联网上以一种像使用Web一样简单的方式来部署富客户端程序。RIA是一种互联网应用程序, RIA目前在很多地方既指富互联网应用系统,又指富互联网应用系统的开发技术,我们也可以将其理解为下一代互联网的应用程序。
那么,RIA将来会成为互联网的主流么?这是一个只有一个答案的问题,那就是“会”。因此,一场新的技术战争已经悄然在RIA领域打响了。毫无疑问,Adobe的Flash是RIA技术领域中最具优势的选手,但是微软借助Silverlight技术正在改变这种情况。例如,Silverlight可以运行在所有Web浏览器上,而不仅仅是微软的IE浏览器;而且Silverlight还采用了打破微软多年老规矩的开源策略。
(2)微软开放Silverlight源码,向开源社区示好
一直对开源吝啬、不感冒的微软居然也一反常态地对开源社区示好,公开其RIA技术Sliverlight 的源代码,是巨人转性还是另有隐情呢?这当然不能仅仅只用巨人转性来解释,也不是仅仅是因为 Adobe 宣称将开放其用于 Flex RIA环境下的软件开发包代码的回应。据有关专家分析,微软公布Silverlight技术的部分源代码,以此表示对开源组织的友善态度,目的是为了籍此吸引开发社区的关注,更好地同Adobe展开竞争,更是其欲称霸Web平台领域的一种新姿态。因为居于 RIA 开发工具领先地位的 Adobe,也正希望借开放其 Flex 部分源码来巩固优势,而作为挑战者的微软想要赶上 Adobe,当然也必须要借助开源来吸引开发者使用 Silverlight。
微软此举从策略上来讲,可称为是实现在网络领域的一次飞跃。当然,开源并没有微软以前想的那么可怕,让Silverlight开源反而将更有好处:它将极大地扩展 Silverlight 的市场,以最快的速度普及。当 Silverlight足够普及时,微软必定会看到更多的新利益。实际上,微软的许多对手都是携着开源的力量来与微软竞争的,如Google 携开源势力强势入侵微软的多个传统强势领域,开源的 Firefox 又在不断抢占微软 IE 的市场份额,而这次 Adobe Flex RIA也打起了开源的主意,微软终于坐不住了,也破天荒地宣布 Silverlight 的开源策略。对于未来的展望,我们有理由相信只要微软尝到了 Silverlight 开源的甜头,微软就可能会尝试更多的开源计划,这也可能会成为使微软加入开源阵营的一个起点。
二.为什么微软RIA需要采用开源策略?
在RIA市场中,选用哪家的工具,一直不是最关键议题,重点是在于开发者是在哪一个RIA生态环境中。因为为了确保RIA可与内部的核心系统相连结,一个认同某个RIA生态环境的企业决策主管,极可能会下达或建议开发人员选择哪家的开发RIA工具。在这样的状况下,可以预见对RIA生态环境的认识和习惯将会成为Web开发决策的关键因素。
据Forrester公司的分析师表示,在RIA市场上两大巨头Adobe和微软各具优势。Flash先入为主,目前已经有了一个很大的市场,Flash技术已经应用于90%左右的PC上。微软想要拉拢这些真正的市场推动者则要花上不小的力气,而微软在RIA技术Silverlight上应用开源策略正是出于拉扰这些市场推动者的考虑。那么,为什么微软Silverlight 的发布与推广需要采用开源策略呢?
(1)Web开发者需要培训
从用户体验的角度来说,我们甚至还没有发挥出HTML的全部潜力。因此,大部分开发者认为基于标准的Web开发还大有潜力可挖,通过加强设计者与开发者的联系,Web产品的用户体验可以得到很大的提升。目前大部分Web应用还不能令人满意,但是这个问题并不完全归咎于浏览器的非标准实现,更多的是因为设计和开发者本身对Web技术的掌握还不到位。
一般来说,Web设计者往往感性些,通常是半技术性人员,喜欢定期购买和升级软件产品。而开发者则更理性,是纯技术性人员,卖给他们工具非常困难。和多数工程师一样,开发者通常更喜欢自己创建工具,或者使用免费提供的开源工具。开发者之所以更接受开源,是因为开源可以让他们控制自己使用的工具。因此,微软只有通过开源的方式才有望追赶Adobe。
(2)做大RIA市场规模,需要更广泛的协作
Adobe已推出多年的Flash技术与Flex工具是公认比较成熟的RIA解决方案,拥有绝大部分的市场占有率优势;而微软推出的Silverlight技术是挟程序开发领域的优势,进入网页应用市场。但为让RIA市场更为蓬勃发展,则需要建立起更广泛的RIA生态体系,这意味着微软不能只依赖设计人员或开发人员等单一族群。所以,通过开源策略可让RIA的开发人员和设计人员迅速理解RIA内部运行机制。因为就技术人员来说,开源可以极大的提高人员的技术水平,通过对开源的学习可以以最快的速度对很多基本的东西加以理解。
另外,开源技术的灵活性可使得它能够比专有解决方案更易于添加更多自由和个性化的功能。这是因为开源技术的开发、测试和发布过程完全是透明的,同时提供的源代码及完善的文档,有助于开发者清楚地了解开源技术的工作原理和实现方法,也更容易得到质量更好的实现方案。这就保证了开源技术除功能上不逊于封闭源代码的方案外,还具有更高的灵活性,以及更低的采购和使用成本。因此,开源能对整个RIA开发生态环境的技术发展起到极大的推动作用。
三.为什么开源策略是微软决胜的关键?
为什么微软要在RIA技术Silverlight上开源?对于这个问题,很大一部分人的观点是认为微软终于抵挡不住开源社区和竞争对手的种种压力,最终被迫开放源代码。但实情却非如此简单,实际上开源策略是对微软的未来有着深远的影响和战略性的意义。
(1)开发社群活跃度成生存的关键
市场就是市场,大鱼吃小鱼的商场不是只认技术是否先进的,IT技术市场上的博弈使任何一个决策失误后果都被放大。技术折腾不过市场,看看强劲如Delphi最终结果也是只能贱卖。那么,主宰RIA市场的关键因素是什么呢?我们也许无法预测。但正如上面所说,我们不能仅仅从技术方面来考虑,还需要更多的从市场来考虑,Delphi就是前车之鉴,市场不认技术和经典,它是残酷无情的。
目前越来越多的软件产品走入开源模式,事实也证明开源对于软件产品的发展和开发者来说是双赢的。我们有理由相信随着Silverlight的开源,Silverlight开发者和爱好者可以通过阅读和研究Silverlight的源代码,更深入的理解Silverlight并进一步增强它,从而利用Silverlight开发出更多更出色的 RIA 应用程序。因此,对于Silverlight来说,只有有更多Web开发者的加入才能让其拥有广泛的用户群体,才能加速Silverlight的普及。也就是说,开发社群活跃度将成为是否拥有更广泛用户群体的关键,也是一种技术能否生存的关键。
(2)微软未来产品将立足于“网络化”
微软的 Windows 和 Office在台式机应用程序开发领域赢得了极大的成功,但是在网络方面微软却没有什么优势可言。随着网络的高速发展,各种基于网络应用的市场前景也将越来越被看好。当微软的对手们在网络方面颇有建树后,微软肯定也不会对网络这块蛋糕犹豫不绝,它必定全力还击,甚至会进行更多的转型。而Silverlight 在桌面和浏览器的结合中可以扮演一个很好的角色,它可以完美地把桌面程序“网络化”,这是未来的一个趋势。
RIA技术Silverlight可以带给用户更丰富的“用户体验”,这是微软目前和未来产品所需要的。例如,通过VB、C#、Python 等语言,微软可以让用户在 Silverlight 的框架上使用最新版本的 Office 办公软件、OneCare 杀毒软件等。也就是说,当未来所有的工作都趋向于网络化时,一切微软的程序都可以嵌入到RIA 平台中,从而使到用户获得更好的界面效果、交互功能以及在线功能。因此,微软着力进行RIA Silverlight 的开源宣传和推广,显然也是看到了富客户端技术的良好前景,而且Silverlight 的开源模式也正好符合网络化模式的发展。
(3)开源社区开发人员众多,更有创造力
现在有大量的开发人员加入到Web开发中来,而且这些Web开发人员大部分都活跃在全球的各种开源社区中。由于大家都在同样的圈子,关注同样的问题,于是自然而然的共享同样的代码,例如一些工具软件、插件、本地化项目等。这种模式在Linux操作系统身上已经被证明是非常有效的,当发现一个很好的创意时,很快就会得到共享和分享,Web开发亦如此。当很多人为同一个目标努力工作时,那么这个目标是不是很快就会实现呢?简单的说,我们只要想象一下集体智慧的巨大力量,就能让我们为之激动。
总的来说,要想赢得RIA之战,就需要提供更多的技术和资源推广。在处于两强争霸的RIA战役的转折点之时,只有拥抱开源社区的力量,才可以让微软拥有赢得RIA战争的动力。开源,不但是微软称霸Web网页开发的主动选择,也是顺应网络模式潮流的选择。至于开源后,微软未来之路如何走,我们不防拭目以待。