当前位置:  开发笔记 > 编程语言 > 正文

iPhone的非Objective-C编程的状态是什么?

如何解决《iPhone的非Objective-C编程的状态是什么?》经验,为你挑选了3个好方法。

在为我的工作学习Objective-C和Cocoa编程三周后,我一直致力于研究iPhone开发的替代方案.

我知道两种现有的替代方案,以及未来的可能性.

C#

Xamarin(以前的MonoTouch)是一个C#.NET实现,具有针对iPhone特定功能的绑定,如触摸屏和加速度计.它与Xcode和Interface Builder集成,还允许进行自定义Objective-C绑定.

Java的

alcheMo-for-iPhone生成从J2ME源代码为iPhone编译的C++代码.它还提供触摸屏和加速度计绑定.

Flash/ActionScript 3

Adobe宣布Flash Professional CS5将允许为iPhone部署Flash应用程序.尚无详细信息.

我想知道是否有人有这些经验.如果可能,我们公司正在考虑使用这些解决方案重用代码,而不是在Objective-C中重写相同的功能.

编辑:我知道不使用Objective-C和提供的框架的缺点.我想为有经验的人提供可能的解决方案,而不是Objective-C更好的原因.



1> Tim..:

我对iPhone上的非ObjC语言持怀疑态度.不一定是因为有一些巨大的技术障碍需要克服(你可以将任何你想要的东西编译到iPhone上,甚至可以通过一些调整来运行),但还有另外两个重要原因:

构架.虽然您列出的内容具有触摸屏和加速度计绑定,但您很可能会遗漏诸如蓝牙连接和游戏工具包,音频框架,应用程序内购买等内容.用另一种语言重现Apple提供的所有内容是非常困难的,如果你选择不同的方式,然后最终需要其中一个框架,你可能会陷入困境.

应用提交.如果你想在App Store上获得应用程序,你应该坚持使用ObjC.苹果公司非常挑剔他们允许的内容,使用不同的语言可能会以错误的方式打击某些评论者.

你也会遇到代码签名/证书等问题,更不用说调试了(MonoTouch将调试作为一种功能宣传,而不是在语言中被认为是理所当然的东西,这让我感到很奇怪).

总而言之,如果可以,我会坚持使用ObjC.对于所有相关人员而言,这通常更容易.

更新:2010年9月新的iOS使用条款包含第三方开发,广告平台


审稿人如何知道应用程序的编写语言?
@Dennis Palmer:这很容易辨别.列出的所有备选方案都具有可识别的运行时库.虽然它可能超出了单个审稿人的能力,但如果他们使用任何自动验证工具,则添加测试并不困难.我知道过去发生过PhoneGap应用程序.

2> Cruachan..:

MonoTouch看起来不错,但速度极慢.我一直在上一代MacBook上玩XCode一段时间(2007年),它快速响应.我上周下载了MonoTouch,因为我想将现有的大型Mono代码库转换为在iPhone上运行,并且在安装和运行良好的情况下使用它是非常痛苦的,因为IDE中的所有东西都是邋and和反应迟钝.

YMMV如果你有更新更强大的套件,但它并不是好兆头.



3> squelart..:

其他内置语言,Javascript怎么样?

您可以在UIWebView中运行Web应用程序,也可以使用隐藏的UIWebView来运行Javascript代码片段并检查其返回值以驱动您的本机应用程序.

与第三方语言和框架相比,Apple dev许可证明显允许您下载和运行javascript程序(当您使用其官方API执行此操作时).

刚刚发现这个Xcode插件提供了HTML和Javascript开发的原生应用程序:Nimble Kit.可能值得一看......

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有