Jetbrains announced appCode (CIDR) EAP - an Objective-C IDE for Mac and iOS development
Main features of the IDE are:
- Smart editor with code completion
- Opening and creating Xcode projects (including Xcode 4)
- Integration with the standard Interface Builder
- Running applications in iOS Simulator
- Debugger with breakpoints, variables, watches and evaluate expression
- Refactorings, e.g. 'Change Signature' and 'Extract Method'
- On the fly code analysis and quick-fix suggestions
- Tight version control systems integration (Subversion, Git, Perforce and CVS)
InfoQ took the opportunity to ask JetBrains Maxim Shafirov about the new IDE:
InfoQ: What drove the decision to develop appCode?
Maxim: We at JetBrains admire what Apple has done to desktop apps and more generally to a consumer targeted software. They're setting new interaction design quality standards. But this is not the case when it comes to developers software, in our opinion. So we see a great opportunity for JetBrains to bring its development tools expertise to this emerging market of developers, who know how a great software should look, who care about their productivity and code quality.
InfoQ: What were the major challenges in developing appCode ? Did you work with Apple in developing the IDE ?
Maxim: It's Objective-C! This means it's C in the first place, with a header file based modularity, macro processing, etc. We've invented some really smart tricks to parse and process all the stuff on-the-fly to offer our users a modern IDE grade level of code understanding. We didn't interact with Apple so far but there are a few things we'll ask their help for, namely debugging on device.
InfoQ: Is appCode useable for all Mac development, so iOS and MacOS ?
Maxim: Absolutely. EAP builds might be slightly slow for some larger Mac OS projects right now. But hey, this is just a first EAP!
InfoQ: If you would compare appCode to XCode what are the major features that differentiate it and what do you think will help the developers most?
Maxim: Its generally the same stuff you find in other IntelliJ based IDEs: code navigation, on-the-fly code analysis, quickfixes, intention actions, refactorings and smart editor features.
InfoQ: What do you think will Apple say to this competition on its very own market ? How was the perception from alpha testers / developers so far?
Maxim: First of all, iOS and Mac OS apps installed on iDevices and Macs — that's what Apple's main market is, not apps developers. So, we believe there will be more great apps developed with appCode and it is good for Apple.
Initial perception of appCode was very positive regardless of, frankly speaking, quite poor quality and feature incompleteness of the earlier closed EAP builds. Without disclosing any details I'd like to notice there are some quite popular applications in Apple's App Store that have been fully developed with appCode!
InfoQ: Do I still need XCode / the Apple development infrastructure to develop applications?
Maxim: Yes. You need to have Xcode 3 or Xcode 4 installed. At the very least we need a platform SDK that comes with Xcode, the Interface Builder and device simulator.
InfoQ: What are the limitations when working with appCode ? Does it only run on MacOS?
Maxim: Yes, it only runs on Mac OS X for the reason listed above: we need an Xcode.
InfoQ: Were you able to replace the XCode project files?
Maxim: Nope! For now we feel it is important for appCode early adopters to be able to continue developing their appCode projects in Xcode at any time. And switch from Xcode to appCode without any additional configuration. So we decided to live over the Xcode project structure. You can create Xcode project from AppCode or open an existing one.
InfoQ: What is the roadmap for appCode and its license ? Is there any already any pricing information?
Maxim: Well, we've just released our first public EAP and will carefully listen to what people will say about it. This may or may not dramatically change our plans, so, let's see. Pricing policy is still under discussion but that'll be affordable for sure.
InfoQ: Thank you for answering our questions so promptly and thoroughly
Looking forward to appCode
New era for mac development