User:Jsharda/IntelliJ IDEA

Source: Wikipedia, the free encyclopedia.
IntelliJ IDEA
Developer(s)JetBrains
Stable release
14.1.5 / September 25, 2015; 8 years ago (2015-09-25)
Written inJava
Operating systemWindows, OS X, Linux
TypeJava IDE
License
Websitewww.jetbrains.com/idea/

IntelliJ IDEA is a Java integrated development environment (IDE) for developing computer software. It is developed by JetBrains (formerly known as IntelliJ), and is available as an Apache 2 Licensed in both community edition,[1] and proprietary commercial edition. The latest stable version of IntelliJ IDEA (14.1.5) was released on September 25, 2015.

History

The first version of IntelliJ IDEA was released in January 2001, and was one of the first available Java IDEs with advanced code navigation and code refactoring capabilities integrated.[2][3]

In a 2010 Infoworld report, IntelliJ received the highest test center score out of the four top Java programming tools: Eclipse, IntelliJ IDEA, NetBeans and Oracle JDeveloper.[4]

In December 2014, Google announced version 1.0 of Android Studio, an open source IDE for Android apps, based on the open source community edition of IntelliJ IDEA.[5] Other development environments based on IntelliJ's framework include AppCode, PhpStorm, PyCharm, RubyMine, WebStorm, and MPS.[6]

System requirements

  • Windows: 10/8/7/Vista/2003/XP | MacOS X: 10.5 - 10.9 | Linux: GNOME or KDE desktop
  • 1 GB RAM minimum, 2 GB RAM recommended
  • 300 MB hard disk space + at least 1 GB for caches
  • 1024x768 minimum screen resolution
  • JDK 1.6 or higher

Licensing

IntelliJ licensor is JetBrains s.r.o. in Czech Republic registered with Commercial Register.[7]All authorized users must have their profile record on JetBrain's account site which identifies the user and all the permissions he has.[7] IntelliJ offers commercial and personal licenses based on the user’s requirements. Commercial licenses are available as both stand-alone purchases as well as bundled with an upgrade subscription.[7] IntelliJ provides free licenses for students, teachers, training and open source projects.[8]

Releases

The latest release of IntelliJ is 14.1. Below are all its releases.[9]

Year Release Date Release
2015 24-Mar  IntelliJ IDEA 14.1.
2014 5-Nov  IntelliJ IDEA 14.
2013 3-Dec  IntelliJ IDEA 13.
3-Apr  IntelliJ IDEA 12.1.
2012 5-Dec  IntelliJ IDEA 12.
28-Mar  IntelliJ IDEA 11.1.
2011 6-Dec  IntelliJ IDEA 11.
16-May  IntelliJ IDEA 10.5.
2010 9-Dec  IntelliJ IDEA Turns 10.
2009 8-Dec  IntelliJ IDEA 9.0.
6-Nov  IntelliJ IDEA 9 Beta.
2008 6-Nov  IntelliJ IDEA 8.
2007 15-Oct  IntelliJ IDEA 7.0.
13-Aug IntelliJ IDEA 7.0 Milestone 2.
27-Apr IntelliJ IDEA 7.0 Milestone 1.
2006 2-Oct  IntelliJ IDEA 6.0.
2005 1-Aug  IntelliJ IDEA 5.0..
2004 27-Jul  IntelliJ 4.5.
17-Feb  IntelliJ 4.0.
2002 November  IntelliJ IDEA 3.0.
2001 July  IntelliJ IDEA 2.0.
January  IntelliJ IDEA 1.0.

Platform

The IntelliJ platform is structured in a logical combination of components. Some of them are discussed below:

Projects

Projects in IntelliJ lend structure to the software development performed on IntelliJ. Projects settings can be configured for Modules,Facets,Artifacts, Libraries and Project wide.

Modules are functional units of the software that can be singly developed and integrated later to create a whole project.

In Libraries settings, the libraries on which the project is dependent or the project uses are configured.

Facets are similar to libraries but the contain setting specific to frameworks and technologies that are being leveraged by the project.

Artifacts settings are used to configure the structure of the software. Artifacts define what the output of the development is. Typical outputs are deployable units like JAR and WAR files. [10]

SDK

SDK is the development kit or a set of tools that enable the creation of applications. IntelliJ does not contain any SDK out of the box and SDK need to be separately installed and specified in the IntelliJ settings.[11]

Library

The libraries contain the pre-compiled programs used to develop an application in IntelliJ. They extend useful capabilities like file reading and expression matching. IntelliJ allows developers to include libraries at 3 levels: Globally for all projects, Project libraries that are specific to a Project and Module libraries that are specific to certain modules.[12]

Compiler and Builder

The builder uses a programming language’s specification to integrate all the files related to a project such that it results in an application or software. The builder uses standard compilers to create the build.

The compiler is then used to compile the program and it may generate errors and warnings.

Warnings do not prevent the program from executing but errors do not allow the program to run. [13]

Running, debugging and Testing

A program can be run inside IntelliJ. The output or errors if any can be seen inside the IDE. the errors can be debugged with several features provided by the IDE for example the line by line execution of a program or by observing variables or other program related files.

Testing can also be performed within the IDE from the Test Runner Tab.[14]

Features

Version 12.1 includes support for Java 8, UI designer for Android development, Play 2.0 and Scala. Some of the basic features of IntelliJ IDEA are as follows:

Navigating Basics

IntelliJ provides functionality to open recent files using Ctrl+E shortcut. Structure of the open file can be accessed by Ctrl+F12. Other navigation features include navigating between methods, navigation bar and select in. IntelliJ provides a task switcher between open files and tool windows.[15]

Code Style and Formatting

IntelliJ provides following features for code styling and formatting:

  • Reformat existing code
  • Auto-indentation
  • Settings
  • Tab character

Refactoring

IntelliJ provides many automated code refactoring techniques to improve the code quality. Change variable type, invert Boolean and type migration features may affect the logic of code. [16]Selection, undo, string fragment replacement and mnemonics are some of the other refactoring features provided by IntelliJ.[16]

Debugger

IntelliJ allows to run a project in debugger mode once its run configuration has been set. Debugger provides various types of breakpoints such as field breakpoint, action breakpoint and temporary breakpoint.[17] Debugger session has features like run to cursor, smart step into, mark instance and evaluate expression.

Application Server

IntelliJ ultimate edition provides inbuilt support for the enterprise application servers such as GlassFish, WebLogic, Tomcat and more.[18] IntelliJ provides web facet for each application server where it stores settings for each module of the project. It also provides artifacts and run configurations for application servers.

Supported languages

IntelliJ IDEA has two editions; Community Edition (Free) and Ultimate Edition (Paid). Both can be used for commercial development.[19]

Both editions[20]
Ultimate Edition only[20]

Technologies and frameworks

Ultimate Edition supports the following:[20]

Ultimate Edition also supports the application servers Geronimo, GlassFish, JBoss, Jetty, Tomcat, Weblogic, and WebSphere.[20]

Software versioning and revision control

The two editions also differ in their support for software versioning and revision control systems.

Both editions[20]
Ultimate Edition[20]

Free plugins also exist for the Atlassian IntelliJ Connector integrating JIRA,[22] Bamboo, Crucible and FishEye.

See also

Bibliography

  • Saunders, Stephen; Fields, Duane K.; Belayev, Eugene (March 1, 2006), IntelliJ IDEA in Action (1st ed.), Manning, p. 450, ISBN 1-932394-44-3
  • Davydov, S.; Efimov, A. (May 2005), IntelliJ IDEA. Professional'noe programmirovanie na Java (V podlinnike) (1st ed.), BHV, p. 800, ISBN 5-94157-607-2

References

  1. ^ IntelliJ Source Code
  2. ^ "IntelliJ IDEA :: Java refactoring plus sophisticated code refactoring for JSP, XML, CSS, HTML, JavaScript". JetBrains.
  3. ^ Martin Fowler. "Crossing Refactoring's Rubicon". MartinFowler.com.
  4. ^ Andrew Binstock (22 September 2010). "InfoWorld review: Top Java programming tools". InfoWorld.
  5. ^ "Google releases Android Studio 1.0, the first stable version of its IDE". VentureBeat. 8 December 2014.
  6. ^ "What is the IntelliJ Platform?". VentureBeat. 23 February 2015.
  7. ^ a b c "IntelliJ IDEA :: Licensing and Upgrade". www.jetbrains.com. Retrieved 2015-10-13.
  8. ^ https://www.jetbrains.com, JetBrains, Inc.,. "IntelliJ IDEA :: Licensing and Upgrade". www.jetbrains.com. Retrieved 2015-10-05. {{cite web}}: External link in |last= (help)CS1 maint: extra punctuation (link) CS1 maint: multiple names: authors list (link)
  9. ^ "JetBrains :: Company History and Timeline". www.jetbrains.com. Retrieved 2015-10-13.
  10. ^ Assumpção, Hudson Orsine. Getting started with IntelliJ IDEA. Packt Publishing Ltd. ISBN 9781849699617.
  11. ^ "IntelliJ IDEA 14.1.0 Help :: SDK". www.jetbrains.com. Retrieved 2015-10-05.
  12. ^ "IntelliJ IDEA 14.1.0 Help :: Library". www.jetbrains.com. Retrieved 2015-10-05.
  13. ^ "IntelliJ IDEA 14.1.0 Help :: Compiler and Builder". www.jetbrains.com. Retrieved 2015-10-05.
  14. ^ "IntelliJ IDEA 14.1.0 Help :: Running, Debugging and Testing". www.jetbrains.com. Retrieved 2015-10-05.
  15. ^ "IntelliJ IDEA 14.1.0 Help :: Navigation Basics". www.jetbrains.com. Retrieved 2015-10-05.
  16. ^ a b "IntelliJ IDEA 14.1.0 Help :: Refactoring Basics". www.jetbrains.com. Retrieved 2015-10-05.
  17. ^ "IntelliJ IDEA 14.1.0 Help :: Debugger Basics". www.jetbrains.com. Retrieved 2015-10-05.
  18. ^ "IntelliJ IDEA 14.1.0 Help :: Application Servers". www.jetbrains.com. Retrieved 2015-10-05.
  19. ^ IntelliJ IDEA and Android Studio FAQ
  20. ^ a b c d e f "IntelliJ IDEA Editions Comparison". JetBrains. Retrieved 19 December 2014.
  21. ^ "Built-in SBT Support in IntelliJ IDEA 13". JetBrains. 18 November 2013.
  22. ^ "IDE Connectors". Atlassian.

External links


Category:Free integrated development environments Category:Integrated development environments Category:Java development tools Category:Products introduced in 2001 Category:Software using the Apache license