CLR移动----是否有可能在移动操作系统中使用虚拟机

问题描述:

为JVM使Java作为独立。平台是可能的CLR,使.NET框架的支持,如C#。平台语言独立于移动CLR移动----是否有可能在移动操作系统中使用虚拟机

是-ish。在工具级别,请参阅MonoDroid,MonoTouch或WP7工具。但是,在每种情况下,您都使用该语言来定位特定的移动平台。即使共享核心代码,您也可能需要不同的UI代码。

.NET Compact Framework适用于移动设备(现在已经有8年了)。 .NET也是通过Mono和MonoTouch项目的跨平台(种类)。

是的,您可以使用Mono CLR。 Mono是C#,.NET BCL和CLR的开源实现。

MonoTouch runs on the iPhone

MonoDroid runs on Android devices

+0

假设使用单声道平台我开发了一个应用程序使用C#添加两个数字,复杂的应用程序后,它可以安装在手机上,例如在诺基亚5130,因为单声道是跨平台,我认为它应该工作 – 2011-02-25 14:22:32

+0

@ Neha Mono是跨平台的,但每个电话手机仍然有独特的硬件和操作系统要求,需要Mono CLR的目标端口和不同的安装路线。由于诺基亚手机既不是iOS或Android,也不可能在该手机上使用C#。您可以在此阅读平台支持摘要:http://programmers.stackexchange.com/questions/20275/mono-is-frequently-used-to-say-yes-net-is-cross-platform-how-valid-is -that -c/20436#20436 – Scott 2011-02-25 14:52:13

从技术上说,是的,但每部手机都有它自己的局限性,可能无法使其非常可行的。

如果你看看mono-project,它是一个CLR的可移植实现,它可以针对移动体系结构,但它仍然是一个发展领域,但还不是很成熟。

MonoDroid是针对Android手机的项目,但目前它处于测试阶段。

MonoTouch可以定位iOS,但它不能充分利用该框架。苹果公司的许可证可以防止虚拟机在iOS上运行,因此.NET应用程序需要被编译为运行在AOT上(Ahead-of-time)。这可以起作用,但是您将无法像反射API一样使用BCL的某些部分。

单声道还支持WebOS(Palm)的一些早期开发。

+0

假设使用mono平台,我开发了一个应用程序,使用c#添加两个数字,在应用程序复杂化之后,它可以安装在手机上,例如在nokia-5130上,因为mono是跨平台的i认为它应该工作 – 2011-02-25 14:30:44