c# - 如何编写不同平台的应用程序? Linux、Mac、Windows 和移动平台

标签 c# android ios desktop-application multiplatform

我们想为在线服务编写一个客户端,该服务应该可以在尽可能多的平台上使用。这个问题是关于我们应该使用什么编程语言和框架来创建这个客户端。 需要这些平台:Linux、Mac、Windows、iOS(iPhone、iPod、iPad)和 Android。越多越好。

对于移动平台,有 Titanium Mobile .我还没有尝试过这个东西,该网站说你可以使用 Javascript 等网络技能为 iOS 和 Android 开发。我还不知道您是否可以使用相同的代码为两个平台进行部署。那就太好了!

还有 Titanium Desktop,但我不喜欢与最终应用程序共享完整源代码的想法。 Titanium 也适用于移动设备,但修改通过 App Store 加载的应用程序并不容易。

那么,还有什么其他方法可以创建至少在三大桌面平台上运行的应用程序呢?我认为 c# with mono 是可行的方法,但我刚刚意识到您需要将 mono 与 MonoMac 结合使用才能将其发布到 Mac App Store 并使用 Growl 之类的东西。由于 MonoMac 自然只适用于 Mac,因此再次不可能在所有平台上部署 mono 应用程序而不至少为 Mac 重写它。如果该应用程序在所有平台上看起来都是“本地”的,那就太好了。 Gtk# 在 Mac 上看起来不太好。在 Windows 上“还可以”,在 Linux 上也很棒。

我知道我们可以在 iOS 和 Mac 上使用 Objective-C,在 Android 上使用 Java,在 Windows 上使用 C#.net,在 Linux 上使用 C#.mono,但重点是我们不想写很多相同的应用程序不同的语言。这将使开发和维护变得非常困难。

我们更喜欢 C 风格语法的语言,这对我们 PHP 网络开发人员来说更容易学习。顺便说一句:我们不喜欢 Air,我不确定 Java,因为我从未使用过它,但它看起来也不是“原生”的,而且感觉有点慢。

编辑:

请注意:如果至少其余代码相同,则为每个平台创建自己的表单不会有问题。是否可以在同一个 C# 应用程序中使用 MonoMac、Gtk# 和 Win 论坛?而且我更喜欢 C# 而不是 C++,因为我没有 C++ 技能,所以我首先需要检查使用 Qt 编写的难度。

另一个注意事项:我们不打算花很多钱,因为我们需要支付苹果开发者计划的费用,所以我们想使用免费或廉价的技术。首选开源。

最佳答案

只需使用 C# 即可完成上述所有操作。

mono 项目将涵盖 Mac 和 Linux,monodroid您的 android 要求已涵盖并且 monotouch将负责 iPod/iPad/iPhone。

关于 UI - mono 完全支持 System.Windows.Forms 命名空间,因此如果您不想,则不必使用 GTK#。

我认为我不需要提及 Windows 支持;)

关于c# - 如何编写不同平台的应用程序? Linux、Mac、Windows 和移动平台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5318371/

相关文章:

C# P2P 无端口/转发

c# - 在ViewModel中修改后,String属性在View中不会更新

java - AndroidBlockGuardPolicy.onReadFromDisk FileInputStream 违规

Android MediaCodec 不解码所有输入缓冲区

android - 存储和检索sqlite文件(android编程)

c# - 应用程序.DoEvents();

c# - MoveFileWithProgress 抛出 "The system cannot move the file to a different disk drive"– 为什么?

ios - 在 adblocker 中收到错误 ContentBlockerErrorDomain Code=3

ios - 从 Metal 内核写入 32 位浮点纹理?文档说是,运行时说不

ios - 在 alamofire swift ios 中发布阿拉伯字符