| Veloxit bruker Seaside til Web2.0 |
| Skrevet av Jan Olaf Mikkelsen | |
| tirsdag 02. oktober 2007 | |
|
Glem html sider, http requests og å spre dialogen på utallige små konfig filer. I Seaside lager man gjenbrukbare visuelle komponenter som så settes sammen til sider. Knapper og linker på sidene linkes direkte til metoder i applikasjonen slik at koden blir kort, oversiktlig og lesbar. Vår erfaring så langt er positiv og vi har brukt Seaside til prototypen av Actigon. Vi kan så absolutt tenke oss å bruke Seaside også til andre prosjekter. Seaside er et forholdsvis nytt rammeverk, men det allerede kommet en del kommersielle applikasjoner i tillegg til mange open source applikasjoner. Seaside bryter radikalt med hvordan de fleste web rammeverk fungerer og kalles ofte "the heretic framework". La oss derfor ta et lite eksempel først, for å kunne forklare essensen i Seaside.
Man ville også måtte sørge for å transportere brukerens svar mellom sidene, men slik at de ikke kunne ses. Brukerens første svar må transporteres via side 2 til side 3 for å vises frem. Dette blir lett komplisert når man har mer enn to tall å forholde seg til. Det er også lett å se at side to ikke enkelt kan byttes ut, eller brukes i andre sammenhenger siden den er så sterkt knyttet til verdien (value1) fra første side. Det ville utvilsomt være mye enklere om man kunne gjøre det på samme måte som i en desktop applikasjon, ganske enkelt spørre brukeren om tallene som i figuren til høyre:
Og det er nettopp det man gjør i Seaside. Hele forretningslogikken kan holdes samlet og fragmenteres ikke ut i mange forskjellige filer. Hver visuelle komponent er et objekt og kan brukes som et i koden. Det å vise fram en side blir plutselig bare et metodekall i applikasjonen din. Vi ser også at komponenter gjenbrukes enkelt ved at metoden "request:" kalles med nye ledetekster. Både request og inform er standardkomponenter i Seaside og fungerer som man forventer i en desktop applikasjon. Det vi spesielt liker med Seaside er:
IEEE Software har i sitt høstnummer en artikkel om Seaside (pdf) som gir god presentasjon av rammeverket.. Seaside er fullstendig objektorientert og bygd på toppen av Smalltalk slik at man automatisk får tilgang til alle utviklingsverktøy i disse miljøene. Seaside finnes i dag på fire forskjellige Smalltalk dialekter og vi i VeloxIT har brukt Visualworks varianten av Smalltalk. Hovedsaklig siden vi har lang erfaring med VisualWorks. Utifra vår erfaring så langt, ser vi at Seaside uten videre kan benyttes til intranett -og mindre web applikasjoner. Vi har kun testet funksjonalitet og ikke sett så mye på performance ennå. Seaside kan både kjøres bak Apache og skaleres opp vha load balancing, men dette har vi ikke testet ut selv.
|
|
| Sist oppdatert ( onsdag 03. oktober 2007 ) |