Which Online IDE Rocks?
IDE forSean = Cloud.IDE.FindMatch(FullFeatured && Fast && Simple);
NOTE: This article originally appeared on my blog at SeanOttey.com
I have been looking for years for a reliable, online, full featured development environment. Sure, there are VPN’s and VM’s that can be used to, effectively, work on another computer. This had a ton of heavy lifting required for networking and configuration. Nothing is as simple as a web connection and a browser.
Well, I am back to looking for my “dev home in the cloud” again. And there are a TON of players in this space. Some focus on a single technology or stack (LAMP, Node.js, etc.), but some are pretty language agnostic and play nicely with different sources for your files (FTP, Cloud Storage…). I chose two to take a closer look. Mostly I chose these two because they fit my needs most closely. (I have added a list of other candidates to the end of the article.)
I will be looking at different angles of the two cloud IDE’s so you can focus on what matters to you. The sections of this article are as follows:
- Text Editing
- File System Support
- Contact Info
Within each of these I will break out the good and bad for both IDE’s. Note that I won’t be giving a final “either/or” as both are pretty great and one may be a better fit for one person while the other may not.
Another note: Currently I am doing some PHP development. Admittedly, this article will lean towards that. As a result, debugging and deployment features, while mentioned, are not a focal point for me at this time. I would LOVE to hear from those of you that try one or the other and have thoughts on these features!
So let’s get going!!!!
JUST BE FAST
Speed of the site is a difficult one to pin down, as both have projects loaded from external file systems. Using my hosting provider (Name.com) I connected both via FTP and saw the following:
CodeAnywhere loading up the IDE to usable at about 8 seconds.
ShiftEdit is a bit faster at about 4 seconds. While that is twice as fast, we are talking about the initial heavy lifting here, not the minute by minute usage. Both are fast enough to not be noticeable during regular use.
STARING AT TEXT ALL DAY
The majority of time, once your projects are set up, is going to be spent editing text. Source code, Markdown, configuration files, readme.txt files, etc. This is one of the cornerstones of a good IDE: Intuitive, simple editing which keeps the tool out of the way of the work.
ShiftEdit supports a ton of file types, everything from PHP and Python to C#, Java, OCaml and more. Selecting File|New you get a list of filet ypes you can use which helps you know what syntax highlighting is supported. The editor feels fast and has many of the bells and whistles you might want such as Line Editing, Beautification of source, Line Numbering and other “toggle-able” options.
CodeAnywhere has these features as well, but also has many more. One of the features I find most handy is the “code folding” allowing you to collapse blocks of code to make things less cluttered.
Both have the standard functionality of auto-saving, IDE configuration choices (hide explorer, etc.) but many of the preferences in CodeAnywhereare in configuration files with no UI for editing them other than the text editor (See notes in summary about coming changes to this). ShiftEdit has a preferences window where most of these live.
WHERE IS THAT ONE THING?
In large projects, search is something that is impossible to live without. Being able to search a file, a folder or even an entire project for that elusive method is an absolute must. Sadly, in the online IDE’s, it isn’t quite there yet.
ShiftEdit handles Search through an icon in the project area. Clicking on that tab gives you a search pane on the left side of the screen which provides the ability to search the current selection, the current document, all open documents or the entire remote site. While results are solid, the time searching takes is a bit of a drawback, especially when searching the entire site. Granted, this is primarily because of the fact that the files are remote to you AND to ShiftEdit. I can’t fault them for that, but it does make me miss the speed of the Visual Studio “Find In Files”.
CodeAnywhere also handles find in a non modal way. In fact I almost didn’t see the search box that appears when you select “Find” from the menu. It appears as a single text line at the bottom of the page.
Unfortunately, CodeAnywhere doesn’t support any searches other than the current file. This makes for finding things in the project pretty difficult (See notes in summary about coming changes to this!).
WHAT ABOUT THE EXTRA COOL STUFF?
Certainly both IDE’s have some pretty cool, distinct features that I wanted to point out.
CodeAnywhere has a pretty nice “scrubber” view on the right side of the editor which shows the entire document you are viewing. It allows you to drag the mouse on it to change the viewablearea of the document. Much faster than the scroll bar. I did notice a bug where, if the file is less than a screen long, “scrubbing” results in half the file appearing blank. Clicking back in the file restores the view.
CodeAnywhere also has the ability to share with others very easily from the toolbar. I could see this being very handy for collaboration as well as code reviews.
ShiftEdit has easily collapsible panels allowing you to simply click on a bar to have that panel shuffle off to the side of the screen. While you can do this by clicking and moving the width of a panel in CodeAnywhere, it isn’t as helpful as clicking things in and out in ShiftEdit.
ShiftEdit has greater support for code syntax as well, constantly monitoring the current file for language violations. The response is almost immediate and has saved me a ton of time by not having to go take a look at my live page to see if there is an issue.
I AM A PEOPLE PERSON!!!
Collaboration when coding is often helpful. With distributed teams and large projects it is an absolute must. Both of the IDE’s support collaboration, however I only saw what they were offering and didn’t have an opportunity to try them out.
CodeAnywhere only provides chat in their paid versions. As I didn’t sign up, and I don’t have a team working on the platform, I wasn’t able to try these. I assume that it is a simple, in-app chat.
ShiftEdit also has chat available for paid users. As I said, I wasn’t working with others so I am not sure just how the chat functionality works, but I assume that you can simply chat with other people working on your project.
All this said, having a chat window of your choice open (Hangouts, Lync, whatever) is pretty simple and easy. I would be interested to hear what additional functionality is available from these two IDE’s that would be more helpful.
YOU GOTTA PUT STUFF SOMEWHERE
Ultimately, the files have to live somewhere. Whether they are on an FTP site, a cloud provider or some other storage, files have to be saved somewhere. Both of our IDE’s provide a ton of options:
ShiftEdit supports a wide array of file systems. One that they support that CodeAnywhere doesn’t is WebDAV. If you need that, they are the way to go.
- ShiftEdit Supported File Systems:
- Amazon S3
CodeAnywhere supports a similar array of file systems, but adds in Containers (awesome) and BitBucket as well as Digital Oceans hosting.
- CodeAnywhere Supported File Systems:
- Git URL
- Amazon S3
- Digital Ocean
BUT DOES IT LOOK AMAZING?!?!?!
Design is a very subjective thing. Additionally, both of these IDE’s have the ability to change the theme to your liking. For our purposes here, I am going to focus on the out of the box experience.
CodeAnywhere is dark. DARK dark. With a dark grey base color and an off white default text color, it is very washed out.
Changing themes in CodeAnywhere means changing a config file. Yes, there is a menu item for Preferences (not only general preferences (read only), but also at the project and user level! This is super sweet), but the menu item simply opens a configuration file. Not a great experience (See notes in summary about coming changes to this). I will say, when I changed the theme, I loved the “White” theme with the Eclipse color scheme…
ShiftEdit, on the other hand, has a much more friendly configuration process. Select Edit|Preferences and a panel pops out and gives you a ton of themes as well as options. Simple, easy.
SO WHAT IS THIS GONNA COST ME?
Ok. Here is the last thing you should be thinking about when choosing your tools of trade. The best tool will often do the best job and, sometimes, great tools cost money. Not this time.
Both IDE’s have free versions that are much more than just passable. Both have completely free implementations that have everything you will need.
In fact, almost to a fault… I use the phrase “Freemium Horizon” when talking about sites and tools that have a freemium model. The Freemium Horizon is the line between free and not free. You want to expose enough of your product to get people excited, yet have features that are “must haves” on the paid side of the model.
Both of these IDE’s could probably move more functionality into their paid model. But don’t tell them I said that
ShiftEdit has two types of accounts, Standard and Premier:
- Standard (free)
- Limited to 1 project
- Premier ($6.00/month or $60.00/year)
- Unlimited Projects
- Real Time Collaboration
- Revision History
CodeAnywhere has many more pricing tiers:
- IDE Access
- 1 Project
- Starter: ($3.00/month or $24.00/year)
- Everything from the previous Tiers
- Premium Support
- Real Time Collaboration
- Freelancer: ($10.00/month or $84.00/year)
- Everything from the previous Tiers
- Up to 50 FTP connections
- 1 Always on container
- Multiple connections to the cloud
- Pro: ($25.00/month or $240.00/year)
- Unlimited FTP connections
- Multiple users
- “Extra Security”
- Everything from the previous Tiers
- Business: ($50.00/month or $480.00/year)
- Unlimited cloud
- Unlimited shares
- 30 containers
- 6 always on containers
WHAT DOES THIS ALL MEAN?
I told you in the beginning all I could do was tell you about these. Both are solid performers with almost no bugs/issues encountered during my use. Both are fast, have great feature sets and work well.
Which one will I use going forward? At the moment I find myself leaning towards ShiftEdit (see notes below about upcoming changes to the IDE’s that may change my mind). The configuration stuff is a big deal, the load times are faster and it just “feels” faster.
That being said, CodeAnywhere “feels” like a more robust app. More “app like”. If I needed to make a decision about which IDE to have my team at work use, I would go with the CodeAnywhere Business account. Also: CONTAINERS!
UPDATE NOTE: I made this article available to both companies, and received some very encouraging news:
CodeAnywhere has informed me that not only are they soon releasing a UI for their configuration functionality, but searching across files is also coming soon! Both of these are game changers for me. Not only to get me from ShiftEdit to CodeAnywhere for free but also to get me as a paid subscriber! I hope to see these changes soon.
I also provided the article to ShiftEdit and it looks like they are now supporting containers for premium subscribers in their dev channel. Super excited to try this out!
WHERE CAN I FIND THEM?
HOW CAN I CONTACT YOU?
If you have questions, comments or recommendations of other IDE’s, let me know over at http://Evangelist.Ninja or contact me at firstname.lastname@example.org