已经有一段时间了,因为我已经涉足Seaside,而且,想要再次为一个小项目玩一遍,我下载了Pharo的一键式图像并认为我'仔细查看文档以了解我的方向。 (关于performance differences之间存在which ones can server static files的相关问题,其中一个关于A Walk on the Seaside,但两者都没有解释所有这些之间的差异。)
download page for Seaside on Pharo的第一张图片显示了“海边控制面板”中的两个可用服务器:WASwazooAdaptor
和WAComancheAdaptor
。 http://www.restpatterns.org/HTTP_Status_Codes/422_-_Unprocessable_Entity表示您可以启动Zinc
,Kom
或Swazoo
作为您的网络服务器,并且其中任何一个都可以作为海边控制面板中的适配器使用。但是,我新下载的图片中的该面板只有WATestServerAdaptor
,ZnZincServerAdaptor
,ZnZincStaticServerAdaptor
和ZnZincStreamingServerAdaptor
。其中第二个是默认情况下唯一可用的。
我收集了所有这些相互矛盾的信息, Zinc 是最新的,至少在Pharo上使用 - 是正确的吗?其他的都过时了吗?或者他们各自有自己的优点和缺点,需要添加到图像中(例如通过蒙蒂塞洛)? Kom和Swazoo仅适用于Squeak吗?我何时会在Pharo上使用三种不同的Zinc服务器?我希望有人能解决我的困惑。
答案 0 :(得分:17)
Zinc是版本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服务器实现一个适配器。对于特定于平台的功能,选择了一个新的兼容性层(Grease),同时删除了与SPort的依赖关系。
Swazoo仍然被AIDA / web框架使用,主要是因为它的作者也是Swazoo本身的主要编码者之一。
关于ZnServer的不同子类,如果您仍然不知道使用哪一个,那么只使用ZnZincServerAdaptor startOn: 8080
是好的,您将识别其他适配器的特定用途你走了。
提示:ZnZincServerAdaptor default server debugMode: true.