Login  Register

Re: Tutorial, how to improve it?

Posted by bobcalco on Feb 13, 2012; 11:01am
URL: https://forum.world.st/Vision-for-Aida-tp4376327p4383413.html

Janko,


2012/2/13 Janko Mivšek <[hidden email]>
Hi guys,

Current tutorial seems to let the people develop an impression (as in
this Reddit comment [1]) of "Aida as being well-suited for writing
websites, and Seaside as being well-suited for writing web applications".

This is certaily not true, Aida is using mainly in business web
applications almost from the start. Well, from the start it was
developed for our main book publisher webshop, a public website
therefore, but since then it is with few exceptions used exclusively for
web apps.

So, we need to improve a tutorial to show its strengths for building web
apps ASAP. Specially that natural transition from a classical webpage
approach to so called Single-Page web application.

I think that Aida's core abstractions -- Sites, Applications, Widgets -- lends to the perception. 'Application' in Aida refers (somewhat awkwardly, IMHO) to VC combinations in the MVC triad. To me, V+C = Component and (1...n Components = Application). 

In other words, it is not intuitive to a noob that once you have a site that you layer your domain on it with as many applications as you have domain objects (roughly). I think this is perhaps where the perception comes from.

On a purely aesthetic level I really like Seaside's terminology, which is internally consistent with its stated goals. I probably would have gone with Seaside if they did not require special VM sauce to make a key part of the value proposition of the framework work (i.e., continuations). 

Really what Aida is trying to do (correct me if I'm wrong) is to let the developers actually define the semantics for themselves. A site is a root URL, an application is a chunk of functionality available at a site, and widgets are complex elements that are grouped for functional reuse within 'applications.' So, actually, Aida is trying not to impose very many constraints on how the developer organizes his/her design.

This is why a good tutorial that explains the rational for each design choice and the resulting cleaner, simpler implementation is critical if Aida is going to shake its perception as 'good for sites but not applications.'

I also think that Seaside directly addresses a real developer pain with a clean -- albeit not entirely portable -- solution. I have always *hated* building web apps because of the statelessness of HTTP. Seaside makes it easy to code in a way that the logic of a workflow is self-evident in the code, at a cost that seems not too bad when the one thing managers in the world care about most is time-to-market. That's the big whiz-bang of Seaside as I see it. They effectively created a development environment that thoroughly shields the developer from the most painful aspect of working in HTTP.

Aida should come up with a way to deal with the problems of web development that delivers similar (if not identical) value, only without the not-very-portable black magic involved in Seaside's implementation. If this exists already in Aida, please enlighten me! 

Again, a tutorial needs to address the pain of web development and how Aida removes it, not just show off features.

The other pain area that I don't think either framework deals with well yet is styling, layouts, look feel and JavaScript integration. If you're coming from a template based web development paradigm, nothing makes you feel woozier and less confident than the manner in which both frameworks deal with that. (Well, not counting the questions of RDMBS vs OODMS, in-memory persistence vs. ...etc.)

At least, I have not found that aspect to be as intuitive as it could be.

- Bob 

Best regards
Janko

[1]
http://www.reddit.com/r/programming/comments/pjggx/vision_and_plans_for_aida_smalltalk_web_framework/




_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida