Integrated Development Environments

Integrated Development Environments (IDEs) are very high-end software tools that not only provide code editing, but also code-organization tools, built-in testing tools, code-optimization scripts, source-control integration, and usually deep code hinting and completion support.

The downside of using an IDE is that the IDE is designed to constantly check the code as the file is being updated while code is being written. This causes the editor to be sluggish and unresponsive at times and painful to use on slower systems. Typically, JavaScript developers tend to dislike the sluggishness of these IDEs and move on to other faster editors.

This can cause issues when large projects kick off, and users use an editor that is ill-suited to structure JavaScript in a proper manner. It's usually recommended that you start with an IDE and work down when a project only requires minor tweaks.

Some popular IDEs for JavaScript are discussed in the upcoming sections.

The Microsoft Visual Studio IDE

If any software is directly associated with the term "IDE", Visual Studio is one. Microsoft Visual Studio IDE can be seen in the following screenshot:

It handles multiple languages, including HTML, CSS, and JavaScript, while handling other language such as C#, Visual Basic, Python, and so forth. In terms of JavaScript, Visual Studio will check deeply within a project's JavaScript code flow and look for minor errors that many lighter editors won't find.

For JavaScript developers, the Visual Studio Express Edition for Web should be powerful enough for any JavaScript projects.

JetBrain's WebStorm IDE

For the JavaScript developer not fond of ASP.NET and looking for a dedicated JavaScript IDE, and/or requiring a Mac or Linux solution, look any further than JetBrain's WebStorm IDE shown in the following screenshot:

This IDE is targeted at JavaScript development, and it handles any JavaScript technology you can throw at it: node, AngularJS, jQuery… the list goes on and on with WebStorm. It also has full code hinting and error checking support, similar to Visual Studio, and it has very strong source control support, including Git, SVN, and even Microsoft's Team Foundation Server.

Now sidebar on JetBrains, WebStorm is a lower-tier IDE when compared to IntelliJ IDEA, which is JetBrain's flagship editor for every language. The user interface of the IntelliJ IDEA editor can be seen in the following screenshot:

Typically, IDEA is known best as a Java-focused IDE, but it includes the same tools as WebStorm plus many more. Like Visual Studio, it can handle multiple languages, but that comes at the cost of performance. For example, if we started working in both environments on a slower system, we might notice more lag on IDEA than WebStorm when working day-to-day on JavaScript projects.

Again, this is due to the large number of features the IDEs require to be running in the background to make our code better, which is more marked on IDEA; so, again, starting off in an IDE is great to build a well-structured code base early on, but as time progresses and we work repeatedly in a slow editor, we will need something faster with a good base already set up.

With that in mind, many developers who don't see performance issues with an IDE tend to stick with the IDE they've chosen; other developers, however, move on to editors such as the ones in the next section.