移动计算的时代其实早已有了苗头,起码微软的 Windows CE、诺基亚的 Symbian 都曾经给手机用户多少带来了一些便利,黑莓则由于接入了企业邮件等商业应用而日进斗金,甚至 Sun 也给自己的 Java 平台做了一个 J2ME 标准,试图用 J2EE 那一套搞法在移动计算平台分一杯羹。但是2007年1月苹果发布自己设计的 iPhone 智能手机,并在当年10月启动应用商店计划之后,拿手机来处理日常事情才逐渐变为一件既酷又很方便的生活方式。11月,谷歌联合几个手机厂商启动了 Android 手机平台,则是拉开了智能手机平台两强相争的序幕。

提及 Android 就不能不提到谷歌的几个聪明选择。首先,Android 操作系统的源代码是公开的(但管理方式不同于通常意义上的开源项目),这就让开发者可以了解它内部的运行机制。其次,应用开发使用开发者众多的 Java 语言,开发环境是 Eclipse 搭配 Android Development Toolkit,这使得从一开始 Android 平台就不缺少优秀的开发者。最后,谷歌采用了一个相对开放的生态系统,允许第三方定制,也不排斥第三方商店。所以在很短的时间内,Android 就追上了苹果 iOS 的步伐,把 J2ME 标准完全替代,这也为日后甲骨文和谷歌的法律纠纷埋下了伏笔。

2008年8月11日,iOS(当时名字还是iPhone OS)开始支持应用商店。10月22日,HTC 发布第一款搭载 Android 的手机 Dream。智能手机之战正式开锣。在这个战场兵戎相见的时候,微软公司呢?微软公司居然缺席了,为什么呢?微软这时候干什么去了?事情还是要翻回2007年9月5号。这天微软发布了一个名叫 Silverlight 的产品,开始叫板 Adobe 的 Flash。

前面我们已经谈到 .NET 这个生态系统的几个平台。微软官方提供了兼顾服务器和桌面的 .NET Framework、配合 Windows CE 移动开发的 .NET Compact Framework、配合单片机嵌入式系统的 .NET Macro Framework,而开源项目 Mono 则提供了 Mac 和 Linux 平台的 .NET Framework 兼容环境。这里面有一个缺环,就是假如你要开发一个比较复杂的网站应用,总有些功能(比如视频播放)没法用 .NET 技术来实现,而需要借由 ActiveX 或者 Flash。所以 .NET 开发团队通过裁剪 .NET Framework (主要是 CLR、BCL 和 WPF),在短时间内做出来一个能够像 Flash 一样运行在浏览器中的计算平台。因为这次不能叫 .NET Browser Framework了,所以起了一个非常奇怪的名字 Silverlight。

和之前的几个 .NET 子系统不同,Silverlight 是微软第一个跨平台的 CLR 实现,比如能够运行在 Mac 平台的 Safari 浏览器中。而且微软难得的提供了跨浏览器支持,使得 Silverlight 程序能够在 Firefox 和 Chrome 中运行。因为 WPF 出现之后桌面程序设计进入了一个非常高效的阶段,同样使用 XAML 语言的 Silverlight 也吸引了 WPF 开发者的目光。微软也和 NBC 电视台等合作伙伴一起做出了不少视频媒体方面的应用。当然 Silverlight 技术生不逢时,像 Flash 一样在 HTML 5 标准逐渐成熟之后到了淘汰边缘。而且提到淘汰这个词汇,Flash 毕竟有十几年的用户积累在那里,只会慢慢退出。而本来就没有特别亮点的 Silverlight 就银光一闪,消失在历史的长河中。

当然2007年年底之后微软另外一个大事是重新设计 .NET Framework 的核心部件,全力推动 .NET Framework 4.0 的开发。值得一提的是,或许是由于 Java 开源带来的压力,2007年10月3号起微软采用非开源协议的方式公开了部分 .NET Framework 的参考代码。Enterprise Libraries、Sandcastle 和 Managed Extension Framework 则在2008年先后以完全开源的方式登陆了 CodePlex。微软在试图从 .NET 生态圈的外围来尝试了解开源社区的运作方式,直到2009年4月2日正式开源了 ASP.NET MVC 框架,为全面走向开放开源做好了准备。

可惜的是,直到2009年底微软都没有能够在智能手机领域做出自己的平台和开发技术,白白把这个巨大的新市场拱手让给了苹果和谷歌。甚至曾经孱弱的开源项目 Mono 都在这个时候突然弯道超车,走上了一条完全不同的发展道路,最终破茧成蝶。下一章我们就来看看 Mono 项目早期的一些故事。

相关文章:

  • .NET 的一点历史往事:和 Java 的恩怨

  • .NET的一点历史故事:招兵买马和聚义山林

  • .NET的一点历史故事:擦肩而过的机遇

原文地址:http://weibo.com/ttarticle/p/show?id=2309404102566349825331


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

.NET的一点历史故事:误入歧途,越陷越深相关推荐

  1. .NET的一点历史故事:Novell的崩溃和Xamarin的重生

    Novell 是一家神奇的技术公司,它自行开发和收购了很多不错的软件和标准,涵盖 NetWare.IPX.WordPerfect.Quattro Pro,Unix,SUSE和Mono.它曾有心挑战微软 ...

  2. .NET的一点历史故事:作者的一些感想

    最近几天通过微博的头条文章平台公开连载了<.NET的一点历史故事>一书的部分草稿.不论是书名还是章节内容,目前真的是仅仅草稿阶段.所以这么早就以连载的方式发布出来,一方面是正在准备在蒙特利 ...

  3. .NET的一点历史故事:擦肩而过的机遇

    Sun 公司曾经借由 SunOS/Solaris 这个 UNIX 操作系统,SPARC 硬件平台和 Java 语言建立了一个商业帝国.Sun 工作站应该是很多资深业界大佬们偶尔还会拿来回忆的一个经典产 ...

  4. .NET的一点历史故事:招兵买马和聚义山林

    曾几何时,Java 的兴起得益于众多大公司的涌入,Sun.IBM.SGI.网景.甲骨文.Borland 都在第一时间关注并投入大量资源来推动它的发展.比较典型的例子就是 IBM 做了自己的 Java ...

  5. 燕赵志愿云如何认证_人物|志愿者讲解员王静雅:用心讲好河北历史故事

    博物馆志愿者讲解员王静雅: 用心讲好河北历史故事 王静雅在河北博物院进行志愿讲解. 深夜,写完报告的王静雅合上电脑,站在窗前伸了伸懒腰.在这座"大唐不夜城",她忽然失了神. 王静雅 ...

  6. 仅改变rowspan背景_真实的他们《王者荣耀》全英雄历史故事以及设定背景介绍...

    在王者荣耀中,每个英雄都有着自己的故事,不仅仅是拥有这里的故事,他们还有独属于他们的历史故事,他们的存在也是那些历史中的一道色彩. 在王者荣耀中,每个英雄都拥有自己的背景故事,有些是和历史比较挂钩,有 ...

  7. 给某汉化联盟讲些历史故事

    我干脆来讲些历史故事吧-- 想当年3DM汉化I社游戏的时候,沐风网站的管理员WAR3ANDC.S(特工)就经常偷3DM的汉化,让汉化组很是头痛.将3DM的汉化补丁破解后,替换成自己的名字,然后改个名叫 ...

  8. 《疑案里的中国史》——很多奇怪的历史故事其实都有合理的逻辑支撑

    摇摇晃晃中,总算将本书的最后一个故事看完了.合上书,不由得为自己从小到大建立起的历史框架感到些许惶恐.小时候那些多荡气回肠.万人空巷的竟然大部分是编的.假的.逻辑不自洽的.好可怕,但转念一想,这本书里 ...

  9. 明修栈道暗度陈仓的意思,明修栈道暗度陈仓的历史故事

    明修栈道,暗度陈仓是指将真实的意图隐藏在表面的行动背后,用明显的行动迷惑对方,使敌人产生错觉,并忽略自己的真实意图,从而出奇制胜. 明修栈道暗度陈仓的历史故事 秦朝刚被推翻的时候,项羽.刘邦以及其他参 ...

最新文章

  1. 【自然语言处理】正向、逆向、双向最长匹配算法的 切分效果与速度测评
  2. while/do while
  3. JS中的面向对象编程
  4. 添加水印(文字and图片)
  5. android 结束if循环_Android 消息机制(Handler + MessageQueue + Looper)
  6. 深入理解InnoDB(5)-文件系统
  7. windows添加删除程序打不开解决方案
  8. UESTC 31 饭卡 card
  9. MyBatis映射器出错,已解决(Multiple annotations found at this line:)
  10. L1-060 心理阴影面积 (5 分)-PAT 团体程序设计天梯赛 GPLT
  11. [渝粤教育] 广东-国家-开放大学 21秋期末考试马克思主义基本原理概论(A)10882k1 (2)
  12. 三菱PLC编程软件 GX Developer 8.86 中文版的下载与安装 (win 7 64位)
  13. 营养电子秤控制板方案
  14. Windows超级管理器绿色单文件版V9.41下载 | 电脑任务管理器损坏可予以替代 | Windows超级管理器下载
  15. 查询一个表中的两个字段值相同的数据
  16. 基于MFC的U盘检测与文件拷贝程序
  17. 创意简约土木黑灰配色PPT-朴尔PPT
  18. Ubuntu拼音输入不正常解决
  19. 免费壁纸背景高清图片素材网站
  20. 个人或团队项目怎么起包名

热门文章

  1. Android学习笔记(三)
  2. 页面获取Spring Security登录用户
  3. 第十一周项目3-程序的多文件组织
  4. windows phone 8 的新特性
  5. XP下Virtualbox虚拟Ubuntu共享文件夹
  6. 构建属于你自己的dapr服务发现
  7. .NET Core用数据库做配置中心加载Configuration
  8. 从内存中释放Selenium chromedriver.exe
  9. asp.net core 5.0的一些模块
  10. Power Automate Desktop概览