[erlang-questions] ANNOUNCE: adapter_pattern for mochiweb/cowboy/misult and scripting language

Edmond Begumisa ebegumisa@REDACTED
Mon Feb 20 19:29:32 CET 2012


On Mon, 20 Feb 2012 12:19:40 +1100, Richard O'Keefe <ok@REDACTED>  
wrote:

> The "native HTML" way to do it would be to write an HTML page using any  
> HTML editor you like, attach hook points to it using 'class' and 'id',  
> use
> <script> to attach file-specific code, and give it to process that parses
> it, applies the transforms loaded by the <script>, and emits plain HTML.

Hmmm...

There was a rather clever mozilla-based web-server called Jaxer that  
provided this kind of "server-side DOM" web-programming style. It was  
essentially Firefox without the rendering code running on Apache.

An html file on the server could have <script> tags with a special "runat"  
attribute. If runat="server", then Jaxer would process the script server  
side (with full access to the DOM and everything you normally get on the  
client side). The webserver would then send the processed file to the  
browser. The idea was that you'd use typically client-side JavaScript to  
write web-server code, but I digress.

Although I can picture an Erlang web-framework working in a simlar fashion  
as you describe (hoping this is in fact similar to what you're  
describing), using Joe's example...

== foo.html ==
<html>
   ..
   <script type="application/erlang" src="foo.erl" runat="server" />
   ..
   So <span id="foo-name" /> has <span id="foo-chars" /> characters
   ..
</html>

== foo.erl ==
..
on_load(Html0) ->
   Name = "Joe",
   Html1 = dom:set_node_value(dom:get_element_by_id(Html0, "foo-name"),
                              Name),
   dom:set_node_value(dom:get_element_by_id(Html1, "foo-chars"),
                      integer_to_list(Name)).


... I'll note that Jaxer never really gained traction and to my  
disappointment it's developer's (Aptana) stopped working on it. Though I  
personally like this style because of it's consistency with client-side  
web-programming, perhaps it's too strange for most web-developers (even  
though it shouldn't be) who seem to prefer the template style.

Nonetheless, I would love to see an Erlang Jaxer.

- Edmond -


-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/-



More information about the erlang-questions mailing list