views:

4952

answers:

8

I know and have XCode, but I was wondering if there were any other complete development environments that support Objective C? I'm not looking for solutions with vim or emacs, nor editors like BBEdit that support syntax highlighting, but a full fledged IDE with:

  • code completion
  • compilation
  • debugging
  • refactoring

Extra points for being cross platform, supporting vi key bindings and supporting other languages.

A: 

I believe KDevelop is the only full IDE that supports Obj-C, but I'm not even sure how fully it supports it, having never used it myself. Worth a shot, maybe.

Loren Segal
+3  A: 

Textmate is an editor like BBEdit but it has the ability to run commands such as compilation, debugging, refactoring (though it will do so via XCode). It also has code completion.

In addition, you can write your own commands for Textmate that you can then run.

Teifion
A: 

Found another, though it sounds less than ideal:

ActiveDeveloper - doesn't appear to have active support (last update was in 2006). Mac only.

KDevelop sounds like it only supports Objective C syntax and only through its C support. I'm going to check it out anyway.

Textmate has a couple screencasts for Objective C (here and here). It is Mac only, but otherwise looks pretty good. It is hard to tell from the screencast how strong the integrated support is as it seems to just have a lot of scripts to handle the code. Also, I can't tell if it does true code completion or just expansion for snippets.

So it doesn't look like there is anything out there that hits everything. I'll probably do most of my development on Mac, so I'm thinking I'll try out TextMate with XCode to see if it is any better than straight XCode. I'll take a quick look at KDevelop.

Thanks.

Tim
A: 

I think you would waste less time by sticking with XCode rather than looking for another IDE if you want to develop for the Mac (or iPhone).

Apple made a lot of effort to kill any competitor in that area to make sure any developer wanting to develop for the Mac plateform use XCode and only XCode.

It might not be the best IDE but it does work well and it is the IDE developers at Apple are using. Somehow it does its job. The frameworks and the documentation are very well integrated.

I use TextMate a lot and also SubEthaEdit but they are not full IDE as you’ve described above.

Best Regards.

Tibocut
+1  A: 

I have been searching for something like this that does NOT run on mac for quite a few months now. Unfortunately I think that due to the relative obscurity of the Objective-C language that nobody has ever bothered producing such a full featured IDE for it. Until now, and we only have XCode.

Using JBuilder I fell in love with the auto-completion and displaying the function 'hints' on the screen while I type. I am that sort of person who remembers the 'ideas' better than the actual syntax and really benefits from knowing right then and there that the code I typed was correct, not having to find out a minute later at compile time. And then to have to try and figure out if I just misspelled something, or if I truly made a conceptual error due to a misunderstanding of proper use of the language. Code completion and hints have always saved time on this for me.

I know some people may look down on this and say the feature is unnecessary if you know what you're doing, but I never claimed to be better than anyone else.

I may have to just give up and try and get MacOS running on my PC. Which doesnt bother me in the least, just the rebooting to go back and forth to windows. I've tried to run it virtualized under VMWare but XCode kept crashing :( That reminds me I am going to google 'leopard vmware' and see if any progress has been made in that area.

Another problem in designing a full code-completion system with objective C is that the syntax is a little more forgiving, I dont know the exact technical term (strongly typed?) it is much harder to say exactly what sort of object belongs in a certain parameter and ANY object can be sent ANY message whether it implements that function or not. So you can spell a function name wrong, but it doesnt necessarily mean you made a syntax error... maybe you mean to call a function of that OTHER name and you just want nothing to be done if the function is not implemented by your object.

That's what I would REALLY like to see for obj-C, is an IDE that once it notices you are sending a message to an object, it displays a list of methods and function definitions that the object is KNOWN to accept, and walks you through filling in the parameters.

A: 

The short answer is: No. There are thousands of IDEs but XCode is the only one which you seriously can name IDE. I suggest you have a look at the tries of GNUStep (in form of Projectcenter, Gorm) and then you can imagine the state of affairs.

Friedrich
+1  A: 

I recently learned that Jetbrains the make of my favorite IDE (Idea) may support Objective-C (though it is unclear how much it will work for iPhone/iPad development). See the thread here for early discussion on this.

In the last year or two, they have started adding additional language support both in their flagship IDE as well as specialized IDEs (for Ruby, Python, PHP). I guess this is just another step in the process. I for one would love to have another option other than XCode and I couldn't think of one that I'd love more.

This is obviously vaporware at the moment, but I think it is something to keep an eye on.

Tim
A: 

While Apple couldn't do much about you using a straight forward IDE with the same compiler etc. underneath, you should probably read this:

http://news.bbc.co.uk/1/hi/technology/8616274.stm

Bob