Way back in the 1990s, the only way to write a program for the Macintosh was to use Metrowerks’ CodeWarrior, a third-party IDE designed to make software development graphically appealing. Now, 16 years after the release of CodeWarrior, there is a new bumper crop of IDEs that can build applications for the Mac OS, and they’re not all made by Apple.
Of course, Apple’s Xcode is the default Mac OS X development environment. Apple’s flagship IDE dominates the development of iPhone, iPad and desktop applications for the Macintosh. But it’s not the only option out there. JetBrains recently introduced AppCode, a new IDE for developing Mac applications, and Embarcadero Technologies recently added Mac OS X as a target deployment platform for C++ and Delphi in its eponymous flagship IDE.
JetBrains’ take on Macintosh development starts out with the company’s famous Java IDE as an influence. Max Shafirov, AppCode project lead at JetBrains, said that AppCode offers a number of features that are not found in Xcode.
“The main idea behind AppCode is to offer developers a chance to produce better code and increase their productivity while coding. AppCode achieves these goals in a number of ways,” he said.
“Automatic code analysis is one. You don’t need to run code inspections on demand; the complete project codebase is verified instantly, as you type. The number of code verifications is impressive and varies from simple ones like ‘unreachable code’ or ‘unused code’ to much more important memory management warnings. For many of these code warnings, AppCode offers quick-fix options (similar to Xcode’s ‘fix-it’ actions).
“A solid set of powerful code refactorings is another big advantage of AppCode. There’s also a huge number of smaller productivity features, such as more convenient code navigation, better debugger, imports optimization, code formatting options, etc.”
JetBrains’ IntelliJ IDEA Java IDE is well-known for its refactorings, and AppCode is no different. Said Shafirov, “Reliable refactorings allow for a very different coding flow, which is equally applicable to both small and large projects. Actually, you don’t refactor just the existing codebase to enhance its readability or maintainability, but you also use higher-level techniques to author new code. Already in v1.0, AppCode offers a set of refactorings and ‘create from usage’ actions to make development processes much more efficient.”
Embarcadero sees the Mac OS as a growing target for enterprises, said John Thomas, the company’s director of product management for developer tools. “Basically, today if you’re an enterprise, you recognize you need to target Mac OS. It’s becoming more and more important to developers. It’s an imperative: Mac OS is really growing. You can’t ignore it anymore.”