Here if you are following me and what I am writing it it obviously that I am fan of Atom text editor. Actually, I was.
I’ve gone through a lot of coding tools over the years, from Dreamweaver to Coda and Sublime I think I’ve tried just about all of them. About two years ago I got tired of switching all the time and thought I found my ultimate solution in Atom. It was fast, free, easily customizable through plugins, build on Node.js, published by GitHub and seemed to do everything I needed it to do. Sounds like a dream, right?
Even after using Atom for over a year I never got past the feeling that a lot of what I was doing with it was a hack or a work around that resulted in a less-than elegant solution. This was true for debugging, deploying and just about any other operation other than simply editing text. Sure there are some good plugins but most of them just never felt complete and the only reason I was putting up with it was that I simply didn’t know anything better. But Atom had some kind of ‘soul’ for me and I was very connected with it by heart. 🙂
While I had been using many different types of editors for my PHP and related work the one step I had never takes with PHP was a full-blown IDE. It’s not that I had anything against IDEs and I in fact used them regularly in grad school for projects involving JAVA and other languages but for PHP the choices were always either an afterthought or just plain clunky. NetBeans, Aptana and Eclipse might have been great projects in their own right but they were slow, buggy and offered no better support for PHP than text editors like Sublime Text and Atom. Tools like an IDE are supposed to improve your workflow yet with PHP all the traditional tools I was familiar with did nothing except slow me down.
In February of this year I moved to another company to work as a lead Web Developer and people here surprised me how they didn’t knew anything about Atom! Here I started explaining to everyone how Atom is great and honestly I felt like I am bringing some news from the God. Like, look here, it is Atom, it is build by GitHub, it is fresh, bla, bla, bla… Than one of my colleagues told me, but look Vladan, we are working with PhpStorm. yes, it is not free, it is not so popular but it does all the job we need and even few times more. My face was like this:
After a month (when I calmed down a little bit) at the insistence of my colleagues I installed PhpStorm and tried it for the first time. People… I was blown away! It can do everything! It can connect to multiple hosts to FTP, connect to multiple databases, do this, that… Come on, listen! It has done more for my workflow and my sanity than any single application I’ve purchased in at least the last year or two. I simply don’t know what I would do without it anymore. Why is that?
This may sound like a small deal but one of the things I really did liked about Atom was the speed. I could start the application and it was ready to use in a second or two at most. This is a stark contrast from traditional IDEs I had tried where I could click the icon, go get a drink and maybe, if I was lucky, it would be ready to use when I got back.
PhpStorm simply removed the advantage held by Atom. Now if I was to hold a stopwatch to it Atom might beat it by a fraction of a second or so but PhpStorm can hold its own with any of the far-less-capable text editors available. I can start it and within a second or two I’m working away. That is so much better than nearly any editor I’ve tried.
While there are extensions to add XDEBUG and phpunit to Sublime Text for instance they are clunky in comparison to mighty PhpStorm. The debugging tools have allowed me to really up my game as I’m no longer wasting valuable development time setting up and trying to interpret the less capable tools in Atom or other stand-alone debugging utilities. It does take a few minutes to setup on a complex project but the intuitive GUI makes it so much easier to setup initially as well as to modify the setup later if needed.
I’m rather picky about my own code and PhpStorm, as a true IDE, makes keeping with the standards I’ve set (mostly the WordPress coding standards) a piece of cake. With one keystroke I can fix all my mistakes across a single file or even a full project, a feature that puts me at ease and helps me keep my code consistent and mistake free.
Thou I am unix lover, and I really like iTerm and Ubuntu terminal, but features like GIT and SVN integration in PhpStorm are more than up to the task of just about everything I do on a daily basis, even working with a very serious projects. Committing, pushing, pulling and reverting are all a key or a click away without the need of tracking down obscure packages or wondering exactly what is in my staging area. This very good for git beginners, it makes everything understandable for them.
Atom is OK here but PhpStorm really knows rocks. From searching projects to saving project settings and tracking down function and variable definitions PhpStorm makes getting around a complex project a breeze. Since I’ve started using it I’ve not only moved all of my projects out of Atom but I’ve also almost completely stopped using trusty tools like Atom and its plugins in my daily workflow as I just don’t need them anymore.
In the end what it comes down to is while tools like Atom might be good enough PhpStorm takes my daily workflow to an entirely new level helping me get more done faster, with less errors. For the foreseeable future I’m hooked on PhpStorm for my real work and I’ll let Atom do what it does best, act as the text editor on my machine.
For the end: Best practises
What is your opinion about PhpStorm? Have you tried it?