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

2024-03-14

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

我仔细阅读了 Mono 和 MonoTouch 网站,但没有看到任何具体建议不要使用的方法,或者应该避免的 Mono 挂钩。然而,这似乎有点好得令人难以置信。

为了确保代码的最大可移植性,我应该注意进入该项目的哪些限制?


API方面你会得到一个非常相似的基类库(BCL) 当使用 MonoTouch 或 Mono for Android (M4A) 时,因为两者共享相同的mobile配置文件(最初基于 Silverlight 配置文件,并经过增强以使用更多 FX 4.0 API)。

这是很多通用代码。 BCL 中的差异很小,但确实存在一些差异,主要是因为运行在iOS设备需要一些妥协,这会产生一些局限性 http://ios.xamarin.com/Documentation/Limitations.

BCLMonoTouch 和 M4A 都为其平台提供了绑定。例如。 MonoTouch 提供了 monotouch.dll,它绑定了大部分 iOS(基于 C 或 ObjectiveC)API。该部分不适用于 Android 版 Mono(对于 M4A 提供的 Android 绑定也是如此)。

这就是您需要提出设计以尽量减少差异的地方。在很多情况下最不同的方面是用户界面有几种方法,其中许多都是基于 MVC 的(例如单十字 http://code.google.com/p/monocross/)使开发人员更容易做到这一点,同时为每个平台提供本机外观。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为了最大限度地提高 Mono 代码的可移植性,我应该注意哪些限制? 的相关文章

随机推荐

  • 有人能在 android studio 中使用 chromecast android 示例吗?

    我在尝试让这些文件正确加载时经历了一段糟糕的时光 要么是支持框架失败 要么是转换 API 失败 有人有可重复的方法吗 github 示例显示 即将推出 用于加载到 android studio 中 我还没有转换其中一个测试项目 但我已经能够
  • 从 Django 服务器一次传输多个文件

    我正在运行 Django 服务器来为受保护网络中的另一台服务器提供文件 当用户请求一次访问多个文件时 我希望 Django 服务器将这些文件一次性传输给该用户 由于在浏览器中一次下载多个文件并不容易 因此需要以某种方式捆绑文件 我不希望我的
  • 如何将wrapper-div居中而不是内容居中

    我希望我的页面始终在浏览器中居中 而不影响内容 就像align text center 那样 我想将我的包装器 div 居中 我该怎么做 简化现有页面 div div Music Heaven div div div div div div
  • 使用领域驱动设计的node.js

    我正在将应用程序从 C 迁移到 Node js 我一边学习一边学习node js 所以我是一个node js 新手 我正在阅读 领域驱动设计的模式 原则和实践 一书 发现我当前的项目可以从中受益的很多重要信息 例如 书中有一个示例电子商务应
  • 数据绑定与 MVC 根本不兼容吗?

    数据绑定 http en wikipedia org wiki Data binding在视图和模型之间建立直接耦合 从而绕过控制器 从根本上讲 这打破了模型 视图控制器架构模式 我的想法正确吗 这是否会使数据绑定成为一件 坏事 Edit
  • awk 中的“非法主”是什么?

    awk 给我以下错误 awk illegal primary in regular expression lt gt lt at lt gt lt source line number 10 source file transpile aw
  • 如果我在 FFmpeg 中使用 av_read_frame 会丢失多个帧

    我有一个 3500 帧的 HEVC 序列 我正在编写一个解码器来读取它 逐帧读取并转储到 yuv 在我的 main 中 我有一个 for 循环 它调用解码器 3500 次 我假设在这个阶段 main 知道有多少帧 因此 对于每次调用解码器
  • SQL中计算一行中的Null列数

    我想知道是否可以在 SQL 中计算行的空列 我有一个具有可为空值的表 Customer 我只是想要一个查询 该查询返回特定行 特定客户 的空列数的 int 此方法为空列分配 1 或 0 并将它们全部加在一起 希望您没有太多可空列要在此处添加
  • 通过 Node.js 从 iOS 应用程序将图像上传到服务器

    我正在开发一个 iOS 应用程序并且正在使用node js用于服务器端脚本编写 我在从 iOS 应用程序将图像上传到服务器时遇到问题 如果我从网页表单上传图像 它工作正常 但如果从应用程序端上传 则无法正常工作 test file h3 P
  • 从另一个工作表中选择一个复选框

    我在工作表 A 上有一个 ActiveX CheckBox 控件 在工作表 B 上有另一个 ActiveX CheckBox 控件 当我检查 A 处的复选框时 我希望我的宏检查 B 处的复选框 到目前为止我已经尝试过 This http w
  • Sklearn 预处理 - PolynomialFeatures - 如何保留输出数组/数据帧的列名/标题

    TLDR 如何从 sklearn preprocessing PolynomialFeatures 函数获取输出 numpy 数组的标题 假设我有以下代码 import pandas as pd import numpy as np fro
  • 如何使用 django-nonrel 和 mongodb 进行自定义查询

    是否有推荐的方法使用 django nonrel 对 mongodb 进行自定义查询 我已经建立了一个完整的网站并运行良好 现在我只是添加一些地理空间索引和查询 并想知道对于地理空间查询是否已经有支持 或者是否有最佳实践方法来使用定制的询问
  • 是否可以以编程方式在 Web 组件中插入元素?

    是否可以自动或以编程方式插入特定类型的嵌套 Web 组件或元素 而无需指定slot属性在他们身上 考虑这样的结构
  • Bearer error="invalid_token", error_description="发行人无效"

    我有一个简单的 Web api 项目 如下所示 Authorize Route Get public ActionResult
  • SQL Server - 来自不同表的 CTE 递归 SUM 值

    我有一个表 其中的数据分层存储在名为Cs组织如下表所示 Table Name CsOrganization OrgId OrgParentId OrgName 1 NULL X COMPANY 2 1 Administrator 3 2 A
  • 获取 Julia Lang 中当前变量的列表

    我是朱莉娅 朗的新手 我是Matlab背景出来的 在Matlab中 当按下whos命令我将获取当前范围内的所有变量 而且 我可以将它们存储在另一个变量中 例如x whos Julia 中是否存在这样的命令 Matlab 中的示例代码 gt
  • 为什么“找不到可以导入的项目”?

    我正在尝试 将现有项目导入工作区 作为 根目录 我选择所有 java 和 class 文件所在的目录 Eclipse 写信给我 没有找到可以导入的项目 为什么 这个答案与 Laura 的答案相同 但是 在新的 Eclipse 版本中 您将无
  • 如何在 IE HTML 条件中创建“else”?

    我如何在 HTML 中执行此操作 我想做一个 其他 你不是在寻找别人 你是在寻找
  • Ajax 调用后是否可以使用 PHP 重定向页面?

    我有一个网站 我想为用户提供一个选项 如果他们单击表格的行 他们会被重定向到另一个页面 基于表格行的内容 所以我所做的基本上是使用 jQuery 收集数据并将其 POST 到 PHP 文件中 在我的 PHP 文件中 我想使用以下命令进行重定
  • 为了最大限度地提高 Mono 代码的可移植性,我应该注意哪些限制?

    我有兴趣使用 Mono 编写一些跨平台代码 以针对移动 iOS 和 Android 运行时 我仔细阅读了 Mono 和 MonoTouch 网站 但没有看到任何具体建议不要使用的方法 或者应该避免的 Mono 挂钩 然而 这似乎有点好得令人