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

你能用Ruby开发原生的iPhone应用程序吗?

如何解决《你能用Ruby开发原生的iPhone应用程序吗?》经验,为你挑选了6个好方法。

嗨,我正在研究iPhone开发,而Objective-C不是我的首选语言.据我所知,目前Ruby还不能用于与iPhone上的Cocoa Touch交谈.

所以我的问题是,我错了吗?我可以在iPhone上使用Ruby来开发Cocoa Touch应用程序吗?iPhone上的Ruby的未来是什么样的?



1> gimenete..:

现在你可以使用RubyMotion了


仅供参考,RubyMotion是付费产品.

2> 小智..:

在iPhone OS中,如果您尝试使用它来将可写的内存部分标记为可执行文件,则mprotect()将失败.这打破了像RubyCocoa(可能还有MacRuby)这样的桥梁,它们使用libffi在运行时创建Objective-C方法处理程序.我认为这是设计原因,因为并非总是如此.

最终,这更多的是平台政治而不是技术问题,但存在技术解决方案.而不是在运行时生成自定义方法处理程序,而是预编译根据需要分配的可重新配置的池,实质上使桥接过程完全由数据驱动.据我所知,这还没有在RubyCocoa或MacRuby中完成.

另一个需要考虑的重要事项是编译的Ruby和RubyCocoa运行时可能比编译的Objective-C应用程序大得多.如果这些库在iPhone上可用,这不是问题,但就目前而言,即使您使用RubyCocoa,您也可能不希望将它用于您分发的应用程序.



3> Ben Gottlieb..:

不,你是对的.目前,并且很可能在可预见的未来,Ruby将不再是一种选择,至少对于AppStore应用程序而言.没有理由你不能在Jailbroken手机上做到这一点,但Apple非常愿意与Objective C进行官方开发.


为什么让Ruby成为Mac的一等公民,而不是iPhone?

4> Kendall Helm..:

作为一个了解多种不同语言的程序员,你会感觉更好 - 将Objective-C视为一个很好的学习机会.

我发现你用其他语言学到的东西常常会让你成为一个更好的程序员,并且会让你对你已经知道的其他语言有新的见解.


语言不是我喜欢一种语言而不是另一种语言的唯一原因 - 我继续在图书馆和工具上进行大量投资.没有这些库可用会显着影响开发时间.
虽然我完全同意,但这是一个建议,而不是答案.
我完全同意学习新语言,因为这是我非常喜欢的东西.老实说,我并不期待回归C风格的语言,因为我发现C对于应用程序级编程来说过于神秘.Objective-C当然比C++更有用,所以我很感激

5> pfeilbr..:

rhomobile是在iPhone上运行ruby代码的选项,但它本质上是Web应用程序开发.Web服务器在iPhone上本地运行,您的ruby代码呈现为标准客户端Web技术(html/css/javascript).

http://rhomobile.com/



6> 小智..:

实际上,红宝石可可桥根本不尴尬; 事情工作非常顺利,直到IB等连接插座.结果代码是美好的.

至于iPhone开发,如果你想要一个官方的AppStore应用程序,不幸的是你运气不好.苹果决定了iPhone的对象- C /可可触摸,并有一个在SDK许可证说的事情之一,他们的条款拒绝是有一个语言解释器/ JIT编译器的应用程序,所以你不能添加一个Ruby解释器在你的应用程序自己.

关闭主题,但搞笑,这就是为什么iPhone的Flash是吹烟的原因.根据Apple的许可证,即使他们想要,他们也无法将一个瑞士法郎玩家带到AppStore.


如果Apple获得许可,iPhone仍然可以使用Flash.该协议允许显式许可,它只是为任何安装的旧解释器提供了障碍.
推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有