Reponding to ISSUE-265

As agreed in the last meeting I am actioned to respond to Jonathan's
proposal (shamefully a little over a year old) regarding:

*4.XX Separating structure, style, and behavior *



(Reference :
http://www.mercurytide.co.uk/whitepapers/separating-structure-presentation-and-behaviour/)

http://webdesign.about.com/od/intermediatetutorials/a/aa010707.htm



Generally, Web application development consist of three layer elements.



*1.    1. Content or Structure*
The content or structure layer is what your readers are coming to get when
they come to your Web page. Content can consist of text or images and
includes the pointers that your readers need to navigate around your Web
site. In Web development, *XHTML* makes up the content layer and it also
structures the Web document.



         *2. Style or Presentation*
The style or presentation layer is how the document will look to your
readers. This layer is defined by the *CSS* or styles that indicate how your
document should be displayed and on what media types.



         *3. Behavior*
The behavior layer is the layer of a Web page that does something. If you
use Ajax or DHTML, it is the JavaScript that makes the page do something. If
you have a PHP or CGI back-end, it is the PHP or CGI scripts that take
action when your reader clicks something. For most Web pages, the first
level of behavior is the *JavaScript* interactions on the page.



When you're creating a Web application, it is important to keep the layers
separate.  So why should you separate?

Full document here: http://docs.google.com/View?docid=dhpvgnmn_54d7cbhrhn
See issue: http://www.w3.org/2005/MWI/BPWG/Group/track/issues/265

My thoughts at this time are:

- I completely agree with the approach... I believe what you're describing
is MVC / MVP / Passive View type patterns which are widely used and highly
appropriate for Web application development... See the seminal video on the
topic here: http://video.google.com/videoplay?docid=4378663232897374824 :)

- I'm less convinced that it's appropriate for this document for a number of
reasons:

  - It's very widely adopted and described in good detail in a number of
places (http://martinfowler.com/) but not mobile specific.

  - The document is for the most part concerned with what / how you deliver
applications to mobile phones... Rather than how to handle the actual
process of development... The only exception to this rule is 3.6.3 Use
Device Classification but I think this is a worthy one-off... For the most
part I think a specific non-goal of this document is teaching people how to
write Web applications (or software in general) which this description kind
of strays into.

  - The level of detail is very deep and not well matched with the rest of
the document. It's already a long document which is trying to say of lot of
things and I would be concerned that including this would further water-down
the core intent / value of the document.

So I propose not including a BP along these lines in the current document...
To everyone on the list -- please respond if there is strong disagreement.
(And abject apologies again for taking so long to look at this).

Regards,

Adam.

Received on Tuesday, 11 August 2009 11:01:08 UTC