c# – 为了最大限度地提高Mono代码的可移植性,我应该注意哪些约束?

我有兴趣使用Mono编写一些跨平台代码,以期针对移动iOS和 Android运行时.

我已经仔细阅读过Mono和MonoTouch网站,但是没有看到任何特别建议不使用的方法,或Mono钩子应该避免.然而,这似乎有点太好了.

在进入这个项目时,我应该注意哪些限制,以确保代码的最大可移植性?

解决方法

API智能你在使用MonoTouch或Mono for Android(M4A)时得到一个非常相似的基类库(BCL),因为它们共享相同的移动配置文件(最初基于Silverlight配置文件并增强使用更多的FX 4.0 API).

这是很多常见的代码. BCL的差异很小但有些确实存在,主要是因为在iOS设备上运行需要一些妥协,这会产生一些limitations.

在BCL之外,MonoTouch和M4A都为他们的平台提供绑定.例如. MonoTouch提供了monotouch.dll,它绑定了大多数iOS(基于C或基于ObjectiveC的)API.该部分不适用于Android的Mono(对于M4A提供的Android绑定也是如此).

这就是你需要设计一个最小化差异的地方.在许多情况下,最不同的方面是用户界面,并且有一些方法,其中许多方法基于MVC(例如MonoCross),以使开发人员更容易,同时为每个平台启用本机外观.

相关文章

在项目中使用SharpZipLib压缩文件夹的时候,遇到如果目录较深,则压缩包中的文件夹同样比较深的问题。比...
项目需要,几十万张照片需要计算出每个照片的特征值(调用C++编写的DLL)。 业务流程:选择照片...
var array = new byte[4]; var i = Encoding.UTF8.GetBytes(100.ToString("x2"));//...
其实很简单,因为Combox的Item是一个K/V的object,那么就可以把它的items转换成IEnumerable<Dic...
把.net4.6安装包打包进安装程序。 关键脚本如下: 头部引用字符串对比库 !include "WordFunc....
项目需求(Winform)可以批量打印某个模板,经过百度和摸索,使用iTextSharp+ZXing.NetʿreeSp...