The power of a what what what?! I hear you exasperatedly cry into your computer monitor. An IDE, my dear reader, is one of those handy acronyms we love to throw about in the Developmental community. It stands for Integrated Development Environment.
What is an Integrated Development Environment?
So what is an Integrated Development Environment, I hear you ask. Never fear, I have the answer! An Integrated Development Environment (or IDE, for short, let’s not boost the word count of this blog post too much) is a software toolkit which all developers should either use, or at least know about.
What does an IDE do?
You can think of an IDE as the equivalent to Microsoft Word for writers. A good IDE will step in and be your developmental assistant. It will notice any mistakes you make and highlight them with a little red underline. A bit like when you make a spelling mistake in Microsoft Word.
I must confess, by comparing an IDE to Microsoft Word I may have been understating the power of an IDE. It can do so much more than highlight your mistakes. For example:
A good IDE will autocomplete your code for you, and offer handy shortcuts for you to write in your own shorthand and then expand it automatically.
Version Control Integration
Another nice feature is integration with Git or Subversion – which are version control systems so that every change is logged in it’s own changeset, meaning you can revert to a change if you decide that it is the wrong approach. A lot of IDE’s come with this as standard right from within the editor, so you don’t even have to leave the program.
This is now actually pretty standard for programs which aren’t IDE’s, but all good IDE’s should come with Syntax Highlighting. This is where code is highlighted in different
colours based on what it does. A function gets a certain colour, a css class gets a different colour, and it helps developers differentiate at a glance what is what.
An IDE will also help you perform programmatic tests, for Test Driven Development. This is achieved through a small program called PHPUnit which runs the code and reports any errors. This is especially useful for back end developers who cannot really run their code in a web browser without some hassle.
A lot of IDE’s come with XDebug as standard which means they actually RUN your code as you write it, and then reporting errors inline. This again means you do not need to run your code in a browser, you never have to leave the IDE.
Much, MUCH more.
I am really not doing justice to the sheer power of most IDE’s. The simple fact is that most IDE’s features are not things I have needed on a daily basis, and therefore cannot represent them adequately.
What IDE’s are there?
It’s worth noting here that we here at Fifteen tend to opt for Sublime Text as our Development Environment, using only the parts of an IDE which we need, as it’s more lightweight and often faster for what we need to do.
If you’d like to learn more about Sublime Text please see Pav’s blog on Sublime Text and the Packages we use to make it better for our own workflow.
The big daddy. Zend Studio has been around for many years and does all of the things I mentioned and more. It isn’t free software and is licensed per version, though one version of Zend Studio will last you for years. You can find out more at http://www.zend.com/en/products/studio
PHPStorm again is a paid for IDE, and is not as heavy as some IDE’s out there, having been written in Adobe’s AIR platform. This doesn’t take away from it’s power, and it’s pricetag is a bit smaller than Zend Studio’s. You can find out more at https://www.jetbrains.com/phpstorm/
Microsoft Visual Studio
Microsoft’s Visual Studio offers the same as the above, but it is written by Microsoft and so will be guaranteed to work better on your Windows machines. It also offers a free option as well as two paid tiers, so if you’re looking for a nice Free IDE, check this out: https://www.visualstudio.com/vs/
Eclipse is what Zend Studio is built on top of, it’s an Open Source IDE which has thousands of contributors to it. It’s also free! So if you tried the Zend Studio free trial but cannot afford the pricetag, Eclipse will feel very familiar: https://eclipse.org/downloads/
I’m a new Web Developer, do I really need an IDE?