2009-03-24 13 views
10

Per me sembra che il punto principale di Seaside sia che è più simile alla normale programmazione "desktop".Qual è la differenza tra programmazioni Seaside e altre programmazioni web

Il flusso di controllo sembra molto più simile alla programmazione "tradizionale" anziché alla programmazione "Web" . È un'impressione corretta?

So che si tratta di programmazione Web, ma non sembra dal lato dei programmatori. Sembra molto più che guidare applicazioni "desktop". Questo chiarisce un po 'la domanda?

risposta

9

L'impressione è corretta. Seaside è progettato per quello che io chiamo un flusso di controllo ad albero, come hanno le app desktop GUI. Confrontando il Aida/Web, un altro framework web Smalltalk, che è pensato per un flusso di controllo simile a un grafico, e questo è in realtà ciò che si ha sul web.

Ma il flusso di controllo ad albero è molto utile in questi casi, come i dialoghi di conferma, o per i popup come quelli molto frequenti su Facebook di questi tempi. Ecco perché stiamo introducendo il flusso di controllo ad albero anche in Aida/Web, cioè stiamo combinando insieme i due flussi di controllo.

1

Seaside è un framework di app per lo sviluppo di applicazioni Web scritte in smalltalk. Che cosa si intende per sembra "tradizionale" programmazione

Modifica -

Mare architettura è diverso da in cui le sue pagine web sono costruite come gli alberi dei singoli, componenti stateful, ogni incapsulare una piccola porzione di una pagina

+0

La domanda non era "What is Seaside", ma "How is Seaside different?" – Chuck

+0

che l'aggiornamento è già stato fatto, ma per qualche motivo ho appena ricevuto un downvote? – TStamper

15

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":

  1. utilizzando continuazioni per consentire di scrivere i processi multi-step che richiedere all'utente informazioni
  2. 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.

Problemi correlati