Google Android会不会支持.NET?
现在,与谷歌的Android操作系统的G1现在(即将),Android平台曾经支持。净?
更新 :自从我在两年前写了这个答案以来,我们已经生产了Mono在Android上运行。 工作包括几个步骤:将Mono移植到Android,将其与Visual Studio集成,在Mac和Windows上构buildMonoDevelop的插件,以及将Java Android API公开到.NET语言。 这现在可以在http://monodroid.net
- 入门: http : //monodroid.net/Welcome
- 文档: http : //monodroid.net/Documentation
- 教程: http : //monodroid.net/Tutorials
Android上的Mono基于Mono 2.10运行时,默认为4.0,使用C#4.0编译器进行configuration,并使用Mono的新的SGen垃圾收集引擎,以及我们新的分布式垃圾收集系统,可在Java和Mono上执行GC。
下面的链接反映了截至2009年1月的Android上的Mono,我保留了它们的历史背景
由于Koushik Dutta和Marc Crichton的工作,Mono现在可以在Android上工作。
你可以看到它的video在这里运行: http : //www.koushikdutta.com/2009/01/mono-on-android-with-gratuitous-shaky.html
你可以得到说明,build立自己在这里Mono: http : //www.koushikdutta.com/2009/01/building-mono-for-android.html
你可以得到一个比较Mono的JIT和Dalvik的翻译的基准: http : //www.koushikdutta.com/2009/01/dalvik-vs-mono.html
当然,你也可以在这里用Mono得到一个预先configuration好的图像(有关使用它的细节,请看post的底部): http : //www.koushikdutta.com/2009/01/building-mono-for- android.html
是的,这将是可能的,并不会那么困难。 在这一点上所需要做的就是将MSIL转换成Dalvik字节码的转换器。 由于这两种格式都是开源的,并且有文档记载,所以不会有任何问题。
所以,在C#或VB.NET中编写Android应用程序将成为可能,问题是.NET框架标准库将被支持多less。 但这是另一个问题。
奥斯卡·雷耶斯写道:
我很确定,如果谷歌对.net感兴趣,他们会devise一些东西,而Android是在第一阶段,而不是现在,当他们在生产阶段。 我不是说这不可能,我说的是他们不感兴趣。 也许在嗯嗯10年。
实际上他们已经devise的是与Java和.NET 非常兼容的
他们不能一次完成所有的事情,但是如果你看一下Android SDK,就有一个名为dx的工具。 这个工具将Java字节码转换成Dalvik字节码,所以换句话说,您可以在今天毫不费力地运行用Java编写的程序。 .NET现在需要使用相同的工具。
考虑到.NET和Java有多相似,这只是时间问题。
ddimitrov写道:
.Net-> Java-> Dalvik翻译甚至可以完成( http://dev.mainsoft.com/ ),但我认为你低估了.Net库的缺乏。 当然有人可以把Mono连接起来,但这绝对是一个不小的努力。
无需连接Mono。 Android已经有了虚拟机和一些基本的API。 所有需要的是CIL-> Dalvik转换器和用于Android API的小型.NET包装器(也许是一些标准.NET类的基本实现)。 而已。
更新: .NET已经在Android上工作 – 您将需要如上所述的称为Monodroid( http://monodroid.net )的产品。
Miguel de Icaza于2010年2月17日在他的博客上宣布,他们正在开发MonoDroid的mono for Android。
这将是类似于iphone上的MonoTouch,而是android。
它将提供绑定到Android用户界面,所以应用程序将看起来和感受原生的Android应用程序。 这将需要你编写一个android特定的用户界面。
您将能够重用您现有的较低级别的库,而无需重新编译。
有Android的Mono,.NET framework移植到Android上。 MonoDroid是一个使用C#和核心.NET API开发基于Android的应用程序的开发堆栈。 MonoDroid Preview 1已经在几天前发布了。
由于这是GooglesearchAndroid和.net支持时的首个链接之一,因此只能在此处发布。
单声道项目正在开发SDK,以使用CIL等CIL语言开发Android应用程序。 缺点是它将是一个商业产品。 MonoDroid的
MonoDroid是可以预览的。 我认为这将弥合差距。 但是,MonoDroid可能是一个昂贵的开发选项。 他们的其他开发工具的价格在199美元到4000美元之间(MonoTouch .. iPhone开发工具…售价在399美元到3999美元之间)。 如果人们用这些工具开发应用程序,他们需要一个非常强大的商业模式才能看到一些回报。
检查这xmlvm我认为这是可能的。 也可以查看这个video
Mono的修改过的端口也是完全可能的。
.NET Compact Framework已经移植到Symbian OS( http://www.redfivelabs.com/ )。 如果.NET作为一个“封闭”平台可以移植到这个平台,我不明白为什么它不能为Android完成。
.NET和Mono是一个伟大的环境,拥有许多工具和知道如何使用它们的人员的优秀技能基础。
我认为Mono有机会成为首选的移动跨平台开发环境,因为它们是iPhone上Objective-C的唯一替代品,应该可以移植到Android上,.NET已经在Windows Mobile上。
我真的希望看到一个坚实的Mono在Android上的实现,与Monotouch的Android API的包装,并准备付钱,因为我不能自己做。
你更有可能看到Silverlight的Android实现。 微软代表已经证实,这是可能的,而代表的代表说,这是有问题的iPhone。
但.Net框架的一个版本是可能的。 只是需要有人关心这么多:)
但事实上,从C#移植到Java并不是什么大不了的事情,考虑到两个平台(PC和G1)之间的巨大差异,看起来你不太可能通过一个代码库获得任何应用程序你想在两者上运行。
在我看来,将CLI Bytecode转换为Dalvik,并为一些核心function(如Collections,File access等)编写包装类,在技术上是可行的,即使这将是艰苦的工作。
但是在android上运行的.NET桌面应用程序会感到陌生,因为它将具有经典的类似于Windows的GUI,这在触摸设备上不太可用。 另一方面,如果你要在.NET中编写一个类似于android的graphics用户界面(GUI),则需要另外一套包装(注意包装只是与上面提到的包装相反)。
我不确定.NET移动应用程序是否会在Android上感觉到本机,但我猜测它不会。
也许你是用另一种方式互相交stream的:你可以用Java语言编写你的应用程序。 然后,您可以通过Microsoft J#将其编译为.NET(我知道它已停用,但您仍然可以下载并使用它),并在Android上使用相同的Java代码。 再次,这是核心类又名业务逻辑,再一次,你将不得不编写两个GUI。 也许你也可以关注J2ME,如果你使用.NET,你将无法做到这一点。
对于Android的.NET似乎是一个真正的可能性给我。 有消息称,微软将发布适合Android的Silverlight–永远不要低估微软将开机放入苹果的优势。 一款速度更快,function更丰富,开发周期更快,硬件令人印象深刻的智能手机,可作为标准安装的Flash&Silverlight。
微软在改善Android方面有着既得利益,同时,Android上的Silverlight应用程序也将在Windows Phone 7操作系统上运行,包括多点触控,GPS等等。