Javascript support - ICE ideal platform / node.js
Dear ZeroC team,
I was wondering what your opinion is on Javascript support in ZeroC. With the increasing adoption rate of Javascript on the server, I see JS as the ideal language to make ICE a true internet communication platform.
With the new HTML5 websocket feature becoming widely available in IE, Chrome and Firefox, ICE could play a critical role in creating and powering next generation internet applications:
By supporting JS on top of websocket, ZeroC could support the following architectures:
- HTML5 client (JS and websocket) talking to any ICE server. JS code would be generated based on Slice definition.
- ICE server implemented in JS on top of node.js. By supporting JS on the server, ICE servers could easily and quickly be written in JS. The ubiquitousness of JS would help the market penetration of ZeroC.
Any feedback would be appreciated
Best
Frank
I was wondering what your opinion is on Javascript support in ZeroC. With the increasing adoption rate of Javascript on the server, I see JS as the ideal language to make ICE a true internet communication platform.
With the new HTML5 websocket feature becoming widely available in IE, Chrome and Firefox, ICE could play a critical role in creating and powering next generation internet applications:
By supporting JS on top of websocket, ZeroC could support the following architectures:
- HTML5 client (JS and websocket) talking to any ICE server. JS code would be generated based on Slice definition.
- ICE server implemented in JS on top of node.js. By supporting JS on the server, ICE servers could easily and quickly be written in JS. The ubiquitousness of JS would help the market penetration of ZeroC.
Any feedback would be appreciated
Best
Frank
0
Comments
Although I am not a JavaScript fan (especially not on the server), I agree that ICE for client side JS could be a rather significant market for ZeroC, especially since Microsoft now also puts some emphasis on HTML5/JS clients. This would make more sense than supporting ActionScript.
Karl
Along these lines, I've started hail, a transport layer implementing the Ice protocol for Node.js applications. It's not npm'd yet, and it's not complete, but as of today (12th June 2012) it parses simple Slice files, dispatches interface methods taking simple types as arguments (including built-in types and sequences of built-in types), and returns void or integers. The Printer example in the ice documentation works with a ZeroC-implemented client.
Hail is a from-the-ground-up implementation of the Ice protocol using Node.js primitives, thus preserving the event-loop properties you would expect from a Node.js library.
I will probably continue developing this to parse structures and throw runtime exceptions as appropriate. Contributions are welcome, as are task lists; I'm willing to continue this library for you, other Ice users, if you tell me what you need.
What about Javascript clients?
Definitely possible, and definitely valuable, but I haven't done any deep thinking on this. Actually, for my original goal (easier load tests), this is very useful.
Congratulations, we have hail github issue #1.