在谈之前我们先看一下什么是MONO?MONO项目是由Ximian发起、Miguel de lcaza领导、Novell公司主持的项目。它是一个致力于开创.NET在Linux,FreeBSD,Unix,Mac OS X和Solaris等其他平台使用的开源工程。它包含了一个C#语言的编译器,一个CLR的运行时,和一组类库,并逐渐实现了 ADO.NET、ASP.NET、WinForm、Silverlight(可惜没有实现强大的WPF),能够使得开发人员在其他平台用C#开发程序。

值得看好的地方:

1,跨平台:开创.NET在Linux,FreeBSD,Unix,Mac OS X和Solaris等其他平台使用,这是微软没有实现的,但是MONO进行了补充,所以值得看好。
2,开源:不论使用什么技术,大家似乎都希望能够用开源的产品,一方面是考虑到技术的可控性和可维护性;另一方面则是考虑到安全性,当然在另一个角度也是可以学习到其中的一些技术和思想,所以大家对开源总是报以欢迎的态度。
3,不同的方式实现.NET框架:由于微软对技术申请了专利,所以MONO不能盲目的模仿,对很多细节都改用自己的方式进行了实现,所以我们也可以学到很多不一样的实现方式。
4,持续更新:MONO从一开始到现在始终在更新,其中包括bug修复、版本升级、增加新的功能及应用,所以相信它会在不断的更新中更加完善。

不足之处:

1.模仿但要避免专利:由于是模仿微软.NET平台,但因为微软对代码申请了专利,所以MONO只能采用其它实现方式来实现同样的功能,这样一来很多地方就会实现得很累赘,效率也会受损。
2.没有摆脱实验产品的头衔:由于它目前的使用比较低,所以信息反馈和持续改进就做得比较弱,这也是目前功能完善得比较慢的原因之一吧。
3,功能还需要完善:一些主要功能还未实现,如作为Windows平台最基础的COM和COM+功能没有保存,像MSMQ等消息队列,消息传送的功 能也没有实现,对ADO.NET、XML等核心功能效率有待提升,对BCL库代码也有很多需要优化的地方,强大的WPF也没有引入。
4.效率和用户体验还有待提升。

与微软之间的关系

微软与MONO之间的关系也一直处于不冷不热的状态,没有明确的反对,也没有明确的支持,究其原因笔者认为主要有以下两点:
1,微软带来最大收益的产品仍旧是Windows操作系统和Office等软件,微软在其他领域盈利都没有这两大产品来得直接。而.NET作为微软 的强大开发平台,是不希望落在其他平台上运行的,这样就会削弱Windows操作系统和Office等软件的市场占有率,所以让.NET跨平台对微软来说 是一件舍本求末的事情,这也是微软不主张.NET运行于其他平台的主要原因,你想微软是一个以技术为主导的公司,任何IT市场都会有它的身影,如果想 让.NET跨平台,那岂不是一件很轻而易举的事情吗?
2,由于MONO还没有成熟,在很多方面都表现得像一个实验室产品,在根本上没有对微软构成威胁,况且在外界质疑.NET是否能跨平台的时候,还有一个现身的说法,所以微软也不会明确的反对和支持。

总结

虽然目前来说MONO喜忧参半,但优点始终要大于缺点,毕竟每一个框架或者产品都是慢慢不断改进而完善的,更何况开源必将是未来的一个趋势,所以我们有理由也有信心期待它接下来的发展。

浅谈微软跨平台与MONO相关推荐

  1. 浅谈微软Windows Server 2012的性能指标

    CNET在微博上曾经发了篇文章提及Hyper-V性能远超VMware,引来一片口水: [微软:Hyper-V性能远超VMware产品]从列表看,在处理器支持.物理内存支持.每个虚拟机的处理器数.集群中 ...

  2. 浅谈Flutter跨平台调用方式MethodChannel

    Flutter是目前非常流行的跨平台方案,由于它的性能接近于原生应用,因而被越来越多的开发者所采用.既然是跨平台方案,那么久必然存在调用系统功能的需求,在Flutter中,Flutter层与nativ ...

  3. 浅谈微软补丁安全更新公告

    微软宣布计划改变客户访问安全更新的方式. 不是在Microsoft安全公告网站上提供安全更新,而是创建一个新的门户网站,发布所有安全漏洞信息. 该网站称为"安全更新指南",即URL ...

  4. 浅谈微软认证Outlook Web Access钓鱼(Outlook Web Access Phishing)

    安全人员在进行安全测试的时候,会对一个企业进行整体评估,当然测试的项目很多,需要历时数日再可见到效果,其中一项很重要的环节就是钓鱼,很多测试人员只是知道有这个名词,却不会去用这项技能,很遗憾的一件事情 ...

  5. 跨平台开发解决方案浅谈

    跨平台开发解决方案浅谈 前言 本文所讨论技术都是基于大前端生态下的 本文所指跨平台概念无特殊说明时泛指跨安卓和ios 用前端工程化技术开发出app也是本文所讲重点 作为用户来说,当然希望使用App的时 ...

  6. 沈向洋:浅谈人工智能创造

    来源:AI科技评论 本文约7000字,建议阅读10分钟 本文为你介绍沈向洋的<浅谈人工智能创造>,分享过去六年其在微软小冰身上得到的一些实践想法. 2020年9月21日上午9点,由北京大学 ...

  7. 【转】浅谈.net remoting 与webservice

    1. .NET Remoting .NET Remoting是微软随.NET推出的一种分布式应用解决方案,被誉为管理应用程序域之间的 RPC 的首选技,它允许不同应用程序域之间进行通信(这里的通信可以 ...

  8. 浅谈 TypeScript【下】-- TypeScript 语言规范与基本应用

    文章内容输出来源:拉勾教育 大前端高薪训练营 前言 在 [浅谈 TypeScript[上]]中,简单讲述了关于JavaScript静态类型检查工具Flow的用法等.可以看到,我们接下来讲述的TypeS ...

  9. 浅谈OpenNI之我见

    浅谈OpenNI之我见 一晃就是一年,从第一次见到Kinect算起,回想起一年的开发历程确实是磕磕绊绊.一直用微软的库给公司开发体感游戏,只是业余时间用OpenNI1.5做些小实验和不起眼的算法.像什 ...

最新文章

  1. Go圣经-学习笔记之defer和异常处理
  2. mysql 性能查看_MySQL查询性能问题排查
  3. R-3.1.1 编译安装
  4. __doPostBack用法 【csdn】
  5. C/C++不同文件夹下包含头文件的方法及#include的使用
  6. linux提升权限命令提示符,win10如何直接使用命令提示符提高管理员权限?
  7. Sql Server字符串函数
  8. Python笔记-获取拉钩网南京关于python岗位数据
  9. [Python] L1-015. 跟奥巴马一起画方块-PAT团体程序设计天梯赛GPLT
  10. linux中更改用户密码_如何在Linux中更改用户密码
  11. IBM/ORACLE/EMC在银行业的重要性
  12. Java编程思想 PDF
  13. pip 安装小白教程
  14. 用户画像分析相关整理
  15. 数学建模学习(93):方差分析、T检验、卡方分析(检验)
  16. c语言中的 #ifndef/#define/#endif的作用
  17. pyhanlp 实体命名识别
  18. 常用邮箱服务器地址大全截止2020-9
  19. 知名游戏设计师的 GitHub 仓库被删,CEO 道歉;工信部向四家公司发放 5G 牌照
  20. 最简单DIY基于ESP32CAM的物联网相机系统⑥(用上位机VS2013 MFC实现WIFI图传)

热门文章

  1. Nginx 学习总结(2) —— 基本配置
  2. 初探JavaScript魅力1
  3. MVC 中的Model对象
  4. centos 安装extmail
  5. SQL函数---SQL HAVING 子句
  6. System.Diagnostics.Process.Start()
  7. 交叉表的简单实现2:使用前端程序实现
  8. 企业环境下如何把ubuntu的dhcp改为静态IP
  9. python之路6-迭代器、生成器、装饰器
  10. Android设计模式-观察者模式