Il punto di Seaside non è proprio come la programmazione desktop, anche se cerca di eliminare gran parte dello sviluppo del web. Seaside è conosciuto per due cose che si potrebbe prendere in considerazione "desktop-application-like":
- utilizzando continuazioni per consentire di scrivere i processi multi-step che richiedere all'utente informazioni
- utilizzando blocchi (chiusure) per fornire event-handler-come "callback" nel tuo codice ogni volta che i collegamenti sono cliccato, moduli inviati, ecc
Queste cose notevolmente semplificare alcune attività di sviluppo web, anche se la prima finisce per essere utilizzato piuttosto raramente nella pratica.
Mare offre molte altre cose, però:
- La capacità di scrivere applicazioni web in Smalltalk (molto produttive e piacevoli)
- "componenti" componibili, riutilizzabili
- componenti possono delegare ad altri componenti , che sostituisce solo quella parte della pagina
- È possibile contrassegnare facilmente la gestione dello stato della sessione e lo stato determinato per il rollback ogni volta che l'utente utilizza il pulsante Indietro in modo che abbia sempre il valore corretto quando vengono eseguite le richiamate
- Un bel API Canvas per la generazione di programatically HTML, JQuery, Scriptaculous
- La capacità di eseguire il debug e correggere gli errori in diretta su un sito in esecuzione
La maggior parte di questi non sono unici al Mare, ma sono un po 'insolita . Quindi, come è diverso da altri programmi web? Devi scrivere in Smalltalk. Non devi mentalmente cambiare il contesto tra codice e un linguaggio di template. Non devi preoccuparti dei nomi dei campi dei moduli, degli URL, ecc. A meno che/non lo desideri. Probabilmente non odierai la programmazione web se usi Seaside.
Le persone possono scoprire Seaside a causa delle sue "funzioni di programmazione desktop" ma di solito si aggirano per tutte le altre cose.
La domanda non era "What is Seaside", ma "How is Seaside different?" – Chuck
che l'aggiornamento è già stato fatto, ma per qualche motivo ho appena ricevuto un downvote? – TStamper