Seaside - next level web development
- no templates - you don't have to touch HTML at all. This means that (1) method calls for a tag makes sure that tag is properly rendered so no problem with nonclosing tags etc. (2) the kind of mess where tags are intermingled with "normal" code is gone, (3) the HTML looks really good and (4) no risk of using messy techniques for styling - you have to put it all in the global CSS file.
- the server is not stateless. This may be a problem in extremely large applications but for most cases a bit of load balancing with sticky sessions will solve it with no problem. Session state is communicated with a request parameter so no cookies are involved. And the other parameter is for identifying the continuation.
- Smalltalk is a really nice language. It has the simplest syntax possible and all and everything is objects. It would be nice to get more hands on experience with the language. Lots of the good stuff in software development comes from the smalltalk community. It is probably because the barriers for accomplishing things is much lower than in other languages.
- no XML and no configuration files. You write it all in Smalltalk. This is - of course - similar to Rails where everything is Ruby. A very nice and reasonable approach.
- no builds. Smalltalk runs in its own virtual machine with something called an image that holds the current object state of everything. Kind of like EJB stateful session beans but good.... Code changes in the development environment is runnable at once. This is no news for Smalltalk developers but for a Java web developer it may sound too good to be true. Seaside adds a nice debug environment to your web pages where you can inspect and change the code from within the browser. Imagine doing that with a JSP-based framework in the J2EE stack.
- Seaside is 'just a web framework'. Unlike Rails and django it doesn't solve all your problems. For persistence you have to hook into other Smalltalk solutions. For the enterprise - Gemstone may be interesting with its powerful object database.
So - many thanks to Göran Krampe for awakening my interest in Seaside (and Smalltalk).