The war of the IDEs intensified this summer. In July, Amazon purchased Cloud9 IDE [1] to add to their suite of cloud based development products. Just last week, Google announced it’s own cloud based code editor for Google Cloud Platform. Meanwhile, Microsoft has been quietly making progress since last year with the release of their own lightweight spinoff of Visual Studio - Visual Studio Code.

These tech giants have engaged in vigorous competition on a number of fronts for years. Interestingly, they have selected IDEs as the next front in their interminable war.

Two questions come to mind. Why IDEs? And why now?

Why IDEs and Why Now?

There are probably a couple of answers that might suffice. Software is still eating the world. And software development is becoming increasingly important. It’s also becoming easier and more far reaching. More and more people are learning to code, and the tooling is getting better and better with tools like Wordpress, Ruby on Rails, Django, and Heroku.

An IDE is the daily canvas for any developer. The tech giants want to own that canvas if at all possible. We saw the same thing with the browser wars as more people came online. Like a browser, an IDE is a portal through which you do most of your work as a software developer.

These IDEs are modern and feature rich. Many of them include built in Git integrations to make source control easier for Salesforce developers.

Why now? Technological progress has drastically increased the possibilities available to IDE designers. Browsers and cloud infrastructure are more robust than ever, making cloud-based IDEs a possibility for the first time. The same forces moving people to cloud-based tools like Gmail, Salesforce, and Google Docs will drive software developers to use cloud-based tooling for the same reasons.

Great News for Salesforce Developers

Whatever the reasons, this intense IDE competition is an unmitigated boon for Salesforce developers. More competition means more and more passionate developers are spending time making the IDE experience as great as it can be.

Each Salesforce developer can now choose which tool best fits their requirements. You no longer have to simply choose between VIM, Emacs and Eclipse. In addition to those awesome tools you can now look at Sublime, Visual Studio Code, Atom, IntelliJ, and Cloud9. There are even IDEs developed specifically for Salesforce: Welkin Suite, Illuminated Cloud and the Force.com IDE itself.

These IDEs are modern and feature rich. Many of them include built in Git integrations to make source control easier for Salesforce developers.

But the paradox of choice can make this new reality somewhat intimidating. How does one choose a tool that’s best for them?


To try to help, we want to provide a high level overview of the IDEs available to Salesforce developers.

Visual Studio Code

It seems that much has changed at Microsoft over the past few years under Satya Nadella. Microsoft has embraced Open Source in a big way. They’ve also focused on becoming more developer friendly.

Perhaps the most interesting thing to come out of Microsoft for developers has been Visual Studio Code - Microsoft’s lightweight text editor. We knew that Visual Studio Code was at least slightly legit when Alex (longtime Vim user) started using it to write Blue Canvas. And the other day I caught a friend of mine who works at a major tech company in the Bay Area using it as well.

Visual Studio Code is beautiful. The UI is great and visually appealing. It’s also lightweight and extremely fast.

Source control with Visual Studio Code is especially easy. It’s optimized for Git workflows and makes it easy to push and pull code (as you can see in our Blue Canvas demo video). You can run git push and git pull directly from the editor.


As Joe Ferraro discussed at Dreamforce ‘16, Visual Studio Code now supports MavensMate.

Best of all, Visual Studio Code is open source! You read that correctly. Microsoft open-sourced Visual Studio Code. You can contribute back to the project on GitHub.

Atom

Another relatively new kid on the block is Atom - “a hackable text editor for the 21st Century” - brought to us by the good folks over at GitHub.

Atom shares a lot of the benefits of Visual Studio Code in that it is extremely lightweight and fast. It also boasts a gorgeously modern user interface.

One of Atom’s best features is its community and support for custom packages. Packages are effectively add-ons that you can use to customize your development experience. You can create your own as well using Javascript. Atom’s autocomplete support is excellent.

As you might imagine with a tool provided by GitHub, source control is built directly into Atom. Atom comes with basic Git and GitHub integration built in.

There is even a MavensMate plugin for Atom.

Atom is also open source and runs on Chromium under the hood.

Sublime

With new kids on the block Atom and Visual Studio Code, it’s sometimes easy to forget that Sublime has been a steady hand at the wheel for years now.

Sublime was the original lightweight IDE. It remains widely used because of it’s clean UI and speedy performance. Solid syntax highlighting and code completion make it very readable editor.

Perhaps, most impressive about Sublime is it’s community. There are many packages that you can install as add-ons to Sublime including packages for syntax highlighting, source control and Salesforce deployments. The MavensMate plugin for Sublime is a big driver of Sublime’s popularity among the Salesforce community.

People have been developing packages for years so you can be confident in the quality of many of them.

Eclipse/The Force.com IDE

Though it sometimes gets criticism Eclipse is probably the most popular tool for Salesforce development today. The tool is robust and has been around for a long time, earning significant trust from developers. Many have become quite comfortable with the Eclipse/Force.com IDE workflow and they don’t feel a strong need to move anywhere else. And nor should they!

Eclipse gained popularity in the Salesforce community especially because the Force.com IDE is an Eclipse plugin. The Force.com plugin makes it easy to run Apex unit tests with Apex Test Runner. The tool is also designed for writing Apex and can detect syntax errors.

The Force.com IDE is open source and hosted on GitHub.

Cloud9

Cloud9 is a cloud-based IDE that lets you code directly in your browser. It makes setting up an environment very simple. It’s also an Ubuntu workspace which makes it possible to run terminal commands directly in the IDE. Cloud9 includes all the features you’d expect from a world-class IDE including code completion and debugging tools. Being a cloud-based editor has some advantages including the ability to collaborate and code in real-time. If you and a colleague are working on the same Apex class for example, you can see them typing in real-time. Cloud9 also keeps a history of your changes that you can playback at anytime.

Cloud9 has a custom integration with Salesforce that has gained a lot of traction among Salesforce developers. The integration includes inline function lookup, autocomplete, code analysis and error-detection that is specifically optimized for Apex and Visualforce.

Salesforce Specific IDEs

Illuminated Cloud

Illuminated Cloud is an IDE tailored specifically for Salesforce developers. Illuminated Cloud is a “Force.com development tool hosted within JetBrains IntelliJ IDEA.” This tool brings a fair amount to the table with smart code completion, template-based Source File Creation, and Source Code Navigation and Cross-Referencing.

Illuminated Cloud has robust Force.com integration that includes integrated Apex unit test execution and code coverage analysis, offline symbol table generation, real-time source code validation and deployment (somewhat like MavensMate), and powerful connection management.

In addition to smart code completion, it also includes smart live templates for common language idioms such as iterations, (SOQL queries, etc.) and an integrated log viewer for reviewing server activity. The tool even has an offline Apex debugger.

Illuminated Cloud is a paid tool hosted within the IntelliJ IDEA so your experience will ultimately be something like the IntelliJ experience.

Welkin Suite

The Welkin Suite is another IDE designed specifically for Salesforce. Welkin’s Mission is “to allow you think about the challenge of the project because all the trivial things will be covered by The Welkin Suite.” It’s a grand and worthwhile aspiration.

The Welkin Suite isn’t free, but it provides a number of valuable features around code assistance including code outlining, error highlighting, Apex and Javascript code completion, code snippets, automatic code formatting, and commenting. The Welkin Suite of course provides native Git support for easy source control integration. The Welkin Suite also includes an Enhanced VisualForce Editor.

Apex developers will be especially impressed with the Apex Retrospective Debugger which lets you watch all calls and operations being executed step-by-step. Welkin’s Apex Profiler gives you excellent insight into your code’s performance on a line by line basis.

For those concerned about source control, the Welkin Suite includes built in Git support. You can sync your Git repos directly from Welkin Suite.

Did we forget your favorite editor? Let us know on Twitter @bluecanvasio.



[1] Full disclosure: Alex used to work for Cloud9.