博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一直以为.net实现跨平台不过是简单的在其他平台上实现.net framework的runtime而已,今天在读《.net 大局观》的时候却读到这么一段:

“然而仍然存在一些技术方面的原因。尽管MSIL是平台中立,但.NET Framework类库的某些部分并未平台中立。例如Enterprise Services支持可伸缩、面向事务(transaction-oriented)的应用程序,而它乃是植基于COM+。因此,这一部分只能运行于COM+存在的地方。这就不仅排除了UNIX,也排除了旧版Windows如Windows 98的机会。另外一部分类库也明显或多或少地泄漏了它的Windows血统。

同样重要的是,微软必须努力让客户严肃地相信,微软将在non-window系统上长期支持.NET Framework。这个公司向来把所有焦点放在它自己的操作系统上,这已经成为其商业特点,同时也是它成功的首要因素。顾客们或许会想起早些时候关于“其他平台也将支持COM”的承诺。然而当它的合作伙伴如Software AG 和 Compaq 费了老鼻子劲才使 COM成功跨平台时,微软很快就对这个念头失去了兴趣。同样的事情会发生在non-windows版本的 .NET Framework身上吗?

此时评论为时过早,答案尚未可知。假如微软想让 .NET Framework真正成为Java的一个多平台竞争对手,技术上的潜力正源于此。不过还得过些年头,才可能有大批用户相信这个公司真的愿意帮助他们在non-windows操作系统上开发软件。”

突然想起半年前刚刚接触.net的时候,在QQ群里与群中参与和一位前辈争论.net和java的跨平台特性的事来,真是觉得当时的我太过天真,也太过肤浅,很多东西由于代价和商业的因素,事实和理想毕竟是有差距的。难怪很多书里在说到.net的跨平台的时候很多都只是说在理论上是可以实现跨平台的。

不过真的希望MS能在这个方面走得更远,毕竟现在作为一个.net程序员的我,更希望自己的舞台能够更大。