- 最后登录
- 2013-9-29
- 注册时间
- 2012-8-20
- 阅读权限
- 90
- 积分
- 6371
- 纳金币
- 6372
- 精华
- 0
|
作为学unity3d的新人,开始学它之前就知道unity3d支持C#和JS等等,但在选择用什么语言上我查阅了很多文件,当这个月我用上了unity3d 3.0版时,我发现unity3d 对MONO framework的支持与选择,说明了unity3d 的战略意图:
1:首先unity3d 选择C#,是因为微软这棵大树下有巨量的程序员,并且C#在网络开发方面成绩很优秀
2:为什么在选择Mono这个基于C#的开源框架,Mono是一个由Novell公司(先前是Ximian)主持的项目,众所周知,C#是Microsoft推出的.NET语言,只能在.NET平台上运行,例如Win 9x、ME、NT、2000、XP和Win CE之类的操作系统。但是MONO是把.NET及其编程语言移植到非Windows的平台上。现在,C#是唯一被移植到非Windows平台的.NET语言。
想一想,Mono支持Linux、Solaris、Free BSD和MS Windows;除了Intel x86系列的CPU(486,各类Pentium等)之外,据说还要支持Sparc、PowerPC和StrongArm处理器。那Unity3d公司的发展将会有多宽广吧,Unity公司,目前正在上升期,虽然目前的unity3d 3.0版,在功能上与同类框架基本持平,除了价格底,支持iphone,androd平台等等小优势以后,再无长处{有的框架都开始支持psP开发了,有的都能用程序作 表情动画了....},但它选择的开发面广,有极大量的盗版使用用户,这些用户最终会变成正式用户{这与当年的Flash发展之路合其相似哦,先把大量的开发者占用上,然后再慢慢把盗版用户变成正式用户,多么明智的商业营销模式哦}
在任何一个平台(操作系统+硬件体系)上,编写和运行程序的三个最根本的需求是库、编译器/解释器、运行环境。库以类和方法(函数)的形式提供常用的例程,简化大型程序的编写。.NET框架也不例外,包含了许多类库。另外,把程序转换成可执行形式以及运行执行文件时,编译器和运行环境是必不可少的。Mono软件包包含了.NET类库的一部分、一个C#编译器和.NET运行环境CLR(Common Language Runtime,公共语言运行时环境)。
公共语言运行库提供了跨平台的能力。.NET程序可以在任何安装了CLR的系统上运行。实际上,Mono的C#编译器是在Windows平台上用 Microsoft .NET Framework SDK编译后再移到Linux平台上的。你可以把在Windows平台上编译好的程序转到Linux上并运行它。
Mono还没有完全实现.NET Framework,但已经足够让你运行你想写的程序了。开源的东西一般进化速度很快,也许很快就能完全满足你的需求。
|
|