Monday, February 19, 2007

Integrated Development Environment (IDE) for PHP

While searching the net for FrontPage replacement, I have stumbled upon this article, 10 things a PHP IDE has to have. I however, somewhat agreed to all the points written. IDE stands for Integrated Development Environment and as such should be a collection of tools and gadget in order to ease the development of products being intended for.

First IDE
Being a season developer for nearly 2 decades, I have come across many kind of IDE for all kind of languages. Most of my programming skills I learn from trying to develop my own IDE using the targeted programming language itself. For example, I started programming in 1989 using assembly language to develop the IDE for own use. Due to a busy schedule, it takes me nearly 2 years to complete that.

Finally, I have an IDE which is less than 30 kb in size. Yes, it is 30 kilobytes. Features included color coded, pull down menu (it was in MS DOS environment, so pull down menu is really cools, IMHO) and use very low memory. I you come from old schools like me, you will appreciate how precious RAM (Random Access Memory) is in that good old days. I have a PC running at 12Mhz, 20 MB (megabytes) of hard disk and 1MB of RAM. It was the fastest in town and I was a very proud owner. But, the maximum RAM usable is only 640kb and having an application that make use only a fraction of memory is very useful. Well, it was a sweet history.

IDE For Web Development
Now, back to cyber world. As I said, I have been using FrontPage for many years since the first Front Page Express is available free from Microsoft - WYSIWYG editor with minimal coding. It help me up and running rather quickly with my web pages. I have been developing web pages just for fun. I have tried many other tools like HomeSite but most of it falls short of my expectation. I don't really explore other tools and they are mostly very expensive and bloated with unused features. I want a plain vanilla HTML page. No messy code for ActiveX plug in. No Flash as it really slow. I hate Flash enabled web site. It is only as smart as the developer who designed it. And sorry to say, most of them are slow because of high resolution graphics. There are many cases where I just abandoned the site once I see that the web site uses Flash. Sorry guys.

Microsoft FrontPage
Firstly, what I really want is a fast IDE. In this sense, FrontPage is good. It loads fast and it gives you the control on the directory structure. The files are easily managed. It has drag and drop feature everywhere. It is not bloated with nonsense features like its competitor. It help you get the job done faster and easier. FrontPage also support template. You designed the layout once and only worry about the content later.

But what I don't like about FrontPage is the additional files that it created for FrontPage Extension web server. If you removed, it will be created again and again. It rather annoys you. Also, if these files / folders are removed, Front Page won't recognized the whole directory structure as a web. Another thing about FrontPage is the publishing wizard. I simply don't like it.

Another annoying thing about this utility is that it change all the links to reflect local folders layout. The publishing wizard will change this to the actual URL later. And of course you need to use FrontPage to publish to the server. If for same reason you need to publish using FTP and not using FrontPage, then you will be in trouble. All the URL links are messed up.

Most of the time, Linux server does not support FrontPage extension. (Well some of them say so but I have NEVER succeeded publishing a FrontPage website until now). My current server now do support Frontpage Extension but I just disable the option to preserve resources.

My Wish List
So, what is next? On top of what is mention in the article 10 things a PHP IDE has to have, I will add some more here.
  • What you see is what you get (WYSIWYG) HTML Editor. Reason - When I do PHP development, I always do rapid prototyping to see how it looks like on visitors browser. Once I satisfied, then I would do the coding or come up with a HTML template page.
  • Site Wizard. Yes, a wizard that will churn out a new site in seconds with a few clicks of mouse button. This is also for rapid prototyping when trying out new ideas.
  • Source Safe or CVS integration. It is really a must nowadays. Most people work in group. Also, to avoid point #8 in the article, version control is a way to go.
  • FTP enabled publishing and quick editing. After you upload, most of the time you need to change the configuration file to match the live server as oppose to local development server. A simple download->edit>upload cycle would be very handy. Also, a publishing wizard is required to keep track of files changes and when the editing/upload was done to the file. It is more important when the project is done in a group of several programmer.
  • Intuitive and up to date user interface. I have to admit that I am biased towards Windows graphical user interface. I am so complacent with it such that I feel awkward if the application does not confirm to Windoze GUI guidelines. Probably, it is just me. :)

1 comment:

anna harris said...

Netbeans is best IDE for PHP based website for the following purpose basic relevant framework, Recycle and Re-use, Simplicity is the Best Policy and Proper Documentation for speedy PHP Development.