Why Use an IDE for Your Development
Written by Michael Dorf // March 13, 2011 // Uncategorized // No comments

When developers were only building native desktop applications using compiled languages, it was extremely uncommon for any development work to be done without an IDE or integrated development environment. IDEs provided a necessary set of tools for organizing the various files and resources that went into a desktop application. As today’s web based applications provide richer user experiences, the number of resources and files – CSS, Javascript, HTML, server side code – that must be tracked and organizing has grown exponentially. IDEs once again make sense for developers building the next generation of applications.
The first benefit that an IDE gives is the ability to define a group of files in terms of a project rather than simply as a directory of files. Many IDEs add advanced features to a project such as the ability to store configuration information, deployment settings and even debug and production database settings within the project. This makes it much easier to work on projects because not only are all of the source code files grouped together but so are the necessary settings and configuration to debug those files and to ultimately deploy them.
Another strong feature of an IDE is that most of them support multiple languages. If you’re like me, you may code in several languages based on what the client’s needs are. IDEs developed with multiple language support so that developers could easily migrate from one language to another without having to learn a new way of working. Also, many project incorporate multiple languages. If you think of a typical web project there are technically three or more languages involved â PHP, Javascript, CSS, and HTML.
The language support of an IDE also provides a number of time saving features. Most IDEs provide syntax highlighting and auto completion. This allows you to type the new keyword and have the IDE present you a drop down list of defined classes. These features make writing code faster primarily because they eliminate hard to find typos. They also help a developer visually spot common problems like forgetting a closing brace.
When dealing with object oriented languages, most IDEs also provide another useful feature called class view. Class view allows a developer to browse the classes used by a project and their inheritance. This gives the developer a different view of the project by allowing them to see how the classes in a project fit together regardless of what files contain those classes.
IDEs also provide numerous tools for debugging. In the days of compiled languages, the IDE would compile and run code as part of the debugging. Web development IDEs often have an embedded web server and browser to run both server side and client side code in debug mode. The IDE provides a way of setting breakpoints. Breakpoints are defined points in the code that the system will run until it reaches and then stop. After the code stops at a breakpoint, the IDE provides a way to “look under the hood” at the state of various class instances and variables. The IDE will often also include a debugging console that debug messages can be written too similar to the popular Firebug extension for Firefox.
In addition to debugging, many IDEs have a testing suite built in that allows developers to perform unit and regression testing of code as they develop their projects. Typically these test suites are slimmer and less robust as dedicated testing tools but being able to perform even very basic tests can greatly help improve the quality of code being developed.
When developing on a team, source control and revision control is an absolute necessity. This prevents developers from overwriting changes made by other team members. It also helps the team track the changes being made. Even independent developers can benefit from revision control though. Have you ever repurposed a file only to find that your original version was better. Revision control allows you to easily roll back to an earlier version. Most of the best IDEs have some form of source control integration whether it be an entire integrated solution such as Microsoft’s Visual Source Safe which comes bundled with Visual Studio or simply a connection to an external system such as CVS or Subversion. In any case, the IDE provides a number of convenience features such as being able to checkout files directly from the IDE.
Another helpful feature of many IDEs is a data browser for visually viewing database schema and relationships. It is also common to include a SQL query utility in an IDE. This allows a developer to write and test queries against the database before incorporating those queries into code. Often some simple benchmarking tools will be included that provide useful information such as how long a query took to complete.
Finally, IDEs typically include a number of utilities for deploying a complete project. In the days of desktop applications, this was usually an install wizard type of utility that would package the files and write the necessary scripts to install it. For web applications this can be as simple as an FTP client or a SCP client. Often the IDE will have some simple revision information so that you can click one button to “sync” the files between a production server and the IDE. Only the changed files get resent to the server which saves time.
It should be noted that when it comes to web development there are a number of free and commercial IDEs available. IBM’s open source IDE Eclipse can handle a wide variety of languages including PHP and Python. Adobe’s (formerly Macromedia) Dreamweaver has many of the traditional IDE features and can be used to develop PHP, ASP and JSP based web sites.
If you’ve been doing all of your development work in Vi or Notepad alongside a variety of other tools, it might be time to consider a full featured IDE. Fortunately, there are many choices available including free and open sources systems.





Help us spread the word!