Redom: Distributed object based server-centric user-friendly web application framework

Hi all,

Let me introduce a new web-application framework “Redom” by Eki Ko. He
is a master course student at graduate school of The University of
Tokyo.

Redom is a distributed object based server-centric user-friendly web
application framework. Redom enables developers to write all application
logic in Ruby at server side easily using both browser-side and
server-side libraries. Redom provides distributed objects published by
browser in natural Ruby syntax so that developers can access
browser-side objects directly.

In short, you can make a dynamic web application only using server-side
Ruby program with Redom framework.

For example, you can make multi-client chat application in 47 lines
server-side Ruby program. You don’t need to write any client-side
JavaScript program.

Feedback is highly welcome.

Thanks,
Koichi

On Tue, Jan 15, 2013 at 9:55 AM, SASADA Koichi [email protected] wrote:

browser-side objects directly.

Thanks,
Koichi


// SASADA Koichi at atdot dot net

I deem Redom fully buzzword-compliant. :slight_smile:

Nice,

So it’s basically Google Web Toolkit (GWT:
GWT Project) for Ruby; much like
Pyjamas (http://pyjs.org/) is for Python?

How generalised will you be making the client-side, e.g.: will you be
generating a bunch of HTML+JS+CSS files which talks RESTfully with
your Ruby server; that you can then load onto PhoneGap apps?

Or is it more coupled?

Best regards,

Alec T.

PS: And yes Tamouse; gotta love the jargon :stuck_out_tongue:

(2013/01/16 15:27), Alec T. wrote:

So it’s basically Google Web Toolkit (GWT:
GWT Project) for Ruby; much like
Pyjamas (http://pyjs.org/) is for Python?

How generalised will you be making the client-side, e.g.: will you be
generating a bunch of HTML+JS+CSS files which talks RESTfully with
your Ruby server; that you can then load onto PhoneGap apps?

GWT (and maybe Pyjamas) compiles some language to javascript.
But redom doesn’t make any JS (and other language) code (*1). All of DOM
operations (and other JS methods) are invoked by RPC from server-side.

example:
Server-side Browser-side
alert(“hello”)
RPC ----------------> alert(“hello”)

document.foo.bar
RPC ----------------> document.foo =>
<--------------
.bar
RPC ----------------> ref1.bar

Yes, it has performance drawback because all operations need
“server->browser” RPC (and also all browser-side events such as mouse
click, etc will be sent to server-side).

We optimize huge RPCs sendig using bulk messaging technique.

*1: we support Ruby to JS compilation using Opal only for performance.

I am running the redom examples (via rackup). The http-server is running
fine, but after the initial screens of the apps, it says ‘socket closed’
in the console-log.

Ubuntu 12.10 / chromium 23.0.1271.97 / ruby-1.9.3-p327 / gems-list
attached

Durk B. wrote in post #1092907:

I am running the redom examples (via rackup). The http-server is running
fine, but after the initial screens of the apps, it says ‘socket closed’
in the console-log.

Ubuntu 12.10 / chromium 23.0.1271.97 / ruby-1.9.3-p327 / gems-list
attached

Solved by running the redom command separately. Perhaps it was in the
manual…

Thank you for your trying.

The author Eki Ko is busy to write his master thesis :slight_smile:
I also Cc’ed this e-mail and your suggestion will apply soon.

Any other comments (productivity and so on) is welcome.

Thanks,
Koichi