Seaside仍然是有效的选择吗?

mhd*_*mhd 34 smalltalk seaside

Seaside 刚刚发布了即将推出的3.0版本的候选版本,所以它再次出现在我的雷达上.由于我正在考虑将来用于未来项目的Web框架,我想知道是否需要考虑这个问题.唉,Seaside的大部分宣传都来自'07,这可能是网络的一代或两代.所以我希望这里的社区可以回答一些问题

  1. 当您的大部分工作流程主要使用HTML时,基于延续的框架非常好,例如表单提交.对于今天的JavaScript环境来说,这几乎不值得.

  2. Squeak能够处理合理的工作量吗?从这里和其他地方的其他问题来看,似乎对于适当的扩展,另一种实现(Gemstone等)从长远来看可能会更好,但我不知道它有多远.会议似乎相当昂贵.

  3. 我知道比较很难,但是你在网上找到的大多数文章都将海边和Rails并列.像Scala/Lift,Clojure/Compojure或Erlang/Nitrogen这样的组合会如何呢?

Luk*_*gli 19

我有第一和第二个问题的答案:

  1. 这是真的.然而,自2.8版以来,Seaside不再是一个严格的"基于延续"的框架.Seaside仅在流量模块中使用延续.从Seaside 3.0开始,流量模块甚至是可选的.另请注意,自2005年以来,Seaside拥有强大的Javascript支持,这在主流框架开始添加Javascript功能之前很久.今天Seaside内置了JQuery和JQueryUI支持.
  2. 当然,这取决于您在会话对象中存储的内容,但通常会话很小(小于20 KiB).使用应用程序中的内存分析器确定准确的内存消耗.


小智 15

还有一本新的海边书:http://book.seaside.st/book


Jan*_*šek 11

在Smalltalk中,除了Seaside之外,我们现在还有三个需要考虑的Web框架

两者都有效地解决了三个类似的控制流程,但不需要延续.两者都有一个非常强大的Ajax集成,实际上你不再意识到你正在使用Ajax.

两者都很好地缩放了内存消耗.10.000个会话在Aida/Web上花费220MB,每个会话大约23KB,可以进一步优化到每个会话400B.这意味着,您不仅可以运行单个Smalltalk图像中的许多网站.当然,您可以随时升级到负载平衡解决方案.这是我很少需要的经验.

与Ruby on Rails相比,我的一位朋友抱怨他最初需要50MB的内存用于他所销售的每个网店.然后,他转向Aida/Web解决方案,他需要大约相同的MB图像,但是每增加一个网店的网站只需几KB.


Ste*_*ont 11

我发现在Smalltalk IDE中工作的生产率有一套好的抽象,超过了工程主导项目中的所有其他问题.它适用于小型公司的企业系统,在单个服务器上具有大约100个(同时但不重)用户(无需转到SSD).自2007年以来:

  • Seaside已经证明能够从html工作流程切换到javascript工作流程;
  • Seaside已被移植到许多不同的Smalltalks;
  • 已见过Gemstone发布GLASS;

几周前发布了性能大大提高的新"cog"vm,并显示出改善性能的巨大希望.