zoukankan      html  css  js  c++  java
  • 不要奢望.NET能够跨平台


    有人跟我说了这么一件事。他们公司做机顶盒开发,原来是Windows XP + .NET作的,但是由于机顶盒免费赠送给客户的,而一个Windows XP需要88美金,因此成本翻倍。公司高层最终不愿意花这一笔钱,就迁移在Linux是用Mono重新实现一遍所有的功能,但是在开发过程中遇到了种种问题,频繁出现死机现象。

    我听了觉得十分好笑,竟然有人还把.NET能够跨平台当真一回事,可谓智商无下限!

    微软的.NET只有很小一部分提交给了ECMA,而其他部分的API,你可以认为是Windows API高级版。而且微软把.NET当作Windows API高级版的意图也越来越明显。

    例如线程方面吧,System.Threading命名空间下的AutoResetEvent、ManualResetEvent、Overlapped等等,都只是Windows API的封装而已。Java的线程框架是自成体系,而.NET不是。

    微软的资源也不是无限的,微软也应付不了整个类库的重新设计。语言规范、虚拟机作得十分优秀,但是应用层类库,很多部分,都出现了一些问题,简单封装Windows API,缺乏设计,包括System.Security.Cryptography、System.Net等部分。

    .NET就如同当年的MFC一样,很多类库都是Windows API的封装,不是自成体系的框架,不了解Windows API,就不大可能会使用,同时,要移植到其他平台上,也是极其艰巨的任务,除非你能够在其他平台下实现了一套Windows API。

    Novell公司的Mono是一个笑话。把.NET迁移到Linux下,就如同要把MFC迁移到Linux下一样可笑。

  • 相关阅读:
    Android牟利之道(四)如何推广你的产品,即你的APP
    android权限
    OpenGL 中文 API
    为何不能上网浏览网页 但是可以用QQ聊天
    安装任何软件都提示不能访问windows Installer服务
    初识WAP
    用asp.net 2.0实现网站二级域名(转)
    Visual Studio .NET已检测到指定的Web服务器运行的不是ASP.NET 1.1 版
    用EasyBoot轻松做启动光盘
    我心中的痛房子
  • 原文地址:https://www.cnblogs.com/jobs/p/724586.html
Copyright © 2011-2022 走看看