MartinWittemann wrote:
>
> But anyway, I have good news! I took two hours yesterday right after the
> release to play a bit with building a file containing only the qooxdoo OO
> layer which can be used in webworkers, on servers (Rihno and node.js) and
> so on. I managed to get it done and will include it in the framework:
> http://bugzilla.qooxdoo.org/show_bug.cgi?id=3965
>
That is great news. I am making progress with the node/socket.io contrib and
will test it as soon as I can.
Some preliminary report: Socket.IO seems to be robust, but the API is a bit
undercomplex compared with the qooxdoo event/message system. I have
configured it so that you can open a channel to the server with
socket.addChannel("my/channel/*"), which will catch all messages that match
the channel name (using the wildcard system of
qx.event.message.Bus.subscribe). By default, all messages that are sent to
the server will be broadcast to all clients and dispatched as
qx.event.message.Message objects. Thus, so far, it is not possible to
subscribe only to selected channels, just to subscribe to selected messages
on the client itself.
As a demo, I am porting the chat client form the cometd contrib to the new
system. The amount of code needed to implement this demo is incredibly small
using this system, which appears to prove to me that I am on the right
track. Of course, I am still open to be proven wrong.
The server is really lightweight - CPU usage is far below what I am seeing
with Apache/PHP. Serving static files is fast. What needs to be implemented
is a simple caching system so that the server doesn't resend the full static
files on each request. I probably shouldn't reinvent the wheel here and use
one of the static file servers that are offered as a module to node.js,
since I also do not know how caching really works in the http protocol.
Most importantly, one cannot build a backend only on message-passing
(although this is a very fine thing), that is, we do still need the
additional json-rpc server. Martin said that his implementation wouldn't
work with newer releases of node.js -- Martin, can you be more specific
about this?
Finally, two question concerning qooxdoo-contrib:
- Locally, I have created a "Node" folder, containing the "Socket" project
with source and demo, the idea being that it might make sense to group all
node.js projects together. When I check the code in, I can either keep this
structure or move the "Socket" project to the top-level. I would assume you
prefer the latter, but let me know.
- I am going to abandon the cometd project because I think it is a dead-end,
and I see no future for it unless someone rewrites it from scratch. Should
it still be part of qooxdoo-contrib or should I delete it? It is unusable as
it is now.
Cheers,
Christian
--
View this message in context:
http://qooxdoo.678.n2.nabble.com/node-js-and-qooxdoo-tp5345772p5375769.html
Sent from the qooxdoo mailing list archive at Nabble.com.
------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel