Eclipse插件支持Objective-C语言吗?

45
我要学习Objective-C,我想知道是否有适用于Eclipse的插件,可以进行语法高亮、编译和项目管理。我已经做了一些初步搜索,但是没有找到任何东西。
我的最佳选择是什么IDE?
我没有Mac电脑。
10个回答

112
其他回答提供了相当不错的直接答案。然而,我的第一反应是跳到元问题:"你学习Objective-C的原因是什么?" 我会问这个问题,因为我给出的指导取决于你的动机。例如...
  1. 你听说Objective-C是一种强大的语言,想看看使用它是否会使你的程序更酷、更容易编写等等。坦率地说——除非你打算最终进行Mac/iOS开发,否则学习Objective-C几乎毫无意义,除了学术上的好奇心。我是一个长期以来使用苹果产品的人,我喜欢Objective-C,但如果你在另一个操作系统上,并计划在可预见的未来内一直使用它,那么学习Objective-C几乎没有任何意义。Objective-C有一些非常酷的特性,但对于大多数人来说,它本身的好处并不十分具有吸引力。它与苹果提供的Cocoa框架结合使用时变得非常强大。GNUstep提供了一定程度的互操作性,但如果你要跨平台,有更好的选择。
  2. 你计划编写Mac/iOS软件,但尚未拥有Mac电脑。如果你认真对待,我建议早点购买Mac电脑。虽然你可以在其他平台上使用IDE学习Objective-C,但几乎所有Objective-C教程和书籍都假定是在Mac环境下进行的。当你学习时,几乎没有第三方工具支持,特别是在最有帮助的论坛和列表上。(当然,我建议任何人都至少考虑一下购买Mac电脑,而不仅仅是学习Objective-C的人。如果需要,你可以双重启动到Windows,因此这是一个更灵活的开发投资。但我知道并非每个人都能买得起新的Mac电脑。)
  3. 你计划编写Mac/iOS软件,但想从PC上完成全部工作。如果是这种情况,我建议现在停止并重新评估优先事项,原因有几个。
    • Apple的工具是开发Mac/iOS应用程序的最佳工具,没有之一。不在Mac上开发会让你处于巨大的劣势。想象一下试图在Eclipse、KDevelop或emacs中开发.NET软件。可能是可能的,但这不是一个明智的做法。
    • 除非您经常使用Mac,否则您将永远不会理解好的Mac应用程序是什么感觉,也不知道如何设计一个。因此,您可能会收到用户投诉,而这些问题对您来说可能没有意义,并且无法妥善解决它们。
    • 第三方支持Objective-C和Cocoa相比Apple总是滞后的,并且存在不同的错误集。您将无法获得最佳体验,用户也不会。编写两个Objective-C实现可能会让你在记录时间内疯掉。
    • 大多数非Mac用户不关心Objective-C,因此语言插件和编译支持很可能不会得到很好的开发,甚至根本不存在。除了代码编辑器之外,您需要库进行编译和链接。再次,Xcode是Objective-C的黄金标准。此外,即使对于Java,Eclipse中的项目设置和管理也很麻烦。

我意识到这并没有直接回答你的问题,但我希望它提供了一些见解,无论是对问答者还是对处于相同情况的其他人。干杯!


3
好的信息。我的优先顺序是2,然后是1。我已经完全放弃了3,但是我暂时还没有我的Mac环境。如果我可以使用KDevelop来熟悉Objective-C,那就足够了。我正在设置一个hackint0sh,在我买得起MBP之前用作过渡。 - Stefan Kendall
11
这是一篇非常棒的回答,加一! - Alan

29

如果您使用Mac电脑,那么Objective-C最好的IDE是Xcode。也有一些其他的IDE支持其他操作系统,例如KDevelop。至于Eclipse,我只见过objectiveeclipse这一个插件,但我没有使用过它。


9
很不幸,这似乎是真的,但 Xcode 真的有很多不足之处。 - Peter DeWeese
尝试使用AppCode(仅适用于Mac,但像Intelli-J一样好)。 - brainray
objectiveeclipse已经死亡,自2011年以来就一直如此。您能否更新您的答案以反映这一点? - Clearer

9
  • 我曾经尝试使用基于MS Windows/Eclipse的环境来开发iPhone/Objective-C应用程序,但最终放弃了。
  • 我曾经尝试构建一个合理的黑苹果(根据我的能力...显然在这方面相当有限...),但在2009年我放弃了。(显然现在有更好的教程/更容易做到了?)
  • 我想到如果我购买一台iMac并利用之前列举的时间来开发iOS应用程序,我会变得富有。所以我买了一台Mac
  • 显然我现在不富有。但至少是一个快乐的Mac用户;-)

另外一件事,我注意到甚至一些Eclipse插件项目(用于Objective-C开发)我希望会起飞,也被关闭了。

买一个Mac吧。或者享受不买它的过程。 毕竟,旅程才是重要的,而不是目的地。

--Jorge


1
在2011年7月,宣布objectiveclipse将被复活(http://code.google.com/p/objectiveclipse/)。 - Dynamicbyte

7
如果您没有Mac并想在Windows上学习Objective-C,可以看看GNUstep(http://www.gnustep.org/)。我认为您可以获取Windows包并使用IDE。GNUstep包含许多Cocoa类,因此可能相对容易入门。但是,当我一段时间前在Windows上尝试GNUstep时,它对我来说非常有bug。
您可以尝试的文本编辑器是E(http://www.e-texteditor.com/index.html)。它是TextMate的克隆版(Mac上流行的编辑器),您可以安装各种包,包括Objective-C支持。(http://svn.textmate.org/trunk/Bundles/)。您可以获得免费试用,也许可以试试。
希望这可以帮助您。我在Windows上几乎没有做过任何Objective-C编程,但这是我首先要看的东西,GNUstep和可能的E。

你可能需要更新链接到E,因为对我来说它显示的是一个关于汽车保险的日本网站... - x13

5

如果你只想学习Obj-C的语法,可以尝试一些在线编译器:

http://ideone.com

还有很多其他的在线编译器可供选择,可以用你喜欢的搜索引擎搜索“online compilers objective-c”。


3

对于那些想在Mac上进行开发的人,我认为JetBrains的AppCode是最好的选择。


1

我曾经试图搭建一个开源的iPod/iPhone开发环境,但这个过程太长了,最终放弃了。我选择了购买一台Mac电脑。从那时起,工具是免费的,我开始思考和使用Objective-C编码。

我看到了一本关于开源软件开发(在Linux下)的书籍,出版商是好老的O'Reilly。值得一看。

在类似的思路线上,使用Objective-C为Linux编写应用程序可能会带来更大的语言和框架接受度。目前,它确实是为那些对Mac或iPhone/iPad/iPod设备应用程序开发感兴趣的人保留的。

此外,如果Objective-C运行时模块足够轻便,它也可能适用于游戏主机自制软件:我曾经为任天堂DS主机编写了一个应用程序,并最终编写了大量的C++代码。我觉得使用ObjC可以减少编码量,并且使用封装版本的libnds,但据我所知,GNUStep尚未被移植到DS开源工具链中(www.devkitpro.org)。

愉快的编码!


1
你可以安装GNUStep,然后在Eclipse上进行编程(需要在Eclipse上安装CDT),这里是一个详细的视频剪辑,介绍了如何做到这一点(对我有用)。

0

编辑:

这是一篇有关在Windows中设置Objective-C环境的文章,它说只需要GNUstep MSYS系统和GNUStep核心包: http://www.tutorialspoint.com/objective_c/objective_c_environment_setup.htm


最近我发现Mingw包含了gcc的objective-c包(http://mingw.org/wiki/MinGW)- Mingw是GCC的Windows端口,后者支持许多语言(C、Java、Fortran)

你可以尝试一下,虽然我以前没有这样做过。但是,请准备好一些库可能不被支持,特别是那些与UI相关的库。查看有关gcc对objective c的支持的信息可能是一个好主意,以了解mingw对objective-c的支持程度。但是对于这个问题,你可能想看看https://stackoverflow.com/a/9196196/214728


0

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