2015-05-20 13 views
11

È passato un po 'di tempo da quando mi sono dilettato su Seaside e, volendo riprovare per un piccolo progetto, ho scaricato l'immagine con un clic per Pharo e ho pensato di consultare la documentazione per ottenere i miei consigli . (C'è una questione connessa su performance differences tra due di questi, e uno su which ones can server static files, ma nessuno spiega le differenze tra tutti loro.)Qual è la differenza tra questi server Web in Seaside: Zinc, Kom e Swazoo?

La prima immagine di A Walk on the Seaside mostra due server disponibili nel "Pannello di controllo Mare": WASwazooAdaptor e WAComancheAdaptor. Lo download page for Seaside on Pharo indica che è possibile avviare Zinc, Kom o Swazoo come server Web e che uno di questi è disponibile come adattatore dal pannello di controllo Seaside. Tuttavia, quel pannello nella mia immagine appena scaricata ha solo WATestServerAdaptor, ZnZincServerAdaptor, ZnZincStaticServerAdaptor e ZnZincStreamingServerAdaptor. Il secondo di questi è l'unico disponibile per impostazione predefinita.

Raccolgo da tutte queste informazioni contrastanti che Zinc è l'ultimo da usare, almeno su Pharo - è corretto? Gli altri sono tutti superati? O hanno ciascuno i loro punti di forza e di debolezza e devono essere aggiunti all'immagine (ad esempio via Monticello)? Kom e Swazoo sono solo per Squeak? Quando dovrei usare i tre diversi server Zinc su Pharo? Spero che qualcuno possa chiarire la mia confusione.

risposta

16

Zinc è il framework stack stack HTTP (server/client) predefinito per Pharo dalla versione 1.3 (Zinc). Per quanto ne so, lo zinco è supportato solo in Pharo.

Kommanche (Kom) è il server Web predefinito di Squeak ed è supportato solo in Squeak (può "funzionare" in Pharo, ma solo alcuni lo utilizzano ancora).

Swazoo era un tentativo di avere un server Web comune tra diversi dialoghi Smalltalk (era concepito durante un evento Camp Smalltalk) e dipendeva da un insieme comune di "classi di compatibilità" chiamato SPort (Smalltalk Portability), e per un po ' è riuscito ad essere la linea di base di alcune soluzioni web (ho fatto due porte di Swazoo a Dolphin Smalltalk).

Con Seaside 3, che era la sua principale dipendenza, il Pattern adattatore è stato scelto per fornire un'API comune, quindi non c'era bisogno di avere un server web comune per tutti i dialetti Smalltalk, solo un adattatore per ogni implementazione del server web. E per le funzionalità specifiche della piattaforma è stato selezionato un nuovo livello di compatibilità (Grease), eliminando anche la dipendenza con SPort.

Swazoo viene ancora utilizzato dalla struttura AIDA/Web, principalmente perché il suo autore è anche uno dei principali programmatori di Swazoo.

Per quanto riguarda le diverse sottoclassi di ZnServer, se non si sa ancora quale utilizzare, è sufficiente utilizzare ZnZincServerAdaptor startOn: 8080 per identificare l'uso specifco degli altri adattatori man mano che si procede.

Suggerimento: ZnZincServerAdaptor default server debugMode: true.

+0

Esattamente quello che cercavo in una risposta - applausi! Anche se questo significa un po 'di confusione e il codice non è sincronizzato con la documentazione, è bello vedere che Seaside è ancora attivamente sviluppata. –

Problemi correlati