这些Seaside的Web服务器:Zinc、Kom和Swazoo有什么区别?

12

我已经有一段时间没有涉足Seaside了,想再次在一个小项目中玩一下它,于是我下载了Pharo的一键式镜像,并打算浏览文档以便了解情况。(有一个关于这两者之间性能差异的相关问题,以及一个关于哪些可以提供静态文件服务的问题,但都没有解释它们之间的区别。)

海滩漫步的第一张图片显示了“Seaside控制面板”中两台可用服务器:WASwazooAdaptorWAComancheAdaptorPharo上Seaside的下载页面上说,您可以启动ZincKomSwazoo作为您的Web服务器,并且其中任何一个都可以从Seaside控制面板中作为适配器使用。然而,在我新下载的镜像中,该面板仅包含WATestServerAdaptorZnZincServerAdaptorZnZincStaticServerAdaptorZnZincStreamingServerAdaptor。其中第二个是默认情况下唯一可用的。

我从这些相互矛盾的信息中得知,Zinc 是最新的使用方式,至少在 Pharo 上是这样的 - 这是正确的吗?其他的方式都已经过时了吗?还是它们各自有其优缺点,并且需要通过 Monticello 添加到图像中?Kom 和 Swazoo 只适用于 Squeak 吗?何时应该在 Pharo 上使用三种不同的 Zinc 服务器?我希望有人能解决我的困惑。
1个回答

18
Zinc是Pharo的默认和捆绑的HTTP堆栈框架(服务器/客户端),自1.3版本( Zinc)以来一直如此。据我所知,Zinc仅受Pharo支持。
Kommanche(Kom)是Squeak的默认Web服务器,并且仅在Squeak中得到支持(它“可以”在Pharo中运行,但只有少数人仍在使用它)。
Swazoo是在Camp Smalltalk事件期间构思出的一种在不同Smalltalk方言之间拥有共同Web服务器的尝试,它依赖于称为SPort(Smalltalk Portability)的一组通用性类别,而在一段时间内,它成功成为了一些与Web相关的解决方案的基线(我进行了两个Swazoo到Dolphin Smalltalk的移植)。
随着Seaside 3的推出,它是其主要依赖项,选择了适配器模式来提供一个公共API,因此没有必要为所有Smalltalk方言都拥有一个共同的Web服务器,只需要为每个Web服务器实现选择一个适配器。并且对于特定于平台的功能,选择了新的兼容性层( Grease),也放弃了与SPort的依赖关系。

Swazoo仍被AIDA/web框架使用,主要是因为其作者也是Swazoo的主要编码人员之一。

关于ZnServer的不同子类,如果您仍然不知道该使用哪个,只使用ZnZincServerAdaptor startOn:8080即可,您将随着使用逐渐确定其他适配器的具体用途。

提示:ZnZincServerAdaptor default server debugMode: true.


这正是我在答案中寻找的 - 谢谢!即使这意味着有点混乱,代码与文档不同步,但很高兴看到Seaside仍在积极开发中。 - Amos M. Carpenter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接