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

简介:   在说正题之前先来两段小八卦。  Silverlight的老用户可能会知道,在微软发布该产品之初曾经推出一个名为Silverlight Streaming Service的免费服务,允许开发人员在上面Host自己的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来说意味着什么?

目录
相关文章
|
1月前
|
人工智能 开发框架 .NET
.NET技术的强大功能:.NET技术的基础特性、在现代开发中的应用、以及它如何助力未来的软件开发。
.NET技术是软件开发领域的核心支柱,以其强大功能、灵活性及安全性广受认可。本文分三部分解析:基础特性如多语言支持、统一运行时环境;现代应用如企业级与Web开发、移动应用、云服务及游戏开发;以及未来趋势如性能优化、容器化、AI集成等,展望.NET在不断变化的技术环境中持续发展与创新。
62 4
|
1月前
|
人工智能 物联网 开发者
.NET技术在现代软件开发中的应用愈发广泛和深入
.NET技术是软件开发的关键支柱,本文分为三部分探讨其创新应用:最新进展如.NET 5/6统一平台、性能提升、跨平台支持增强、云集成优化及开源社区贡献;应用场景涵盖微服务架构、物联网、AI/机器学习、游戏及移动应用开发;未来发展潜力在于持续性能优化、云原生支持、新兴技术集成、生态扩张及教育培训加强。.NET正以其强大适应性和创新潜力引领软件开发的新方向。
29 3
|
1月前
|
人工智能 开发框架 .NET
如何掌握.NET技术,引领开发前沿:.NET技术的核心能力、在现代开发中的应用实践、以及如何通过.NET技术实现持续创新。
.NET技术已成为软件开发不可或缺的部分,本文分三部分探讨:核心能力如多语言支持、统一运行时环境、丰富的类库及跨平台能力;现代开发实践包括企业级应用、Web与移动开发、云服务及游戏开发;并通过性能优化、容器化、AI集成等方面实现持续创新,使开发者站在技术前沿。
47 3
|
12天前
|
监控 网络协议 API
.NET WebSocket 技术深入解析,你学会了吗?
【9月更文挑战第4天】WebSocket 作为一种全双工协议,凭借低延迟和高性能特点,成为实时应用的首选技术。.NET 框架提供了强大的 WebSocket 支持,使实时通信变得简单。本文介绍 WebSocket 的基本概念、.NET 中的使用方法及编程模型,并探讨其在实时聊天、监控、在线游戏和协同编辑等场景的应用,同时分享最佳实践,帮助开发者构建高效实时应用。
51 12
|
6天前
|
人工智能 前端开发 Devops
.NET技术自发布以来,在软件开发领域发挥了重要作用
【9月更文挑战第12天】.NET技术自发布以来,在软件开发领域发挥了重要作用。本文分为三部分探讨其在现代开发中的应用:首先介绍.NET的核心价值,包括语言多样性、强大的开发工具支持、丰富的类库、跨平台能力和活跃的社区;接着分析其在企业级应用、Web开发、移动应用、云服务及游戏开发中的实际应用;最后讨论.NET面临的挑战与未来趋势,如性能优化、容器化、AI集成及跨平台框架竞争等。通过不断的技术创新和社区驱动,.NET将持续推动软件开发的进步。
18 4
|
11天前
|
人工智能 开发框架 算法
C#/.NET/.NET Core技术前沿周刊 | 第 2 期(2024年8.19-8.25)
C#/.NET/.NET Core技术前沿周刊 | 第 2 期(2024年8.19-8.25)
|
11天前
|
传感器 应用服务中间件 Linux
C#/.NET/.NET Core技术前沿周刊 | 第 3 期(2024年8.26-8.31)
C#/.NET/.NET Core技术前沿周刊 | 第 3 期(2024年8.26-8.31)
|
11天前
|
人工智能 算法 C#
C#/.NET/.NET Core技术前沿周刊 | 第 1 期(2024年8.12-8.18)
C#/.NET/.NET Core技术前沿周刊 | 第 1 期(2024年8.12-8.18)
|
21天前
|
大数据 开发工具 开发者
从零到英雄:.NET核心技术带你踏上编程之旅,构建首个应用,开启你的数字世界探险!
【8月更文挑战第28天】本文带领读者从零开始,使用强大的.NET平台搭建首个控制台应用。无论你是新手还是希望扩展技能的开发者,都能通过本文逐步掌握.NET的核心技术。从环境搭建到创建项目,再到编写和运行代码,详细步骤助你轻松上手。通过计算两数之和的小项目,你不仅能快速入门,还能为未来开发更复杂的应用奠定基础。希望本文为你的.NET学习之旅开启新篇章!
26 1
|
17天前
|
Java Spring 自然语言处理
Spring 框架里竟藏着神秘魔法?国际化与本地化的奇妙之旅等你来揭开谜底!
【8月更文挑战第31天】在软件开发中,国际化(I18N)与本地化(L10N)对于满足不同地区用户需求至关重要。Spring框架提供了强大支持,利用资源文件和`MessageSource`实现多语言文本管理。通过配置日期格式和货币符号,进一步完善本地化功能。合理应用这些特性,可显著提升应用的多地区适应性和用户体验。
27 0