4 ms·
I might be missing something, but was are the advantages of this over using Xcode? I'm all for options, and $50 to $150 usd is not prohibitive for an IDE, but
by pablasso 15y ago
I might be missing something, but was are the advantages of this over using Xcode?
I'm all for options, and $50 to $150 usd is not prohibitive for an IDE, but since Xcode is free and directly from Apple, there must be some really good features for me to switch IDEs.
- weaksauce 15y agoIf it's better then I am all for it; why use macvim if text edit is free and directly from apple?
- BrianHV 15y agoI tried it out for a bit a couple of weeks ago. I didn't stay with it because it didn't seem to be playing nice with the beta Xcode, but I'm still interested in switching. My two major reasons are refactoring support and the vi plugin. Having used Resharper for a long time in C#, I feel slow in environments without it; App Code begins to bring the Resharper convenience to Objective C.
- yawn 15y agoDisclaimer: I do Java using Eclipse for my day job, and have used one of their Java IDEs in the past (IntelliJ IDEA). The code-editing side of XCode compared to these IDE is like a relic from the 90's. Once you use a refactoring tool to rename a class and have it renamed everywhere in your project, you get a taste for what XCode is missing. There are several refactorings like this that shave a lot of time out of some of the more annoying tasks. Code generation allows you to define a method or property once and have it added to both .h and .m files, as well as have properties synthesized. If you want to add an argument to the method signature, that is done in one step, too. The SVN integration in IntelliJ IDEA was superb. I have had issues using SVN in XCode where the interface refuses to load history, and the interface for managing conflicts just isn't there (try having 2 devs change the project file). These are just a few things off the top of my head.
- thoradam 15y agoOff-topic: How would you compare Eclipse to IntelliJ IDEA and why did you choose Eclipse?
- yawn 15y agoMy current employer (and myself, too) had a history of Eclipse already when I started. Another dev got hired that was an IntelliJ nut. He was able to set up a working environment without "contaminating" our projects. Occasionally we would pair with him driving, and I was always impressed by the speed and quality of the IDE. Once he left I never bothered to look further.
- reverend_gonzo 15y agoI've used both. I have a personally bought copy of IntelliJ, though I'm using Eclipse now. For the most part, they're both comparable. Both have powerful refactoring and code-generation abilities. For core Java development, there's no need to leave Eclipse. IntelliJ might provide some nice features, but overall it doesn't warrant purchasing a license. When combined with web development, other languages, or non-core development, is where it easily pays off to switch to IntelliJ. We were doing some Grails work, and Eclipe's support (via STS) was shady at best. We put off trying IntelliJ since it meant learning a new environment, new shortcuts, etc, but after about a day of playing with it, we were sold, and never looked back.
- gregschlom 15y agoFor the record, there's a free version of IntelliJ now. (Community Edition)
- eropple 15y agoIntelliJ is also a lot nicer for Scala than the Eclipse plugins. The Python plugin is pretty excellent too; it brings in most (all?) of what you'd buy PyCharm for.
- Zev 15y agoHave you tried Xcode 4? I'm not its biggest fan, but, it is a step up from Xcode 3 when it comes to refactoring. It can rename a class everywhere in your project, for example.
- ageektrapped 15y agoXcode 4's refactoring is still quite poor. Renaming something is akin to a "find and replace all" in my experience. If two unrelated classes have the same method name, Xcode will rename all instances of both classes if you rename one of the methods.
- SeoxyS 15y agoWhat you have to realize is that refactoring is a dangerous concept in Objective-C, regardless of which IDE you use, because of Objective-C dynamic nature. Classes can be loaded or switched at runtime, non-existant methods can be called, and class and methods can be variables. Cleanly refactoring is much easier to achieve in a statically-typed language such as Java, which is why Java IDEs are so much better at automatically refactoring.
- yawn 15y agoThis doesn't really ring true to my ears. I have some experience with Smalltalk, which is where refactorings were pioneered, and which Objective-C has some roots in. Smalltalk is even more "dynamic" than Objective-C. If you get the chance, I recommend playing around with Squeak or Pharo.
- msbarnett 15y agoIt's not (just) the dynamism of Objective-C that make some refactorings unable to be guaranteed to produce correct results; the "C" part plays a big role as well.
- hamletdrc2 15y agoXCode is based on the same framework as the other IDEs, so you can expect excellent refactoring, static analysis, and "code rewriting" features. Also, the version control integration of the platform is top-notch, especially for git. I use IDEA to manage all of my local git repositories, and I only use the command line now for pushing remotes and git-log (I use IDEA for the rest because it is faster for me). Disclaimer: I'm on the JetBrains "Academy" which means they sponsor some of my speaking and stuff.
- jhawk28 15y agoI think you mean AppCode instead of XCode.
- ned_roberts 15y agoThe main reason I use IntelliJ products (IDEA for Java and AppCode for iOS) is the keyboard support. These guys are serious about making sure every feature is easily done with the keyboard. Xcode drives me crazy because I feel like I'm always reaching for the mouse or tabbing through fields or buttons to drive the UI. The most common refactorings, like rename method/variable/field or change signature are all easily done through the UI. Example: rename (anything) is Shift-F6, <type new name>, enter. I do this all the time.