nitralime wrote:
**Where can I find more details about the architecture of Ur/Web
"framework"?
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.
Almost every web framework on the market enthuses about the "MVC"
pattern.
Each of them forces in someway a separation of content, logic and view.
For a traditional data centric web applications such a separation of
concerns
could be a huge advantage during development process.
What is the ansatz of Ur/Web?
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.
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.
As you surely know, there are also some growing tendencies
towards SPI (Single Page Interface) and RIA (Rich Internet Application).
For this sort of applications one needs a solid GUI toolkit.
As far as I know there are two different approches for providing GUI:
1) using a prebuilt JavaScript GUI toolkit wrapped in some APIs
which in ideal case integrate seamlessly into the core framework
2) [[a subset of the framework's core language) --> JavaScript]]
compiler
which provides the GUI toolkit
The first alternative can be "easily" realized by taking some web
framework and
a decent JavaScript GUI toolkit like TIBCO General Interface,
Javeline, dhtmlx,
Qooxdoo, (to some extent flapjax) etc. and writing some glue codes!
The second approach is more fundamental. To the best of my knowledge
HOP and Links are the only frameworks that implement it properly.
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.
_______________________________________________
Ur mailing list
[email protected]
http://www.impredicative.com/cgi-bin/mailman/listinfo/ur