LaceySnr.com - Salesforce Development Posts by Matt Lacey

Which IDE Is Next For Me?

Posted: 2017-12-04

As I wrote about in my last post, MavensMate is no longer being actively developed and while it's still working well for me for the majority of the time, there are more and more instances where it's failing to parse a server response correctly, or I feel I'm lacking in support for some of the newer features of the Salesforce platform. At some point I know I'm going to have the make a change, but the thing is, I genuinely don't know where to go right now.

Why Am I Still Using MavensMate?

  1. I really like Sublime Text. I like it's UI, it's way of working, it's speed and above all it's excellent licensing.
  2. I really like the Vintageous plug-in for Sublime.
  3. Resource bundles are awesome, they fit in with my work flow, and I can build my JS application and deploy it to a Static Resource with a few keystrokes.
  4. It ain't broke. Ok, mostly isn't broke.
  5. Downtime is expensive. Sure it won't take long to get a new IDE setup, but it will take me time to adjust, and to make sure it fits in with my workflow so well that I don't notice it.

Basically number five is the most important point in that list right now, the adjustment period of switching is the thing that's really putting me off, but I can't deny that a change must happen. This is the classic issue that plagues all programmers (in my head at least): do I spend some undefined length of time writing a program to do X, or do I just keep doing X manually because even though it's tedious it doesn't take that long?

Choosing when to automate a task is a hard thing™, like naming variables where i or dave doesn't quite cut the mustard. Some time ago I spent a couple of days configuring a CI environment for our business. It took two days to get it working nicely but it's been a couple of years since I did that and the time savings have been enormous. I should have done that earlier, and I probably should have switched my IDE earlier, but I do really like Sublime.

What's Everyone Else Using?

So there's a bunch of options available, and to be honest, it's a little overwhelming even as someone who's been in the space since 2009, so I have no idea how those new to the platform must feel right now. The first point of call is to simply dismiss any cloud-based environments. There are some excellent Cloud based IDEs out there but I need more than Salesforce support, and develop and 'compile' a large JavaScript SPA alongside all my force.com back-end code, for which I need an array of tools locally.

I read a few posts that compare IDEs, but these largely seemed to be a quick summary of various tools, and you really can't sum up such complex beasts in a few sentences, so it seems I'm going to have to try a few out for myself. That said, I don't want to try everything under the sun (see the time thing) and so I decided to run a quick Twitter poll, to see what was going on. On the face of it, it seems that Scott Wells' Illuminated Cloud is the tool of choice right now:

Ok, so for @salesforcedevs developer who's moved away from Mavens Mate, what have you switched to? Note I'm not including cloud-based solutions because frankly I want things on my computer.

— Matt Lacey (@LaceySnr) November 21, 2017

As you can see, the age of rule of Twitter applies here: anything you're going to share far and wide is guaranteed to contain some screwed up wording. Also I had to call the Force.com IDE the Force dot com IDE because otherwise Twitter wouldn't let me post the poll, go figure.

The Results In More Detail

So there were 97 votes all up, so I believe the voting tallies are as follows:

IDE Votes
Illuminated Cloud 41
Force.com IDE 26
Salesforce DX IDE 24
The Welkin Suite 9

I'm hesitant to comment on these results as my knowledge doesn't run deep, but I'm not particularly surprised by the numbers because The Welkin Suite is (EDIT: WAS! Boris corrected me on this and apparently it's now available for Mac too) Windows only, artificially limiting it's audience, and I don't think the DX IDE is much good for anything that's not DX yet. I may be wrong there, but that was what seemed to jump out when I did some research prior to this poll. Again, DX is something I badly want to adopt, but the downtime involved in the switch is just too great right now, perhaps the holiday period will help with that.

The problem with Twitter polls is I could only include four options, and a few people suggested other alternatives, I'll tally each mention from an individual as a vote here:

IDE Votes
JetForcer 2 votes
VS Code + plugins 9 votes
vim-force 1 vote

There were a couple of other 1-vote efforts which I'll look into in more detail, but I'm including vim-force here just because it made me chuckle. JetForcer is built for JetBrains IDEs in a similar manner to Illuminated Cloud, and if you've not heard of VS Code then I have no idea how you've survived for so long in cloud computing without an internet connection.

Now What?

Clearly these results are interesting, and they've turned up a few things that I didn't know about before (JetForcer plus some others not mentioned - more on those soon), but it's not enough to tell me what's going to work for me. I need cross platform support as I work on a Windows box at home and a Mac the rest of the time, and I'm allergic to anything Eclipse based due to too many past encounters, so for now my game plan is to test out Illuminated Cloud and VS Code in more depth. To that end I'm planning to try each of the two for a minimum of a four week period, assuming they don't outright prevent me from getting my work done in an efficient manner. I'll do write-ups for each along the way, and hopefully I'll test out some of the other solutions just to give some more balanced coverage.

Edit (5th December, 2017): I'm also going to give the Welkin Suite a whirl since they support Mac too.

We talked with Scott Wells some time ago on Code Coverage, and it's plain to see that Illuminated Cloud is a work of passion, and to that end I think I'll start there. I planned to make the switch shortly after that episode, but excuses excuses excuses. This should be one interesting ride.