1. What is IntelliJ IDEA?

IntelliJ IDEA is a Java IDE developed by JetBrains - a software development company based on Praque, Czech Republic. The company was formerly named as IntelliJ - you know it if you used IntelliJ some years ago.

As its name implies, the IDE is designed to be intelligent - focus on providing smart code auto completion, insight and analysis in every context - to improve developer’s experience and productivity. The first version was released in 2001.

IntelliJ IDEA is written in Java so it is a cross-platform IDE - meaning that you can use it on Windows, Mac or Linux. JetBrains provides two editions for this Java IDE:

- An open-source and free edition called IntelliJ IDEA Community.

- A commercial edition called IntelliJ IDEA Ultimate.

The Community edition is very limited in features: you can develop only Java desktop and Android applications. Whereas the Ultimate edition supports development of a wide range of Java technologies and frameworks. You can use the Ultimate edition for 30-day trial period and then pay for it.

In 2014, Google announced Android Studio which is based on the open-source edition of IntelliJ IDEA.

In 2015, JetBrains released the first version of Kotlin - a new programming language for the JVM (Java Virtual Machine). Kotlin is aimed to be a “better language” than Java. And in 2017, Kotlin becomes the official language for Android development.

 

2. IntelliJ IDEA vs. Eclipse/NetBeans

In terms of basic development features and technologies/frameworks support, IntelliJ IDEA is similar to Eclipse and NetBeans. Virtually what you can build with IntelliJ you can do the same with Eclipse/NetBeans. If not, you can easily find plugins for Eclipse/NetBeans. So what is the real difference of IntelliJ IDEA?

From my own experience, the biggest difference is IntelliJ IDEA is smarter in terms of code auto completion, refactoring, debugging and other productivity features. For example, the auto-save feature is really cool: you don’t have to press Ctrl + S anymore - the IDE automatically saves every letter you have typed.



The IDE is able to feel the context better to provide more accurate and intelligent auto completion. For example, when you start typing the variable name for a method parameter, IntelliJ IDEA suggests only possible values that are compatible to the type of the parameter.

When you create a new HTML/JSP file, the IDE positions the cursor at the <title> tag to let you edit the webpage’s title immediately. Small feature but convenient!

When you are editing a SQL statement in Java code, the IDE automatically suggests table and field names accordingly - if you set up an appropriate data source.

When you write HTML, CSS and Javascript code, IntelliJ IDEA knows what CSS and Javascript files you refer in the HTML document and provides auto completion like suggesting CSS class names and Javascript functions. Very cool!

If you are new to this IDE, you will find it a little bit difficult to use, especially if you are familiar with Eclipse or NetBeans. And over the time, you will feel more comfortable with IntelliJ IDEA.

However, IntelliJ IDEA is not all good. I used both Community and Ultimate editions to develop several kinds of applications like Java web/enterprise, Swing, JavaFX, Spring framework… and come to conclude that using IntelliJ IDEA is not as easy as Eclipse/NetBeans.

For example, when creating a Java servlet class via wizards, IntelliJ IDEA is lack of options to configure URL mappings or choosing HTTP methods to implement. When design Swing GUI, the designer in IntelliJ is worse than the one in NetBeans. And Tomcat in doesn’t reload changes like in Eclipse.

Therefore, if you want to develop Android, Kotlin and Java enterprise applications with frameworks, IntelliJ IDEA is a good choice. Otherwise you can still use Eclipse or NetBeans.

 

3. Advantages of IntelliJ IDEA

Here are some cool features of IntelliJ IDEA that make our development experience more productivity and joyful:

- Fast loading time, fast and intelligent code auto completion.

- Auto-save: IntelliJ IDEA saves everything you type instantly. So you never miss a single bit.

- Download JAR libraries from Maven repository: if a dependency is missing, say MySQL Connector Java, the IDE lets you download it from Maven website and add it to the project’s lib directory. Very convenient - you don’t have to leave your IDE to open a browser.

- Automatic labeling for method arguments: when you pass values directly as arguments to a method, IntelliJ automatically shows the names of the parameters to improve code readability:

Labelling Method Arguments

 

- Support code completion for SQL statement right inside Java code:

SQL suggestion 2

 

- Code Inspection: this feature allows you to quickly scan code for issues and recommendations from the IDE:

Code Inspection

- Support for developing Kotlin applications. You can convert Java code to Kotlin and vice-versa.

- Support for developing Android applications.

- Support for developing a wide range of Java technologies and frameworks (Ultimate edition only):

New Project

- And you can quickly search and perform any action in the IDE, just by using the shortcut key Ctrl + Shift + A:

Search Actions

 

4. Disadvantages of IntelliJ IDEA

IntelliJ IDEA is not a perfect IDE. Here are some of its weaknesses:

- The Community edition is very limited in development support. It allows you to develop only Java desktop and Android applications. And the Ultimate edition is costly.

- Java web development (JSP/Servlet) is not easy and intuitive like Eclipse/NetBeans.

- The Swing GUI Designer in IntelliJ IDEA cannot be compared with the one in NetBeans.

 

References:

JetBrains Homepage

IntelliJ IDEA Homepage


About the Author:

is certified Java programmer (SCJP and SCWCD). He began programming with Java back in the days of Java 1.4 and has been passionate about it ever since. You can connect with him on Facebook and watch his Java videos on YouTube.



Add comment

   


Comments 

#1tai2022-12-06 03:01
best IDE for coding Java
Quote