November 16, 2016 by LanceShi
List of IDE for Salesforce Programming (Part 1)
- Two other IDEs – HaoIDE and Metaforce.
- Add some explanations about pros/cons on each IDE, especially the ones which I have used.
The IDEs I have used
1. Mavensmate with Sublime
Around 80% of Salesforce developers are using this IDE. It can almost be considered the IDE for Salesforce coding. There is a reason behind it.
Sublime Text is a very effective Text Editor, especially for large projects. When you want to jump into a certain file, you can simply type ctrl+P and type in a subset of your file name. And it doesn’t have to be the full file name. For example, if you file name is TestPageController, you can simply type in tpc and sublime text will be smart enough to locate your file. Sublime text also have a vibrant community providing a lot of useful plugins for developers. If you can’t find one, you can also write it yourself.
Aside from it, Mavensmate is light-weight and fast. The test execution support is very nice. The design which separates Mavensmate core and editor plugin code makes it easier to develop for other editors. It is also a open-source tool, so if you find anything confusing, you can always refer to the source code.
- Sublime is very effective programming for projects
- Nice test execution support
- Open source and easy to develop with other text editors
- The configuration of the plugin is intuitive.
- Most developers are using it so you can get best support from the community.
- Mavensmate is supposed to be working under corporate firewall. However, it is hard to configure for it. Personally, I had issues with it. And that is the primary reason I am not using it.
- You need to run Mavensmate tool first in your computer and than open your sublime text editor. I am kind of tired of doing that every time.
- The response time of opening issues in Mavensmate is long.
HaoIde is another Sublime Text plugin for Salesforce development. It is my personal choice. And many Chinese programmers prefer this tool to Mavensmate. It works perfectly well under corporate firewall. It supports lightning component development very well.
- Sublime is very effective programming for projects
- Works perfectly under corporate firewall
- Lightning component development support
- Github open issue respond time is very fast. Hao is doing a great job in this.
- You don’t need to run a separate app in order to use HaoIde.
- The support for running unit test is not as good as Mavensmate
- The configuration is less intuitive. You will need to configure the settings file manually. However, I don’t find it very hard as a developer.
3. Eclipse with force.com IDE
Force.com IDE tool for Eclipse is supported by Salesforce and it is now a open source project. It is effective in project development. I wouldn’t say it is bad in any sense. However, Eclipse is a heavy-weight IDE environment. And since you won’t be able to set break points in your Apex code anyway so does it really make sense to use such a heavy IDE? Well, personally I don’t think so.
The good part is we have a Apex PMD plugin for Eclipse which does static analysis for our code.
- Eclipse is good for project development.
- Good support for almost everything
- Static code analysis tool available
- Eclipse is a heavy IDE which makes it slower than sublime text. And we still can’t use the heavy IDE features like setting break points
- Test execution support is not as good as Mavensmate
4. Mavensmate for Atom
Mavensmate also has an Atom version. The github page is here.
So Mavensmate is pretty much the same thing. The pros and cons of Mavensmate we have already explained. Atom editor is very similar to Sublime. You can google about Atom vs Sublime Text and there are a lot of articles about it. Aside from those, below are the pros and cons of Atom editor when compared to Sublime Text of my two cents:
- The UI is super coooooooooool!
- When writing your own packages for Atom, you have full control over the editor. You don’t have such privilege when writing plugins for Sublime Text
- It is free of charge when Sublime Text will cost 70 dollars (although it can be considered as Winrar free)
- It is awful when behind a corporate firewall.
- The searching is way slower than Sublime text, especially if the stored location is not at your local machine.
- It doesn’t support secondary search – which means search in search results.
5. Developer Console
This is the IDE I have used most in sfdcinpractice.com. It is perfect for handling small tasks. I still use it if the destination org’s code size is not too large. It now supports global search and auto-indentation which makes it a very handy tool as well.
However, I still won’t recommend it for large projects and serious coding for the following reasons:
- The files can only be saved in the cloud. It means if your file have compile errors, you won’t be able to save your work. There are times you want to save your code even if there are errors: if you need to answer an urgent phone call; if there is fire; if a friend is coming for a coffee. You will want to save the code and fix the error later. However, you can’t do it with developer console.
- If developer console stuck with saving your file – and it happens from time to time, it means you can potentially lose your changes.
- The global search is definitely less effective than IDEs based on local storage.
- There is no project file view as a sidebar.
This is the first part of the IDEs for Salesforce development. All the IDEs covered in this post are free. I will cover more IDEs in the next post.