Further update:

I just checked in the NodeSocket Contribution into qooxdoo-contrib:

http://qooxdoo-contrib.svn.sourceforge.net/viewvc/qooxdoo-contrib/trunk/qooxdoo-contrib/NodeSocket/trunk/

Here's a screenshot:
http://qooxdoo.678.n2.nabble.com/file/n5379905/Bild_1.png 

If you look at the server code:

http://qooxdoo-contrib.svn.sourceforge.net/viewvc/qooxdoo-contrib/trunk/qooxdoo-contrib/NodeSocket/trunk/demo/default/socket/server.js?revision=20608&view=markup

and see how little code is necessary to make this work, you might understand
why I am so excited about this technology. 

BTW, I used the new virtual list to keep up an up-to-date member list on all
clients.

Unfortunately, the socket.IO code uses "for( var i in array)" instead of
"for ( var i=0; i< array.length; i++)" which doesn't seem to work with
qooxdoo, so I had to patch the socket.io code and ship it with the contrib
-- which is more comfortable for trying it out - but I don't know about the
compatibility of the MIT licence with the qooxdoo licenses. Probably in the
released version, the socket.io code should be downloaded separately. 

I don't have time to provide a public demo, so if you're interested, you'll
need to download and install the demo yourself. Here's the readme:

Node.js/Socket.io Wrapper
=========================

This contribution wraps the Socket.IO event transport for use in qooxdoo.

See http://socket.io/

Of course, you can use Socket.IO directly without this wrapper. What this
contribution does is to integrate the Socket.IO events into the qooxdoo
message bus so that there is a uniform message passing system that bridges
the server-client gap. This also means that the underlying implementation
can be easily switched without any code change.  

See the demo for your usual chat application. 

Installation:
=============

- Install the node.js server as instructed at http://www.nodejs.org/
- Currently, all files from the Socket.IO project are shipped with the
contrib.
  since they have to be slightly patched to work with qooxdoo. 
- If you plan to do "source" development, make a symlink to the 
  qooxdoo sdk inside the top-level release version folder (for example,
  "0.1" or "trunk". The reason is that the shipped 
  node.js-server doesn't serve files outside this folder.
    
Run the demo:
============
- If you just want to run the demo, adapt the config.json file
  and point the QOOXDOO_PATH constant to the path of the qooxdoo sdk.
- Run ./generate.py build in the demo/default folder
- Go to demo/default/server/ and start the server with 'node server.js'
- Load http://localhost:8088/demo/default/build/index.html in several
  browser windows.
- Chat with yourself ;-)

Known Issues/To Do
==================

- The demo has only been tested with the latest Safari and Chrome, which
both
  support web sockets. Is is currently not working with Firefox because of
some
  issues with the WebSocket Flash applet.
- The static file server is fast, but inefficient because it doesn't do any
caching.
  There are several static file servers for node.js which should be
integrated
  to make it more efficient.  

This is only the first step. Next is getting a JSONRPC server working.

Hope you enjoy this little demo app.

Cheers,

Christian
  

-- 
View this message in context: 
http://qooxdoo.678.n2.nabble.com/node-js-and-qooxdoo-tp5345772p5379905.html
Sent from the qooxdoo mailing list archive at Nabble.com.

------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to