Java 适用于 iPhone 应用开发吗?

5

我主要使用Java并且有相关经验。我想开发一些iPhone应用程序,想知道是否有使用Java开发iPhone应用程序的方法,或者iPhone开发只能使用Objective-C完成?

如果Objective-C是唯一的选择,那么如果您可以推荐一些书籍或链接,让我可以开始学习iPhone开发,我的背景完全基于Java,并且过去没有专业地使用C或C++。

任何建议都将非常有帮助。

我们能否快速比较一下Objective-C和Java,或者说这就像比较橙子和苹果,我只是试图从Java的角度找到一些与Objective-C相似之处,以便在学习Objective-C时有所借鉴,有什么建议吗?


如果你习惯于Java,Objective-C看起来会很奇怪,尤其是它繁琐的语法。不过你可以适应它。苹果的命名概念也与Java和C++世界不同。这种语言确实是面向对象的,最好的部分是你可以使用C。 - bestsss
1
相关链接:https://dev59.com/N3RA5IYBdhLWcg3w6SXZ#5519526 - Jano
可能是重复的问题:使用Java创建iPhone应用程序 - Brad Larson
7个回答

1

很抱歉,Java或任何JIT编译的语言在iPhone/iPad上都不可能实现。

您可能想看看Mono并使用C#,它比Objective-C更接近Java。

Mono Touch - http://monotouch.net/

或者Unity 3d。 - http://unity3d.com/

两者都使用Mono...

Mono团队正在重新组建为一家初创公司,并计划在几个月内与novel的产品媲美。它仍然是一项非常优秀的技术,值得一试。

http://tirania.org/blog/


它基本上是如何工作的?我以前从未使用过C#,但听说过很多关于它的事情。 - Rachel
对于MonoTouch,请查看以下教程:http://monotouch.net/Tutorials/MonoDevelop_HelloWorld。对于C#本身,请查看http://msdn.microsoft.com/en-us/library/aa288436(v=vs.71).aspx。 - Stephen Gennard

1
从您的评论中,这里是通过快速谷歌搜索找到的一本书,供Java开发人员学习Objective-C。我使用了该系列中的其他书籍(Learn Objective-C on the Mac和Beginning iPhone Development)来学习iPhone开发,因此我认为它很好。
这里是一个链接,指向一个非常好的PowerPoint演示文稿,介绍了Java和Objective-C之间的比较(大约在一半处开始涉及语法差异和示例!),以及Objective-C的一些酷特性。

0
据我所知,你无法使用Java进行iOS开发。在我看来,只有遗留/互操作兼容性或者你对这些语言非常熟悉的情况下才有必要使用C或C ++。既然你不熟悉它们,我建议你咬紧牙关学习Objective C。虽然我最近才学会(尽管我来自C背景),但我发现它相当直观易懂。

我建议你从这里开始学习iOS开发:
http://developer.apple.com/devcenter/ios/index.action
然后再到这里,更加具体地了解:
http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/GS_iPhoneGeneral/_index.html#//apple_ref/doc/uid/TP40007853
最后,通过这个实践教程来深入学习:
http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhone101/Articles/00_Introduction.html#//apple_ref/doc/uid/TP40007514

我知道这看起来像是在说RTFM,但那就是我所做的(在完成“hello world”应用程序时阅读了所有这些文章),我发现这是一种有效的教学方法。

当然,如果您有任何具体问题,请使用SO。

祝你好运。


我之前不知道MonoTouch,现在我改正了。如果它能做到它所宣传的那样,那就相当酷了。 - Kongress
Objective-C是面向对象的,还是类似于Java或C#?我们能否快速比较一下Java和Objective-C? - Rachel
@Rachel:那个问题有点超出评论的范围。如果你想听我更详细的看法,请告诉我或者提一个新问题。Jesse Naugher的答案也有一些好的建议。 总的来说,Objective-C是面向对象的,但它对我来说更像C++而不是C#或Java。我认为主要的基本区别在于Objective-C的内存管理方案(iOS中没有垃圾回收),以及你仍然必须积极地理解和使用指针,而在C#和Java中所有这些都被抽象化/管理。其余部分大多平衡或依赖于框架。 - Kongress
感谢提供这些信息,它们确实很有帮助。 - Rachel

0

你可以使用Objective C、C/C++(但必须与Objective C一起使用)来开发iOs应用程序,也可以使用Javascript框架进行开发。搜索:Titanium、SenchaTouch。 Java不可行。


0

0

0

现在有一个新的跨平台框架,提供Java API和工具来创建移动本地应用程序(iOS、Android、RIM、Win7和J2ME),并且它是自由开源软件。 http://www.codenameone.com/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接