From: Dmitrii 'M. D. <dmi...@gm...> - 2008-02-18 09:35:18
|
A friend of mine has approached me with the following question: how do you handle Ajax in Erlang/ErlyWeb/Mochiweb/Yaws? He likes the approach that GWT has - you only have to worry about necessary functions once, the framework generates all the necessary boilerplate code for you. By boilerplate I mean the code that implements the necessary client-server interfaces and protocols that you don't need to check twice (once on the server and once on the client). You also don't have to worry about changing things on one side and breaking things on the other side, thus effectively halving the time you need to spend on testing and debugging. How do you add ajax to your apps and has anybody considered a GWT approach? |
From: Torbjorn T. <to...@to...> - 2008-02-18 10:53:03
|
Hi, It would be intereseting to hear what others have taken as an approach to this. Here is a simple example of things I've done. And since it is very simple, I've not bothered with any fancy lib, hiding the interface beetween the server and client. I'm using jQuery, and in this example, also a jQuery plugin for drawing graphs. ....some HTML and Javascript... <script language="javascript" type="text/javascript"> function redraw(what) { $.getJSON("/graph_data.yaws", {'op': "redraw", 'what': what}, function(x) { do_redraw(what, x) }); } function do_redraw(what, x) { $.plot($(what), [ x.d2 ]); } </script> <button id="draw" onclick="redraw('#placeholder')">Redraw!</button> ............ .....some (simplified) Erlang code.... out(A) -> L = yaws_api:parse_query(A), dispatch(lkup(L, "op", false), A, L). dispatch("redraw", A, L) -> redraw(A, L); redraw(_A, _L) -> {A1,A2,A3} = now(), random:seed(A1, A2, A3), J = json:encode({struct, [{"d2", {array, [{array, [1,random:uniform(10)]}, {array, [2,random:uniform(10)]}, {array, [4,random:uniform(10)]}, {array,[5,random:uniform(10)]} ]}}]}), return_json(J). return_json(Json) -> {content, "application/json; charset=iso-8859-1", Json}. ................ Cheers, Tobbe Dmitrii 'Mamut' Dimandt wrote: > A friend of mine has approached me with the following question: how do > you handle Ajax in Erlang/ErlyWeb/Mochiweb/Yaws? > > He likes the approach that GWT has - you only have to worry about > necessary functions once, the framework generates all the necessary > boilerplate code for you. > > By boilerplate I mean the code that implements the necessary > client-server interfaces and protocols that you don't need to check > twice (once on the server and once on the client). You also don't have > to worry about changing things on one side and breaking things on the > other side, thus effectively halving the time you need to spend on > testing and debugging. > > How do you add ajax to your apps and has anybody considered a GWT approach? > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ |
From: Bob I. <bo...@re...> - 2008-02-18 15:27:16
|
Personally I don't like the GWT approach at all, more often than not it seems that you have to get down to the JavaScript level to make things work across all of the browsers. It might work if you're actually using GWT which presumably has a LOT of engineering effort put into it to make it work somewhat predictably, but I would never bother trying to develop something like that myself. What we do is write JavaScript code separate from the server-side code, using JSON for communication. Writing JS code isn't that big of a deal (given the proliferation of libraries and frameworks to cut down some of the repetition), and there really isn't a whole lot of client-server interface/protocol code bloat when you're just sending JSON over the wire. I don't think I've ever had the problem where changing something on one side breaks the other in such an arrangement, you simply don't make incompatible changes to the JSON object you're sending across the wire. -bob On Feb 18, 2008 1:35 AM, Dmitrii 'Mamut' Dimandt <dmi...@gm...> wrote: > > A friend of mine has approached me with the following question: how do > you handle Ajax in Erlang/ErlyWeb/Mochiweb/Yaws? > > He likes the approach that GWT has - you only have to worry about > necessary functions once, the framework generates all the necessary > boilerplate code for you. > > By boilerplate I mean the code that implements the necessary > client-server interfaces and protocols that you don't need to check > twice (once on the server and once on the client). You also don't have > to worry about changing things on one side and breaking things on the > other side, thus effectively halving the time you need to spend on > testing and debugging. > > How do you add ajax to your apps and has anybody considered a GWT approach? > > > --~--~---------~--~----~------------~-------~--~----~ > You received this message because you are subscribed to the Google Groups "MochiWeb" group. > To post to this group, send email to moc...@go... > To unsubscribe from this group, send email to moc...@go... > For more options, visit this group at http://groups.google.com/group/mochiweb?hl=en > -~----------~----~----~----~------~----~------~--~--- > > |