IntelliJ IDEA
An IDE for Java, Groovy, Scala and other JVM-based languages. The product is cross-platform: Windows, Mac OS X and Linux. The IDE integrates seamlessly with your build tool of choice: Maven, Gradle or Ant. If you use Maven, IntelliJ IDEA automatically downloads the required dependencies, updates classpath and adds source folders for compilation. There are several IDEs developed by JetBrains [1] and two of them were covered in this post.
Reading * JetBrains IDE comparison * [2] is interesting to compare the two IDEs.
Outline of this article:
Syntax highlighting and auto-completion Code navigation Refactoring Unit testing Debugging Gradle integration Docker integration Maven integration Integration with JVM languages Debugger for Javascript (JS) in Node.js projects Code analysis External annotations for inspections/search/quick-fixes Static analysis of code and generation of a report XML editor Database management GUI designer (if you use Swing) Many other features…
1. Syntax highlighting and auto-completion for Java
Outline:

Xcode
Xcode is the IDE developed by Apple and used to develop OS X and iOS applications. It comes with iPhone simulator and a toolchain for developing C/C++ applications. After the developer completes a coding, there are several steps to follow before the application can be run: compiling the source files, then creating an archive. The XCode Archive is a bundle file that includes the executable and libraries needed to run your application. There are some cool features like fast switching between iPhone simulator and OS X, but also with some shortcomings like no support for ‘CocoaPods’ which is a dependency manager for OS X and iOS. The first version of the IDE was called Project Builder.
All three major operating systems, Windows, Mac/OS X and Linux/Unix are supported. There are two versions of the IDE: Xcode for Mac and Xcode for iOS. Both versions share most of the same features, but there are some differences between them.
Xcode is a free application distributed by Apple Inc. as part of the Developer Tools in OS X or iOS SDKs (Software Development Kits). Xcode provides source-level editing tools and build systems for creating applications for iPhone, iPad, and Mac OS X.

The difference between IntelliJ IDEA and Xcode
The first step is choosing the language you want to develop in. In IntelliJ IDEA you can choose from 5 languages, while in Xcode you only get one (unless you’re familiar with Objective-C). When creating a new project, Xcode comes by default with a window called ‘Single View Application’ with the language C++. In IntelliJ IDEA you choose your language (in my case I chose Scala).
When you’ve made your choice, the next step is creating a new project. It will open a dialog box, where you can name it and select the project location. Xcode asks for a name, and optionally the class prefix of your project. Xcode tells you that the prefix should be unique within the current module but doesn’t enforce it – which can lead to collisions after importing code from other sources. Intellij IDEA on the other hand does enforce it, and lets you give your class prefix a meaningful name (in my case I told it to be ScalaDateTime, so that people searching for my code would find it easy).
