I also prefer .html/.wod model because it's (close to) separating view and 
controller.

I'm accustomed to receiving HTML from someone who, e.g., cuts the page, 
provides images, puts in pro-forma tags for active elements. The supplier is 
responsible to deliver a page (he wraps it in a little PHP) that is displayable 
and tested across browsers (I think he tests against 17 of them). I then insert 
the active elements, supply JavaScript, etc. I also may receive updates to the 
page in HTML (in which case I'm doing some kind of diff on HTML and update on 
HTML/wod). 

It looks to me as if this process is going to become a lot more work on my side 
and a lot more error prone if I go to this non-HTML/"single source" approach -- 
unless I get the HTML supplier to instead give me Seaside.

Am I understanding this correctly?

        Tom


On Sep 28, 2011, at 9:38 AM, [email protected] wrote:

> Hi Chuck, 
> 
> I can feel your gears turning. That's a good thing! 
> 
> 1) PHP is nothing but a template file (with embedded programming) 
> 
> 2) WO has a template file, a programming file, and it also has "in-line" 
> binding which I've never been a fan of. Then there is the OGNL too... 
> 
> 3) Seaside is nothing but programming logic. 
> 
> So PHP is on one side and Seaside is on the other. WO is in the middle. 
> 
> We all can agree that the PHP, JSP, etc. way is a nightmare. You can make 
> good software but you have to work harder. 
> 
> WO way is better. For many years I really liked the way the .html / .wod was 
> nothing but presentation and bindings. OGNL is cool for quick and dirty but 
> it didn't feel right to me being too cluttered like the PHP way and hard to 
> debug. Inline bindings also clutter the HTML file and never resonated with me 
> either. Maybe... perhaps its cool for a WOString with a single value but 
> anything other than that... I'd rather someone use the .wod file. The Apple 
> way was insane, you had to do all inline bindings or none. The WOnder way is 
> best, able to mix the two. 
> 
> In WO there is the minor hassle of finding the line in HTML that matches up 
> with the .wod file. Using WOlips this is easy because it finds it for you and 
> jumps you right there to synchronize the two files in a split view. One thing 
> WOLips can't do is refactor that code. Only Java code is refactorable. You 
> also have to be extremely astute that you output correct and balanced HTML 
> 
> Seaside way is best. By using a living language, everything is immediate, you 
> don't feel the urge to cheat like with OGNL. By removing the template file 
> entirely and using objects you get so many benefits. 
> 
> 1) No extra files to coordinate. 
> 
> 2) no HTML syntax problems. 
> 
> 3) you can refactor ALL of your code, not just the business logic. 
> 
> 4) you can still partition your presentation logic - but instead of putting 
> it in a different file you put it in a method. 
> 
> 5) did I mention everything is alive? There isn't even a source code file to 
> deal with. No compiling, no interpreting static files, no need for an add-on 
> like JavaRebel. In Eclipse you can query for methods given part of a name you 
> remember. In Smalltalk you can query for methods that take such and such 
> parameters and evoke a certain value, you don't even have to know the method 
> name. Smalltalk will immediately give you a handful of methods that do 
> "greatest common denominator" for example. "Living" versus "Living Dead" 
> there is a difference but I digress. 
> 
> Here is an example of how presentation is rendered in Seaside. Bare in mind 
> that "renderContentOn" is akin to "appendToResponse". And that "html" is an 
> object which gets passed into the method that is a bit like a WOContext and a 
> String buffer rolled into one. In this example it is going to render an HTML 
> table with table rows and table data cells: 
> 
> renderContentOn: html 
>   
>  html table: [ 
>   html 
>    tableRow: [ 
>     html tableData: [html text: 'Table entry']]; 
>    tableRow: [ 
>     html tableData: [html text: 'Table entry']]]. 
> 
> Look foreign? Perhaps but it's worth getting your feet wet and kicking these 
> ideas around. I've seen many things and this is the first set of tools and 
> processes that make me feel good. Like it is equivalent and perhaps better 
> than WO. It's brain dead easy to install and there are a number of tutorials 
> out there. 
> 
> -- Aaron 
> 
> 
> 
> From:        Chuck Hill <[email protected]> 
> To:        [email protected] 
> Cc:        WebObjects Mailing List <[email protected]> 
> Date:        09/27/2011 06:02 PM 
> Subject:        Re: Finding WO people for startups (cult of the dead) 
> 
> 
> 
> Hi Aaron,
> 
> 
> On 2011-09-27, at 9:19 AM, [email protected] wrote:
> 
> > What is cool about Smalltalk / Seaside with respect to WO? 
> > 
> > 5) Even better than "in-line" binding it has no template file what-so-ever 
> > by design. All your HTML output is coded in the programming language. No 
> > more unbalanced DIV tags. Everything is refactorable. 
> 
> Is that better?  In my imagination that makes it like PHP.  Would that not 
> obstruct what little view of page structure that is still there in WO?
> 
> 
> 
> -- 
> Chuck Hill             Senior Consultant / VP Development
> 
> Practical WebObjects - for developers who want to increase their overall 
> knowledge of WebObjects or who are trying to solve specific problems.    
> http://www.global-village.net/products/practical_webobjects
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      ([email protected])
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/webobjects-dev/blenko%40martingalesystems.com
> 
> This email sent to [email protected]

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to