On Mon, Sep 14, 2009 at 11:26 PM, Adam Chlipala <span dir="ltr"><<a href="mailto:adamc@impredicative.com">adamc@impredicative.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
nitralime wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
**Where can I find more details about the architecture of Ur/Web "framework"?<br>
</blockquote>
<br>
I'm not sure if I should interpret your message following this one as revealing that you hadn't gone through the demos before asking this question. For now, I will assume that is the case and will give abbreviated answers, assuming that you've since learned what's basically going on with Ur/Web.<div class="im">
<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Almost every web framework on the market enthuses about the "MVC" pattern.<br>
Each of them forces in someway a separation of content, logic and view.<br>
For a traditional data centric web applications such a separation of concerns<br>
could be a huge advantage during development process.<br>
What is the ansatz of Ur/Web?<br>
</blockquote>
<br></div>
I'm strongly against MVC. I want to design components that encapsulate entire pieces of web applications, without requiring you to go off and put "a template" in some filesystem path that you need to discover in an ad-hoc way.<br>
<br>
That being said, the standard FP abstractions make it easy to implement MVC systems inside Ur/Web as libraries, retaining all of the static guarantees.<div class="im"><br></div></blockquote><div>I personally don't like the "hype" around the so called "design patterns" <br>
which are sold as a greate achievement!! It is by and large "common sense"! <br>
Forcing a certain organizational discipline could be however useful sometimes. <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
As you surely know, there are also some growing tendencies<br>
towards SPI (Single Page Interface) and RIA (Rich Internet Application).<br>
For this sort of applications one needs a solid GUI toolkit.<br>
As far as I know there are two different approches for providing GUI:<br>
1) using a prebuilt JavaScript GUI toolkit wrapped in some APIs<br>
which in ideal case integrate seamlessly into the core framework<br>
2) [[a subset of the framework's core language) --> JavaScript]] compiler<br>
which provides the GUI toolkit<br>
<br>
The first alternative can be "easily" realized by taking some web framework and<br>
a decent JavaScript GUI toolkit like TIBCO General Interface, Javeline, dhtmlx,<br>
Qooxdoo, (to some extent flapjax) etc. and writing some glue codes!<br>
<br>
The second approach is more fundamental. To the best of my knowledge<br>
HOP and Links are the only frameworks that implement it properly.<br>
</blockquote>
<br></div>
I've tried to design the demos and manual to make it clear that both options are possible in Ur/Web. The compiler generates JavaScript for client-side code, and the FFI makes it possible to wrap JavaScript libraries.<div>
<div></div><div class="h5"><br></div></div></blockquote><div>Can you please give me a short example (but not a trivial one a la 'alert("Hello World!")') <br>for each of these two alternatives? <br></div>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div class="h5">
<br>
_______________________________________________<br>
Ur mailing list<br>
<a href="mailto:Ur@impredicative.com" target="_blank">Ur@impredicative.com</a><br>
<a href="http://www.impredicative.com/cgi-bin/mailman/listinfo/ur" target="_blank">http://www.impredicative.com/cgi-bin/mailman/listinfo/ur</a><br>
</div></div></blockquote></div><br>