views:

87

answers:

5

Edit: The question concerns 100% web development only. Please do not relate the question to desktop development. Please read the entire question before responding.

I am certainly interested if there is currently any interest in developing PHP applications in a more desktop-like fashion. I mean something like the classic WebForms implementation of ASP.NET where components encapsulating the domain, the business and the UI logic are sort of put together in a page(the application) and they "talk" to each other through events that are handled by the master app. Additionally the master page could set some component parameters when declaring them. It might not be the choice of the day for many developers, but certainly there are uses for that, just as there are uses for ASP.NET - heavy data centric applications, intranet apps, or applications, where certain component logic is to be reused many times with different input parameters, and different results are expected.

From what I know, there used to be something like this - a framework called PRADO, of whose existence I am no longer sure. The site is still there, but I guess that community work is slow.

I will be glad to hear answers, and of course criticism. I will be glad to know any current development, and why not, use cases for that.

+1  A: 

do you mean something like php-GTK ? http://gtk.php.net/

or more like RIApplications like Flash on the client and php/flex on server side ?

Rufinus
I hope that my question is clear enough. I am strictly talking about web development here. Consider ASP.NET WebForms as the primary example
A: 

There is a great piece of software Delphi4PHP that allows you to do do php development/component creation like asp.net that is visual studio or visually. It also has great visual library VLC (Visual Component Library) which allows you to create elements using the drag and drop support.

Sarfraz
A: 

Considering the acronym for PHP stands for (PHP) Hypertext Preprocessor, and all the methods to get PHP used for desktop development is essentially a hack, I'd so no. Definitely not natively.

I'd advise leaving PHP for pre-processing hyper-text and dedicated solutions for building desktop software ;-)

Martin Bean
+1  A: 

You may have a look at Tigermouse Framework I developed years ago. It seems to be exactly what you are looking for. It has this web-form approach, where you define views and forms, put other controls on it and assign events which then are handled on server side.

Have a look a this simple Drag-n-drop shopping cart app and see the source code.

Michał Rudnicki
A: 

You seem to be a bit confused about what you are trying to achieve here.

Prado does a lot to bind together client side events with server side processing. Its not about structuring complex logic logic. Also PHP does not lend itself to a conventional applications server model such as that implemented by Java or ASP.NET - however INHO that is not a bad thing when the reason for having application servers is mostly to overcome the short-comings of these languages for web development. OTOH there are a very small number of areas where the shared nothing model of PHP can be obtrusive (consider the problem of file lock queuing, for example).

Presumably from your description of ASP.NET you think that PHP is not suitable for these kind of tasks? If only there was some way I could reuse the same class in different contexts? (!!!!!!)

My beef with most of the toolkits/frameworks for PHP is they attempt to provide for everyones needs and end up being somewhat poor in specific areas. That's not to say that aren't good focussed tools out there, e.g. ADOdb, jpgraph, Smarty. Some time ago I worked on a form painter tool intended to be integrated with PHP apps (PfP Studio) maybe one day I'll get round to finishing it off. However there is certainly plenty of choice as to which framework you use without having to resort to abstract representations such as those used by Prado or metabase. CakePHP, Symfony, Zend and Horde spring to mind but there are others. I guess the difference with PHP compared to .NET or J2EE is nobody's telling you that you must use their solution.

C.

symcbean