PHP IDEs III - Delphi for PHP
Home Tutorials Reviews Weblog

Review: PHP IDE-Integrated Development Environs I
Feature: Delphi for PHP sets a new standard for a PHP IDE
For a long time I have been hectoring the troops at Borland for abandoning their JavaScript IDE, Intrabuilder, which brought a full Visual Layout, Line-by-line Debugging, multi-talented Editor to the World of JavaScript. The kicker - this tool was available in 1998.

Given that date, Borland could have set the standard for JavaScript widgets, database connections, XML support, and even Web Service routines. Instead, the market has seen a proliferation of "scripting frameworks" for all of these different JavaScript processes. The resulting confusion in the market is such that rampant diversity as much as security concerns is threatening Web 2.0 development. Simply put there is too much clash and incompatibility in so many different frameworks. Sound like a repeat of the SQL RDBMS world ? Or even perhaps the PHP world? Maybe those gals and guys at Sun had it right when they refused to go Open Source on Java before its time.

Well Borland has changed gears and brought out its Delphi for PHP IDE and delivers the first PHP IDE that delivers on all five key PHP IDE features - Smart Editor, Visual Form Layout, Interactive Debugger, IDE Scripting and Team Development. And CodeGear/Borland adds to those features with Profiling and JavaScript Integration. In short this is the closest to a complete PHP IDE in the market - just check the features in the table below which highlights in green where features are fully supported and in yellow where there is at least partial support.
   
Delphi for PHP Support of Key PHP IDE Features
IDE Feature
Payoff
Editor - code completion and syntax coloring faster development, fewer coding errors
Editor - auto line-numbering, code collapsing, comments ease of finding returned error codes in testing
Editor - class, function tree faster code navigation, and code checking
Editor - code snippets and templates faster, safer code development using tested code
Editor - built-in database explorer able to confirm and set database properties quickly
Debugger - display runtime results in IDE convenience and speed of debugging
Debugger - step through source code track down bugs more completely and quickly
Debugger - user breakpoints and watches see variables at the suspected "scene of the crime"
Debugger - assign a variable a new value prolong getting useful results from debug session
Debugger - server-side as well as client-side support prevent black-hole doubts where error is occurring
Visual Layout - use of drag and drop components better prototyping of apps look and feel
Visual Layout - alignment, spacing, sizing options faster fixes for many styling changes
Visual Layout - properties table for widget attributes more precise control of customizations
Visual Layout - multiple layout and boundary conditions what happens on resizing of widget or whole window
Visual Layout - database, Web Service aware widgets dialog-based customization of tricky coding
Scripting - variables and if conditions simple replacement templates, customize rote tasks
Scripting - loops and file reads advanced template-driven code generation, testing
Team - check, in checkout basic safety net of concurrency control
Team - collaboration, shared task list, messaging crucial for dispersed development teams

Delphi for PHP

Now there is no denying that Delphi for PHP brings a very powerful IDE to the PHP table. But my questions are threefold:
1)Is it too complicated for PHP coders used to Visual Notepad or Vi as their developer tool of choice ?
2)Is it too specific with its dependence on the VCL Classes for much of components and form technology ?
3)Could you use this to help customize Open Source PHP code like Drupal, Gallery or WordPress ?
First, yes Delphi for PHP is too sophisticated for many PHP coders that really have set up their own templates and snippets in Visual Vi and are comfortable there. But Visual Studio/ASP coders and Eclipse/Netbeans coders doing Struts/JSP/JSF work will be at home in Delphi for PHP. In fact they will find its debugging and database explorer tools a notch above. And most importantly, for big PHP projects they will find that Delphi for PHP can be very helpful.

Second, Delphi for PHP does depend on the VCL for PHP's class framework. In turn, its whole component and GUI system are driven off of this unique and very capable framework. However, there are two very big problems with VCL for PHP: a)it like the Delphi for PHP IDE is rich but also complicated with a significant learning curve and b) it competes against an array of other component frameworks and has a very small market share. In other areas such as database connectivity, transactional processing, and some client processing - Delphi for PHP uses either popular PHP routines like ADODB, Smarty, Pear among others or JavaScript libraries like Dojo, jQuery, qooxdoo and others.

So if you are doing intensively Web 2.0 GUI apps in PHP, you may want to evaluate very carefully how well you think the VCL for PHP a)measures up and b)will do as the market evolves. VCL for PHP does not yet have RAIA capabilities - the ability to run in any mode (PC Desktop, web browser, or mobile device) and in either online or offline mode. Also the need to run in any OS environ (Windows, Apple, Linux, Unix and a host of mobile OS platforms) seems like a natural until you have to run offline on Apple without Web browser support. Ditto for a mobile app running under Symbian or Android. But, hey these are the same issues confronting AJAX developers who also have many competing GUI frameworks and just the glimmer of offline operations in Google Gears and Firefox 3 offline capabilities.

The third and final question is can Delphi for PHP be usefully employed on large PHP projects that do not use the VCL for PHP framework ? Well I tried a simplified approach to using Magpie's RSS library. This comprises over 2 dozen separate PHP files with its own simple JavaScript framework. I made no attempt to convert the RSS menus to VCL for PHP, but rather worked on extensions to allow for rating the most popular RSS feeds. And Delphi for PHP certainly did help in the editing, debugging and constant database results checking in the IDE's Database Explorer. Now this is about 10,000 lines of code tops - about 1/10th the size of systems like Gallery, Moodle, or WordPress. So though I was surprised how easily the project worked, I am still from Missouri about profitably editing/customizing large PHP code or projects.

Summary

There is good news and bad news here. The good news is that Delphi for PHP is really the best PHP IDE on the market by far. Delphi for PHP is really well equipped for developing medium to large PHP "greensite" programs. Its critical VCL for PHP GUI library has the nice property of being Open Source, and directly customizable by users - all the documentation as well as source code is available. The bad news is the following two questions are still open to debate: 1)will VCL for PHP become a large vibrant PHP GUI framework and 2)will it develop efficient offline as well as online capabilities? I suspect the answer to question 2) - that will largely answer question 1). Unfortunately, my crystal ball becomes hazy at this point.

Top of Page  Home  Tutorials  Developers Weblog  Graphics Reviews and Tips