Jifty the Jilted framework
I was reading about Jifty - an interesting new Perl based web framework. One author had this to say about the origins of Jifty:
Seaside is a somewhat heretical web framework. They generate their HTML. They don't embrace meaningful URLs. They use Smalltalk, of all things.
Of course, by making these crazy choices, they get insane amounts of power. When we were building Jifty, we stole liberally from everything that had good ideas. We dragged Rails down a dark alley and rifled through its pockets. We grabbed Catalyst's wallet.
But really, Seaside's killer features like Continuations and Halos...just stopped me in my tracks. Once we got them into our grubby little perlish hands, I realized: This is the way development is supposed to be.
Posts on other blogs confirm that I'm not the only impressed developer out there. I find it incredibly interesting though, since the approach is nearly identical to the one I took in the Optus internal framework I discussed a few entries ago. It's a real shame that I never spent the time to clean that up for public release since the employer had ok'd releasing it as open source in principle.
I love this quote from Alan Kay on the squeak web page:
"The real romance is out ahead and yet to come. The computer revolution hasn't started yet. Don't be misled by the enormous flow of money into bad defacto standards for unsophisticated buyers using poor adaptations of incomplete ideas."
- Alan Kay
Web development - an epiphany
OpenACS was the first serious toolkit that I learnt, and is still one of the most amazing in terms of ready to bolt together functionality, but it lacks in development language expressiveness and debugging ability, and it's certainly not DRY (Don't Repeat Yourself).
So a few years ago I co-developed an in-house telco business modelling & web developement framework at Optus in Perl which enabled great reuse and relatively clean OO implementation of web based processes with cutom objects. I've been subsequently told it is not dissimilar to WebObjects.
Since then I have been working more on backend code, but I've really been enjoying becomming comfortable with Ruby and Rails. It's nowhere near as feature full as OpenACS, and it's not as expressive as the in-house framework I co-developed, but the cleanness of it's design is truly refreshing. It really does get out of your way and provide you a well balanced canvass on which to paint your web2.0 masterpiece.
But now that's all out the window. I've just seen the Seaside (which I do love to be beside ;).
First of all I started playing with Smalltalk because I just felt like it was something I needed to learn. Much like when I switched to emacs, I figured that so many smart people couldn't be wrong. Not that I was convinced it would be better, but I knew that I was missing out on some good ideas by ignoring it totally.
So smalltalk. How can I summarise it for you. It has the object-ness of Ruby, the great named calling syntax of Objective-C, garbage collection and bytecode compilation like Perl or Java, and the grammar simplicity of Tcl. They're all my favourite languages, so of course it makes sense that I should love the one language that inspired them all.
Like Ruby gave birth to Rails, the simplicity and clarity of Smalltalk has inspired the most amazing web framework I have ever seen. Seaside. With it's object and method based pageflow, components and debugging assistance, Seaside is like the perfect logical extension of that OO Perl framework I co-wrote. And the implementation of transactional sequences is simply brilliant.
Am I too Utopian? I probably am - I havent written a line of Seaside code yet, so I don't know it's frustrations. I'm sure that it's near total reliance on CSS for layout will bite at some stage. I will definately start a project site based on Seaside (or possibly Pier - a framework superset of Seaside).
In the meantime, do yourself a favour and watch the 55 minute presentation on Seaside that Marcus Denker gave, titled:
Seriously, you will love it. Really.
Blog Categoriessoftware (40)
..heads up 'tunes (5)
..black and white (6)
..A day in Sydney (18)
..The Daily Shoot (6)
Book Review (2)