Christian Boulanger wrote:
Writing an application server (which this will be) is a tall order.
Not in
the sense that the coding is necessarily hard to do, but gaining
community
support and interest in it and growing its featureset in a standard and
controlled manner. There are already a lot of frameworks out there
that we
can integrate with much faster than writing our own. It also gives us
access
to already existing communities.
If there is one, I will happily take it, we don't need to reinvent the
wheel. I have so far not found one that can do the things I have
outlined. But maybe more research is needed.
I don't believe we're proposing to build an application server. To me,
an application server does things like provide thread management,
concurrent request handling, security, management integration,
transaction management, web server capabilities, web service
interoperability etc. The proposal for this project is essentially an
XML layer with client-side Qooxdoo widgets that are optimised to use a
standard set of server-side callbacks, and those server-side callbacks
are achieved using a remoting protocol that is language independent and
thus can be implemented using the server-side language of each
developer's choice.
IMHO we should focus on a phased approach that will publish
components as
they become available so they can be used much faster than a complete
framework. Something like this:
1) XML standard to describe a qooxdoo app
2) Implement the loading of the XML into a qooxdoo application
3) Define and implement an event callback system that can trigger
server-side code based on UI events
4) Integrate the above components with several popular frameworks
Looks excellent to me.
Has anyone taken a good look at XUL? It seems to achieve much of what we
have in mind. It could be a source for a lot of inspiration on how to
separate JavaScript from the XML-defined user interface files, and also
structuring deployment files. We could conceivably write a Qooxdoo class
call QxLauncher, which hits a URL to download and execute an archive
file containing the Qooxdoo application.
We can then do several things. We can standardize and abstract the
XML to
encompass other frameworks like dojo. Same for the callback system.
We could
also based on all common requirements develop a specification that a
server-side framework should follow to fully support our UI XML
standard. If
no other framework steps up to the plate to implement the standrd
fully we
can write our own extensions for other frameworks or we can then
decide to
implement our own.
Agreed!
I don't agree the XML language should be abstracted and not specific to
Qooxdoo. Whilst abstraction makes something general purpose, it comes at
the cost of less power and generally more verboseness. If we wanted to
write a framework that can parse some sort of existing XML language, we
might as well focus on providing a Qooxdoo port of XUL. At least there
are a variety of other ports, giving some justification to the effort
and supporting what is effectively a de facto standard for this sort of
thing.
The other alternative is to develop an inversion of control (IoC)
container for Qooxdoo. An IoC container could be sufficiently
general-purpose that it can instantiate Qooxdoo classes from XML
definitions. I'm involved in the Spring Framework
(http://springframework.org), which provides this sort of capability.
It's possible to build user interfaces on top of an IoC container, as
the Spring Rich project demonstrates. An IoC approach for Qooxdoo would
have some significant value, and indeed IoC more generally would be
something that could be developed outside of Qooxdoo (the whole concept
of IoC is to avoid framework dependence, so neither Qooxdoo would depend
on the IoC framework nor would the IoC framework be designed with
Qooxdoo in mind). For those not familiar with IoC, it's probably worth
doing a Google as this would represent a good opportunity to decouple
application configuration from actual JavaScript code.
Cheers
Ben
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel