问题 Seaside中的这些Web服务器有什么区别:Zinc,Kom和Swazoo?


我已经涉足过一段时间了 海滨,并且,想要为一个小项目再次玩它,我下载了一键式图像 菲罗 并且我认为我会通过文档来了解我的方向。 (有一个相关的问题 性能差异 其中两个之间,一个关于 哪些可以服务器静态文件,但都没有解释所有这些之间的差异。)

第一张图片 在海边散步 显示“海边控制面板”中的两个可用服务器: WASwazooAdaptor 和 WAComancheAdaptor。该 Seaside on Pharo的下载页面 说你可以开始 ZincKom, 要么 Swazoo 作为您的Web服务器,并且它们中的任何一个都可以作为Seaside控制面板中的适配器使用。但是,我新下载的图像中的面板只有 WATestServerAdaptorZnZincServerAdaptorZnZincStaticServerAdaptor,和 ZnZincStreamingServerAdaptor。其中第二个是默认情况下唯一可用的。

我收集了所有这些相互矛盾的信息  是最新的,至少在Pharo上使用 - 这是正确的吗?其他的都过时了吗?或者他们各自都有自己的优点和缺点,需要添加到图像中(例如通过蒙蒂塞洛)? Kom和Swazoo仅适用于Squeak吗?我何时会在Pharo上使用三种不同的Zinc服务器?我希望有人能解决我的困惑。


887
2018-05-20 03:51


起源



答案:


从版本1.3开始,Zinc是Pharo的默认和捆绑的HTTP堆栈框架(服务器/客户端)()。据我所知,Zinc仅在Pharo中得到支持。

Kommanche(Kom)是Squeak的默认Web服务器,并且仅在Squeak中支持(它“可以”在Pharo中运行,但只有少数仍然使用它)。

Swazoo尝试在不同的Smalltalk方言中使用一个通用的Web服务器(它是在Camp Smalltalk事件期间构思的)并且依赖于一组称为SPort(Smalltalk Portability)的通用“兼容性类”,并且在一段时间内它成功了一些网络相关解决方案的基线(我做了两个Swazoo端口到Dolphin Smalltalk)。

对于主要依赖的Seaside 3,选择适配器模式以提供通用API,因此不需要为所有Smalltalk方言提供通用Web服务器,只需为每个Web服务器实现一个适配器。对于平台特定功能,选择了一个新的兼容层(润滑脂),也放弃了SPort的依赖性。

Swazoo仍然被AIDA / web框架使用,主要是因为它的作者也是Swazoo本身的主要编码者之一。

关于ZnServer的不同子类,如果你还不知道使用哪一个,那么你只会使用它 ZnZincServerAdaptor startOn: 8080,您将随时确定其他适配器的特定用途。

小费: ZnZincServerAdaptor default server debugMode: true.


16
2018-05-20 15:07



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


答案:


从版本1.3开始,Zinc是Pharo的默认和捆绑的HTTP堆栈框架(服务器/客户端)()。据我所知,Zinc仅在Pharo中得到支持。

Kommanche(Kom)是Squeak的默认Web服务器,并且仅在Squeak中支持(它“可以”在Pharo中运行,但只有少数仍然使用它)。

Swazoo尝试在不同的Smalltalk方言中使用一个通用的Web服务器(它是在Camp Smalltalk事件期间构思的)并且依赖于一组称为SPort(Smalltalk Portability)的通用“兼容性类”,并且在一段时间内它成功了一些网络相关解决方案的基线(我做了两个Swazoo端口到Dolphin Smalltalk)。

对于主要依赖的Seaside 3,选择适配器模式以提供通用API,因此不需要为所有Smalltalk方言提供通用Web服务器,只需为每个Web服务器实现一个适配器。对于平台特定功能,选择了一个新的兼容层(润滑脂),也放弃了SPort的依赖性。

Swazoo仍然被AIDA / web框架使用,主要是因为它的作者也是Swazoo本身的主要编码者之一。

关于ZnServer的不同子类,如果你还不知道使用哪一个,那么你只会使用它 ZnZincServerAdaptor startOn: 8080,您将随时确定其他适配器的特定用途。

小费: ZnZincServerAdaptor default server debugMode: true.


16
2018-05-20 15:07



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