4 ms·
I do not believe "automatically generating client-side Javascript and handling communication and session control", in short: hiding redundancy and complexity, c
by felixhummel 15y ago
I do not believe "automatically generating client-side Javascript and handling communication and session control", in short: hiding redundancy and complexity, can "make web programming transparent".
IMHO, making something as complex as web programming transparent requires a lot of knowledge transfer. Making web development more easily accessible would be a fitting description. The idea is not new - see Ruby on Rails, even though it takes a different approach.
There is a lot of transparency in web programming if you are willing to learn. Roy Fielding's dissertation comes to mind as well as the book "RESTful Web Services", RFC 2068, RFC 2616 and ECMA-262.
In the end it's "some server stuff" -- HTTP -- "some client stuff" where "some client stuff" is mostly Javascript.
Off topic: Does Blizzard's World of Warcraft client count as web development or is web development limited to the way Joel Spolsky describes it? [1]
PS: This comment is based solely on the introductory paragraph of OPA's home page.
[1] https://plus.google.com/117114202722218150209/posts/KhMRNmgGniP?hl=en https://plus.google.com/117114202722218150209/posts/KhMRNmgG...
- Yoric 15y agoYeah, 'transparent' might be the wrong formulation. Still, Opa is great :) Note: I'm part of the Opa team.
- hbbio 15y agoFully agreed that current web programming is complex and that was the driving force behind making Opa. What might not be clear in the presentation of Opa is that it's not some new glue on top of existing components. It's instead a whole new, clean, technology for writing and running web applications. And given that the language is statically typed (with inference in most cases, so it's easy for the programmer) with first-class web values, the whole point of Opa is that the compiler knows quite a lot about your application when generating the binaries. The typing system determines wether part of the code will run on the client side, on the server side (or both) for instance. This mechanism is very different from Ruby on Rails for instance, although both approaches share the goal of making the programmer's life easy. Building RESTful services is exactly where Opa excels. Have a look at http://doc.opalang.org/index.html#_hello_web_services http://doc.opalang.org/index.html#_hello_web_services and the following chapter.