Exactly one month ago, we opened the Best PHP IDE of 2014 survey. 4000 entries later, it’s time to share the results with you.
The most popular IDE
This article will focus on the IDE results alone. We’ll analyze the PHP community in general in a future piece after the data has been cleaned to a greater extent. Please note that these are preliminary results, and not much detailed filtering has taken place yet. The data will still be processed and additionally verified. The ballpark is in the correct ranges, but cannot be deemed precise (might be off by a couple dozen in every category – not enough to influence the end result), hence only percentage values will be displayed in the charts. For exact figures, see the raw data.
All-around winner – PhpStorm
In both Personal and Business choice, PhpStorm comes in at first place, Sublime Text is second, and Netbeans third.
We’ve covered PhpStorm before, and it’s no surprise it won due to the strength of its community, but an advantage such as this one in a sample of over 4000 valid responses was certainly not expected. PhpStorm is an offspring of IntelliJ IDEA, the Jetbrains Java IDE, and is basically a stripped down version with PHP support embedded. Due to this plugin based nature, PhpStorm can support other languages just as easily, allowing you to develop NodeJS, Dart, Go and other language apps in the same environment – a priceless perk. Among the most popular arguments with the PhpStorm voters was the fact that it’s super fast considering its size, supports many languages and frameworks both out of the box and via plugins, and is true multi-platform, allowing you to share a single configuration file as easily as pointing to a cloud-hosted reference.
Sublime Text is justifiably second – it’s free (in a WinRAR kind of way), multi platform, and blazing fast. It loads in under a second, instantly reacts to commands, supports projects and has a rich plugin culture with a very vibrant community. It supports the most popular languages and adds more via plugins, and it doesn’t need a whole lot of setting up when configuring a machine from scratch.
Netbeans, the free alternative to PhpStorm, is in third place. It has almost the same functionality, but supports fewer languages and is a bit slower and more resource intensive. Still, an excellent IDE worth anyone’s attention.
Further results show Zend Studio, Eclipse with PDT and Notepad++ as popular, though none coming close to the percentages the top three boast.
Some participant comments
I’m not kidding when I say there were hundreds of amazing answers – and yes, I did read most of them. Picking the most notable ones was more random than deterministic, so if you’re interested in looking through the rest, the data is at your disposal.
Jeremy Dove chose Sublime Text: I only build mostly small few page applications. I require something to be cross platform and lightweight.
This makes sense. When you only work in small projects, there’s no need to lug a behemoth such as PhpStorm around, even if it is multi-platform.
Lichai Cohn chose PhpStorm: With an IDE there’s always the problem of speed vs functionality. I wouldn’t call PHPStorm the perfect IDE, just the least bad one. Of all the IDEs I have tried this is the fastest. If speed is so important, why not use a text editor? An IDE comes with so much more extra power that I’m willing to trade some speed for functionality. PHPStorm’s main problem is that bugs are not resolved, while new features are being added. This will eventually make me try other IDEs again, but for now none of the other IDEs are better.
I share his sentiment – PhpStorm is indeed very fast, and really does take its time with bugs. But that’s the state of software these days – look at browsers, the most used type of software by far, second only to Operating Systems. Each competing with the other in adding new features, but leaving bugs unfixed for decades – the desire to beat other vendors is so strong, the errors are simply swept under the rug. The developers are aware that new features are far more noticeable than bug fixes and, sadly, that’s where their focus lies.
Joe Campo chose Netbeans: I use to use DevPHP, but when I needed a full fledged IDE with version control etc. I tried Netbeans. I became comfortable with it. Since I’ve tried other IDEs, some even with better features, but I have difficulty switching. I find myself moving back to Netbeans as I feel comfortable.
Comfort does indeed play a large part – I can relate. I’ve used Zend Studio 6 for years while working on a large Zend project for my first employer. It became second nature, and it seemed entirely sufficient. I tried Netbeans at the behest of some colleagues and was instantly enamored. Not a single crash in days of constant always-on usage, fast response times, rich plugin architecture, superb keyboard shortcuts. From that moment on, I kept looking for something ever better and never stopped. Stepping out of the comfort zone is the hardest step, but also the most important one.
Sherwin chose Dreamweaver: At work we prefer to use Dreamweaver for several reasons. The first reason is we develop on both PC and Mac. The second reason is that we like how the IDE uses different colors to represent functions, classes, etc. There are many ways to configure DW to fit our way of programming. The third reason is the support for multiple developers. It has a simple check-in/check-out system. We would like to get into GIT but in our work environment, we are hardly given any time to research alternatives nor funding. We don’t use DW’s “auto coding”. We build things from scratch using CodeIgniter as the framework. DW’s “auto coding” is too bloated and it doesn’t do everything we need. We mainly use it as a “text editor on steroids”.
We have tried Notepad++ which is great but unfortunately it’s only available in Windows. It also doesn’t have an easy to use check-in/check-out system. We also tried TextMate, but it’s only for Mac. Our close second place IDE of choice is Aptana. Not only is it free but does what DW does, but better specially when managing indentation and auto-completion of codes. Unfortunately, it doesn’t have an easy to use check-in/check-out system.
One of the more intriguing comments – this one felt like reading someone trying to justify WordPress as “good enough” for large projects. I’m honestly surprised at this – Git takes at most a day to learn, at least the basics, and every decent editor out there has good support for it. If you’re not using the WYSIWYG functionality of DW, then what good is it? Every editor has code highlighting, many have multi-platform support and plugins. Notepad++ is generally considered Sublime Text’s baby brother, and Sublime is true multi-platform, built from scratch for every one without running in a VM which is why I find this answer particularly interesting.
Learn PHP for free!
Make the leap into server-side programming with a comprehensive cover of PHP & MySQL.
RRP $11.95Yours absolutely free
Chuck Burgess chose Eclipse with PDT: Eclipse was my original FOSS choice from my pre-PHP days doing Java. Other IDEs I tentatively experimented with over time were different enough workflow-wise that my comfort level with Eclipse & PDT trumped them. I can’t recall any aspect of Eclipse that discouraged me from working efficiently.
Another comfort related response. Interestingly, this type of response seems common among older developers – in the 40+ group. Are we losing our versatility and adaptiveness to new technologies as we grow older? Do we become “old farts”, willing to reject anything new for the sake of retaining the comfort of what we’re used to? Do we become so content with what we’ve got, we lose the desire to try anything new even if there’s a chance it might be better in the long run? Maybe we feel like we’re past the “long run”?
Bryan chose Vim: Textmate, Eclipse, Xcode. Continue moving back to Vim because it available everywhere (on servers etc).
Many “Vim” answers use the same argument – “available everywhere”. Indeed, this widespread availability is a wonderful perk – mastering a single editor fully and then having it available by default almost anywhere must be a huge production boost. I have personally never gotten familiar enough with Vim to be comfortable in it, but I can imagine the development flow is very smooth for Vim pros, especially when switching machines.
Mohammad Alhobayyeb chose Eclipse with PDT: I like perspectives because I use it for Android too. So I just want to learn ONE IDE for ALL.
Perspectives are a neat feature, but it seems like most people look for IDEs and Editors and then stop dead in their tracks as soon as they find one that’s “good enough”, instead of continuing the search for “perfect”. If “one to rule them all” is really the only parameter – there are many alternatives to this, the most powerful one being IntelliJ IDEA.
What do you think? Why are we so hung up on our editors and IDEs, refusing to give a chance to others even when we know deep down that there’s a chance the new kid on the block did it better? Let us know in the comments below, let’s discuss.
The choice of IDEs is great, but we hope we’ve made it easier now. There’s no progress without competition and, hopefully, these results will encourage other vendors to up their game in both features and community engagement. Thank you all very much for participating – all the winners have been notified, and due to the high volume of responses we selected nine instead of three winners.
If you’d like to download the data for your own use, you can get it from this Fusion table. Please let me know if you run into problems, and I’ll do my best to make other methods available. The charts above were generated in the same Google Fusion Table – an excellent data visualization and processing tool, sort of a supplement to Google Sheets. If you’d like to learn how to use them, there’s a pretty great course you can go through in a day over at Google.
If you process the data and make interesting visualizations, let us know and we’ll make sure we feature them on this channel.
Jump Start Git, 2nd Edition
Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers