Seaside

seasideZajímavým koněm na poli frameworků pro webové aplikace je seaside – ve smalltalku implementovaný, kontinuací pro modelování stavu nad bezstavovým http používající.

Pracoval jsem s ním v opensource implementaci smalltalku squeak, ale jde zprovoznit i pod jinými. Problémem je právě uchovávání aktualního stavu programového zásobníku pro pozdější použití, což ne každá virtuální mašina poskytuje.

O aplikaci díky tomu nemusíte přemýšlet na úrovni stránek, ale na úrovni komponent, kde každá žije svým životem a které používáte. Uživatel pak jen svou interakcí posunuje výpočet dál. De facto je potom model aplikace srovnatelný s desktopovými protějšky.

Potřebujete z vnějšku další data ? Stačí říct komponentě, která je získat umí a s hodnotou jen dál pracovat:

kdesi: … html render: (SVG round filledWith: ColorPicker new call) …
v ColorPickeru: … self answer: pickedColor.

Je i řada dalších aspektů, které činí seaside přitažlivým. Plná integrace s script.aculo.us – web 2.0 javascriptovou knihovnou (běžíce na seaside) – která se často používá s ruby on rails. Poměrně minimalistická architektura, jejíž účelem je umožňit přemýšlet o aplikací v přirozenějších intencích. Smalltalk – zatím nejexpresivnější jazyk se kterým jsem se měl možnost setkat. Ten poskytuje ale zároveň velkou volnost, takže existuje nebezpečí, že ztratíte soudnost, kdy přestat.

Momentálně číslo 1 v oboru, a to i přesto, že školní projekt zůstal právě kvůli velkému rozmachu a nedostatku času viset před cílem.

pozn. v příkladu je vše kromě principu dílem autorovy fantasie.


About this entry