gpt4 book ai didi

mobile - 用于 Android 开发的 Monotouch/Mono 的跨平台性如何?

转载 作者:行者123 更新时间:2023-12-01 09:04:15 26 4
gpt4 key购买 nike

我是一名 Python 程序员,希望制作我的第一个移动应用程序。我想为 iOS 和 Android 制作一个外观和感觉都是原生的应用程序。我想我会从一个简单的 iPhone 应用程序开始,看看一切是如何工作的。 Mono 似乎是显而易见的解决方案。然而,我惊讶地发现,我发现的几乎所有示例 Monotouch 代码,以及 Stackoverflow 上的答案,都严重依赖于 IOS 框架,本质上使代码根本不是跨平台的。例如,我正在研究使用计时器。我阅读的所有示例都使用 NSTimer。当然这可以在 C# 本身中完成,以便该部分是跨平台的?但是,为什么所有这些人都使用 NSTimer?

那么,我的问题是,iOS/Android 的 Mono 开发如何跨平台?对于小型应用程序是否仍然值得考虑,还是仅适用于具有大量业务逻辑的大型应用程序?

最佳答案

你的问题太笼统了。我会针对两种情况回答:

具体例子
如果您正在寻找如何创建计时器、创建数组、遍历列表,那么为什么不寻找常规的 .NET 示例并将其编译成一个可以在两个项目中使用的类库。

整体共享代码
如果您只是指两个平台之间的一般代码共享,您应该查看已经为您创建的模板和示例的框架。两个这样的模式是 http://www.monocross.net/ (MVC) 和 mvvmcross (MVVM)。这可以帮助您从一开始就构建项目以支持跨平台开发(iOS、Droid、Wp7、桌面等)。

.NET 基类库中有计时器、数组和字符串。如您所见,MonoTouch 包装的 Cocoa 库中有一些。例如,您可以在 .NET 中定期运行 mill string,但在 monotouch 中,您还可以选择 NSString。我想回答你的问题,人们有时可能会使用 iOS 特定类型的原因,要么是因为他们没有尝试使该代码跨平台并且这是一个偏好问题,要么他们必须做一些特别需要的事情不是每个人都使用那种类型。

Mono 的目的不仅仅是帮助进行跨平台开发。我来自 C#/.NET 背景,所以即使我正在构建一个具有一个屏幕和两个按钮的应用程序,我也会使用 MonoTouch,因为我宁愿使用带有 .NET BCL 的 C# 而不是 Obj-C。但这是我个人的选择,对我来说已经足够了。

编辑
我添加了链接。

关于mobile - 用于 Android 开发的 Monotouch/Mono 的跨平台性如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11158347/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com