代码之家  ›  专栏  ›  技术社区  ›  Dan

用于镜像iPhone开发的Linux语言

  •  1
  • Dan  · 技术社区  · 15 年前

    我想在Linux中创建一个GUI程序,我最终可能会将它移植到iPhone上。我应该使用什么编程语言和图形用户界面框架来简化这一过程?

    我认为使用Objective-C是最好的,因为GCC将编译它,但是是否有与Objective-C工作的GUI框架类似于Cocoa,并且不需要太多的重写?(除了iPhone键盘出现时的明显输入差异和屏幕移动等之外)(Objective-C+Cocoa似乎是iPhone支持的唯一语言)

    谢谢,

    5 回复  |  直到 15 年前
        1
  •  3
  •   Barry Wark    15 年前

    您的问题实际上是一个如何构建跨平台应用程序的经典问题。您基本上有两个选择:

    1. 使用跨平台代码和特定于平台的UI实现应用程序模型。你可以很容易地为iPhone编译C和C++,所以我会和其中的一个一起。你可以使用Objod-C++(类似ObjuleC是C,Objul-C++是C++的超集)来将Objy-C UI连接到iPhone的这个模型层。自然,对于Linux版本,您将使用其他一些UI工具包。另一个现实的选择是为Mono运行时用C编写后端。您可以使用MonoTouch为iPhone编译一个C应用程序(尽管您需要一个Mac才能真正部署它)。同样,您可以在标准的C.S../.NET中编写模型,但是您必须使用UIKIT来编写MonoTouch UI——本质上它仍然是平台特定的UI,但是如果您喜欢,则可以使用C2i和.NET代替C++/Boost /后端。

    2. 使用完全跨平台的库。iPhone还没有,不过可能是最接近的(见上文)。

    所以,实际上,你的选择是Objto-C/C+C++C(通过单声道)。您可以使用gnustep工具链和库在Linux上与objective-c一起玩,但是我不建议使用gnustep编写整个应用程序,因为gnustep和现代cococa之间有足够的库差异,使得它本质上是一个不同的平台。

        2
  •  1
  •   ase    15 年前

    我发现了这个: http://www.cocotron.org/

    然而,iPhone是一种完全不同的野兽,iPhone Cocoa与Mac OS X上的Cocoa不同,至少不是UI部件。

        3
  •  0
  •   Bill K    15 年前

    据我所知,objective-c是c的超集。我认为c程序可以在xcode中编译并转移到iphone上。

    现在,与图书馆打交道完全是另一回事。

        4
  •  0
  •   Joe Cannatti    15 年前

    这真的没有一个好的解决办法。我唯一能建议的就是FlashCS5。有了它,你就可以编译成适用于Linux的air和原生iPhone应用程序。它在iPhone上不是真正的闪光。这是一种将Flash项目编译成本地iPhone应用程序的方法。

    http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/

        5
  •  0
  •   Paul R    15 年前

    最好从Mac(Cocoa)应用程序开始,然后在需要时将其移植到iPhone。这样的话,这个港口将是一个相对较小的努力。当然,你需要一台Mac才能做到这一点,但是一台Mac mini只有几百美元,你可以用它现有的外围设备,如果你不再需要它,以后可以在eBay上出售。