В чем разница между этими веб-серверами в Seaside: Zinc, Kom и Swazoo?

Прошло некоторое время с тех пор, как я занялся Seaside и, желая снова поиграть с ним для небольшого проекта, Я загрузил однократное изображение для Pharo и подумал, что просмотрю документацию, чтобы понять. (Существует связанный с этим вопрос о различиях в производительности между двумя из них и один о какие из них могут содержать статические файлы сервера, но не объясняет различия между ними.)

Первое изображение A Walk on the Seaside показывает два доступных сервера в "Seaside Control Panel": WASwazooAdaptor и WAComancheAdaptor. На странице загрузки для Seaside on Pharo вы можете запускать как Zinc, Kom, так и Swazoo в качестве своего веб-сервера, и что любой из них доступен в качестве адаптера с панели управления на море. Однако эта панель только что загруженного изображения имеет WATestServerAdaptor, ZnZincServerAdaptor, ZnZincStaticServerAdaptor и ZnZincStreamingServerAdaptor. Второй из них - единственный доступный по умолчанию.

Я собираюсь из всей этой противоречивой информации о том, что Цинк является последним для использования, по крайней мере на Pharo - это правильно? Остальные устарели? Или каждый из них имеет свои сильные и слабые стороны и должен быть добавлен к изображению (например, через Monticello)? Есть Ком и Свазу только для Писка? Когда я буду использовать три разных сервера Zinc на Pharo? Я надеюсь, что кто-то сможет очистить мое замешательство.

Ответ 1

Цинк - это стандартная и связанная инфраструктура стека HTTP (сервер/клиент) для Pharo с версии 1.3 (Zinc). Насколько я знаю, цинк поддерживается только в Фаро.

Kommanche (Kom) является веб-сервером Squeak по умолчанию и поддерживается только в Squeak (он может "работать" в Pharo, но только некоторые из них все еще используют его).

Swazoo был попыткой иметь общий веб-сервер среди разных диалектов Smalltalk (он был задуман во время события Camp Smalltalk) и зависел от общего набора "классов совместимости", называемых SPort (Smalltalk Portability), и в течение некоторого времени он удалось стать базой некоторых веб-решений (я сделал два порта Swazoo для Dolphin Smalltalk).

С Seaside 3, которая была его основной зависимой, шаблон адаптера был выбран для предоставления общего API, поэтому не было необходимости иметь общий веб-сервер для всех диалектов Smalltalk, всего один адаптер для каждой реализации веб-сервера. Для специальных функций платформы был выбран новый уровень совместимости (Grease), отменив зависимость с помощью SPort.

Swazoo все еще используется платформой AIDA/web, главным образом потому, что его автор также является одним из основных кодеров самого Свазо.

Что касается разных подклассов ZnServer, если вы все еще не знаете, какой из них использовать, вы будете хороши только с помощью ZnZincServerAdaptor startOn: 8080, вы будете определять, как использовать другие адаптеры, когда вы идете.

Совет: ZnZincServerAdaptor default server debugMode: true.