.net可以做IOS?

Python013

.net可以做IOS?,第1张

可以使用Mono开发 IOS 和 Android 程序。

————————————————

Mono是一个由Novell公司(先前是Ximian)主持的项目。该项目的目标是创建一系列符合ECMA标准(Ecma-334 和Ecma-335)的.NET工具,包括C#编译器和共通语言运行平台。与微软的.NET Framework不同,Mono项目不仅可以运行于Windows系统上,还可以运行于Linux,FreeBSD,Unix,OS X 和 Solaris。

Mono现由Novell持有双重许可,这和Qt和Mozilla应用程序包的情况相似。Mono的C#编译器及其相关工具发布于GNU General Public License(GPL)之下,其运行时库发布于GNU Lesser General Public License(LGPL)之下,其类库发布于MIT License之下。这些均是开源协议因此Mono是一个开源软件。如果你打算向Mono贡献你的源码,则你须签署一个版权分派给Novell以允许它将这些代码在其它协议下再申请许可,从而允许Novell保留其双重许可的能力来持有Mono的商业协议。[1]

微软开发了一个称为共享源码公共语言基础(Shared Source Common Language Infrastructure,Shared Source CLI)的可用于FreeBSD,Windows和Mac OS X的.NET实现版本。微软的共享源码协议并不是开源软件协议,且可能对于社区来说也是不足够的(它明文禁止了对软件的商业用途)。我们还可以见到另外一个.NET实现版本,Portable.NET项目,该项目与Mono项目有着很多相同的目标。

Mono虚拟机包含一个实时编译引擎,该引擎可用于如下处理器:x86,SPARC,PowerPC,ARM,S390(32位模式和64位模式),x86-64,IA-64和64位模式的SPARC。该虚拟机可以将代码实时编译或者预先编译到原生代码。对于那些没有列出来的系统,则使用的是代码解释器。

参考地址:www.mono-project.com/Main_Page

很多初学者误以为Android、IOS开发只能使用Java、ObjectC等语言进行开发,其实借助于Mono技术我们可以使用C#/.Net编写Android、IOS程序。由于C#的高效开发和Mono的完美跨平台,这项技术目前已经得到了大量正式商业项目的应用,例如Unity3D就是一个市场占有率非常大的基于Mono技术的使用C#进行跨平台游戏开发的技术。