The Artima Developer Community
Sponsored Link

Agile Buzz Forum
A Walk on the Seaside

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
James Robertson

Posts: 29924
Nickname: jarober61
Registered: Jun, 2003

David Buck, Smalltalker at large
A Walk on the Seaside Posted: Apr 24, 2006 9:58 PM
Reply to this message Reply

This post originated from an RSS feed registered with Agile Buzz by James Robertson.
Original Post: A Walk on the Seaside
Feed Title: Cincom Smalltalk Blog - Smalltalk with Rants
Feed URL: http://www.cincomsmalltalk.com/rssBlog/rssBlogView.xml
Feed Description: James Robertson comments on Cincom Smalltalk, the Smalltalk development community, and IT trends and issues in general.
Latest Agile Buzz Posts
Latest Agile Buzz Posts by James Robertson
Latest Posts From Cincom Smalltalk Blog - Smalltalk with Rants

Advertisement

I walked into the Seaside tutorial halfway through - which isn't bad, as it happens - a goodly proportion of the audience is non-Smalltalkers, so a fair bit of what I missed was an intro. With that out of the way, I'm getting the actual Seaside/Ajax part of the talk. I can't unzip the Scriptaculous library at the moment - I played Civ4 over the weekend, and haven't rebooted yet. Par for the course; the Windows file dialog is hosed.

So - a brief warning about what Ajax is, and how over-use could slam a server, and then it's off to the races. Back after a reboot, and I was able to extract the files. Stupid game :/ So here's a screen shot of the Squeak browser, with a view of one of the callback methods - it's handling one of the asynch calls back from the browser, and rewriting the appropriate pieces:

Seaside callback

Some of the scriptaculous code is included in the image as methods (answering strings), and I had a question about that - whether having that be in a separate, loadable file might be easier. On the other hand, using either Squeak or VW, you could just as easily file-in replacements for those methods, as I do for patching this server. The positive of having the javascript in the image is that it's all versionable together. Here's a snapshot of what I'm talking about - one of the javascript methods in support of drag drop inlined as a string:

javascript in browser

The funny thing for me is that some of this stuff is oddly familiar. The original VisualWave had bits of javascript support in it, so that you could handle events for widgets (selecting in a list, for instance). Of course, with Wave, the whole form was both submitted and redrawn as a synchronous HTTP POST - but the widget handling issues are much the same.

Side note at this point - all of this Seaside/Scriptaculous integration is available in the VisualWorks port (big hat tip to Cincom's Michel Bany for that).

Question about persistence: there's nothing specific for Seaside, but people use a variety of things. Object dbs (Omnibase, for instance), or GLORP, or a number of other things that are available from vendors and the community.

A question: What about the "classic" approaches? Ruby on Rails is a nice, clean way to approach the old fashioned style of web app - works very well, is very clean. You end up writing a lot of state machine style code in your application though, and it gets harder and harder to maintain. Seaside removes all that overhead from you. So RoR will serve you well if you have a simple "db to web" app to build. If you need to manage state, then Seaside is easier.

You can still work with CSS/templates, they just get integrated right into the Smalltalk image (like the javascript example above). They also support having that loadable from files, of course - DabbleDB does it that way, and their graphics arts people never see a Smalltalk image.

Another question: What about having "clean" URLS? Not easily possible for an entire Seaside application. You can have bookmarkable sections that slam extra stuff in the URL that will deal with that.For instance, DabbleDB is built on Seaside, and does have "clean" urls as entry points.

Read: A Walk on the Seaside

Topic: Apple to online writers: drop dead Previous Topic   Next Topic Topic: Updating the tutorials

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use