views:

182

answers:

4

I try to be very cautious with this question. There are at least three different web-development frameworks available in Smalltalk. The most prominent seems to be Seaside but there is also AIDA/Web and Iliad.

They seem to be very similiar, but this impresson may be wrong. I wonder who has tried the different tools and can share the pros/cons of the different packages.

A more concrete question would be, do yo know of let's say any software in the bookkeeing area which has choosen to use either of the three (or other) web development frameworks.

Here's one other question. What about maturity and compatiblity. Which framework can one judge as the "most" stable?

+4  A: 

These frameworks are all quite different and have different goals. It would be interesting to collaboratively create some kind of comparison.

As an author of Seaside I can provide the key properties of Seaside only:

  • Seaside makes building web applications feel like composing traditional GUIs: components can be freely composed and reused. Sequences of components are defined using a sequence of Smalltalk statements.

  • Seaside has a layered architecture, providing you with high-level abstractions (components, control flow, callbacks, HTML generation, JavaScript generation, ...) over low-level concepts (HTTP, Request, Response, URLs, HTML, JavaScript). If you need to, Seaside gives you full access to low-level constructs too.

  • There are two Seaside books to help you get started: Dynamic Web Development with Seaside and Seaside Tutorial.

  • Seaside provides a tight integration into various state of the art web technologies: JavaScript (JQuery and JQueryUI), SVG, RSS, HTML5, Comet (Server-Push)

  • Seaside runs identically on most today's Smalltalk platforms: Pharo Smalltalk, Squeak, GNU Smalltalk, GemStone Smalltalk, VW Smalltalk, VA Smalltalk, and Dolphin Smalltalk. It is supported by all vendors of Smalltalk platforms.

  • Seaside provides industry proven open-source components for meta-modeling (Magritte) and content management (Pier).

Lukas Renggli
Just so much I've bought the books. And tried a few things. Howerver I've found a different framework which was used elswhere for a online-accounting software.
Friedrich
+4  A: 

Hi! 99% of my practical experience is with Iliad, so my comparison is primarily about how I got to choose Iliad instead of the others.

  • Seaside. Tried it first, it is the most known and the first you stumble in. I found it hard to understand (as always, no matter what you use, when it gets to real implementation you always run into issues that fit badly with the general theory), there was little documentation around and the community seemed to care little about telling n00bs how to grow up. I eventually dropped it to check Aida. You find them here: http://seaside.st/ and on IRC at #seaside

  • Aida. I really liked it, as Janko is extremely patient and supportive. It is large, though. I decided to use it, when I was to start implementation for our project and it was only by chance that I ran into Iliad a few days before starting. You find Aida here: http://www.aidaweb.si/ and on IRC at #Aida

  • Iliad. The main reason I chose it was that I had just dropped Squeak and switched to gnu-smalltalk. gst seemed to have a lot of ongoing activity on Iliad, so I reckoned I was probably going to get a better assistance with it. It is much smaller as a concept (though it does absolutely everything) and I had very little trouble in getting started and in tweaking it to what I needed for. It also proved to be well managed, as I went thru 3 releases without ever being in trouble with what I had already deployed. You get answers to questions usually in 12-24 hours max, which is fine for me. You find Iliad here: http://www.iliadproject.org/index on IRC issues are usually channeled on the #gnu-smalltalk channel

What we are doing is a GUI for a PostgreSQL database used to manage a large multimedia dictionary, that in turn produces content (among others, for KDE-edu). I have no notion of booking apps in general, so I cannot answer to your question properly.

Yet, speaking as an analyst, a booking app is mostly a DB with an online GUI, so I see no reason why you could not make it. Much will depend on how easily your db can translate into objects. You could use a RDBMS, as we did, and design tables to map objects, or use an OODBMS. Both solutions have pluses and minuses, none of them is going to have an impact on your choice of framework, I'd say.

My suggestion is that you take a month or so in making experiments and see what better fits you. I don't think there is a tool that fits everyone, we are all different and what is easy for me may be hell for someone else (and the other way round, obviously). So try your car before buying it ;)

I would not invest too much time in studying the general theory. Using a smalltalk framework is going to turn upside down the way you make a web app anyway, and your first contact is going to be full of "false friends" you inherit from previous mindsets. Your best asset is definitely going to be "how quick can I grasp what they tell me", and this is largely an individual thing, depending on you and on who you bump into. So I'd really suggest you get your hands dirty BEFORE reading too much theoretical stuff.

Berto 'd Sera
As always, "the community seems Foo" varies radically from person to person. I find the community quick to respond to questions and friendly to newcomers. Lukas Renggli and Julian Fitzell deserve special mention in this regard.
Frank Shearar
Yes, this is an absolutely personal experience. And it may radically change in time, too.
Berto 'd Sera
Thanks I can not comment on my experiences with the AIDA/Web or Iliad programmers. I just was wondering about this three frameworks.
Friedrich
+4  A: 

Let me introduce some strengths of Aida/Web too, because as its author it would be hard to me to compare with other two frameworks. Aida strengths are:

  • RESTfull URLs
  • MVC support, every domain object can have its own RESTfull URL, each domain class has its own web presentation class,
  • Integrated AJAX and Comet support, you don't see any difference between a traditional and Ajax programming anymore,
  • Tree-like control flow for GUI-like control flows, without need for continuations
  • Building web pages programatically by composing from components/elements (no template based)
  • Scalable in complexity and performance
  • Integrated security with access control and users/groups management
  • Ported to most Smalltalk dialects: Squeak/Pharo, VisualWorks, Gemstone GLASS, Dolphin, Smalltalk/X

Prime and most fresh example of Aida at work is this year Smalltalk Google Summer of Code site.

This is the is a nice example because it was developed it in maybe a week in total, together with a development of GSoC process in parallel and in the same time managing that process as an admin. This site is actually an extended Aida/Scribo CMS, with strong use of so called scriblets, that is, dynamic web "includes" directly into the content of the site. That way I was able to very quickly support the new ideas which come during the evolving GSoC process.

Janko Mivšek
Will Aida/Web be port on GNU Smalltalk?
mathk
If there will be some interest, why not! Porting Aida is relatively easy, but maintaining ports takes a time. So, if there is anymone interesting to maintain the GNU Smalltalk port of Aida...
Janko Mivšek
A: 

Well, Suixo uses Seaside. Take a look at the GSoC projects we defined. Its more ERP than bookkeeping, and currently focused on healthcare.

Stephan Eggermont