代码之家  ›  专栏  ›  技术社区  ›  mhd

海滨仍然是一个有效的选择吗?

  •  34
  • mhd  · 技术社区  · 15 年前

    海边 just released 即将发布的3.0版本的候选版本,所以它再次出现在我的雷达上。由于我目前在思考未来的项目中使用什么样的Web框架,我想知道它是否值得考虑。唉,海滨的大部分宣传活动都是从07年开始的,这可能是网络的一代或两代人。所以我希望这里的社区能回答一些问题

    1. 当大多数工作流程主要是HTML(例如表单提交)时,基于延续的框架非常好。对于今天的JavaScript重环境来说,这似乎已经不值得了。

    2. Squeak是否能够处理合理的工作量?从这里和其他地方的其他问题来看,为了适当地扩展另一个实现(gemstone等),从长远来看可能会更好,但我不知道这有多远。疗程似乎很贵。

    3. 我知道比较很难,但是你在网上找到的大多数文章都是并排放在海边和铁轨上的。scala/lift、clojure/compojure或erlang/nitrogen的组合如何?

    6 回复  |  直到 14 年前
        1
  •  20
  •   Lukas Renggli    15 年前

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

    1. 这是真的。然而,由于版本2.8 Seaside不再是一个严格的“基于延续的”框架。Seaside仅在流模块中使用continuations。由于Seaside3.0,流量模块甚至是可选的。还要注意,Seaside自2005年以来就拥有强大的JavaScript支持,这早于主流框架开始添加JavaScript功能。现在Seaside内置了jquery和jqueryui支持。
    2. 当然,这取决于存储在会话对象中的内容,但通常会话很小(小于20 kib)。使用应用程序中的内存分析器来确定确切的内存消耗。
        2
  •  16
  •   Mariano Peck    15 年前

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

        3
  •  12
  •   Janko MivÅ¡ek    15 年前

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

    二者都有效地解决了三类控制流,但不需要继续。两者都有一个非常强大的Ajax集成,实际上您不再认识到您正在使用Ajax。

    两者都能很好地扩展内存消耗。 10.000 sessions spend 220MB 在aida/web中,每个会话约23kb,可以进一步优化到每个会话仅400b。这意味着,您不仅可以从单个smalltalk图像运行许多网站,还可以运行许多网站。当然,当您真正需要时,您可以随时升级到负载平衡解决方案。从我的经验来看,这是很少需要的。

    与RubyonRails相比,我的一个朋友抱怨说,他最初需要50MB的内存用于他销售的每个Webshop站点。然后,他转向AIDA/Web解决方案,在该解决方案中,他需要的图像大小大致相同,但对于每个额外的Webshop站点,只需要几KB。

        4
  •  11
  •   Stephan Eggermont    15 年前

    我发现在一个小型化的IDE中使用一组好的抽象的工作效率超过了工程主导的项目中的所有其他问题。对于一家小型公司来说,它是一个很好的企业系统,一台服务器上有大约100个用户(同时使用,但不是很重)(不使用SSD)。自2007以来:

    • Seaside已经证明能够从HTML工作流切换到JavaScript工作流;
    • 海边已经被预示着许多不同的小会谈;
    • 见过宝石释放玻璃;

    新的“COG”虚拟机在几周前发布,性能有了很大的提高,显示了改进性能的巨大希望。

        5
  •  4
  •   Richard Durr    15 年前

    Seaside的开发者Avi Bryant说,Ajax在几乎所有情况下都能成功延续下去。不过,您也可以使用Seaside和Ajax构建相当强大的应用程序。

    Web应用程序的应用程序部分可以在使用Ajax的其他框架中很好地完成。

    我认为目前还缺少一个Seaside集成的smalltalk-to-javascript框架,比如用于clamato的cappuccino。我希望能够使用smalltalk构建真正的javascript应用程序。

        6
  •  4
  •   Community CDub    8 年前
    1. Javascript很棒,但是能够在服务器端以一种干净、廉价的方式处理复杂的工作流(Seaside允许您这样做),这就阻止了它的过时。经济和效用是短期和长期的回报。但从抽象的角度讲这一点毫无价值。您应该讨论一个精确的应用程序,并决定海滨是否是您的一系列竞争优势的一部分,从而形成一个摇摆不定的方程式(并知道为什么)。
    2. 关于使用Seaside扩展工作负载,简短的答案是您可以像hell-yah那样进行扩展(对于长答案,请在此处检查我的答案: Does Seaside scale? )
    3. 无法回答的人:)这是你真正想问的问题的一个变种。

    我认为你能做的最好的事情就是在周末制作一个模型。

    如果你能在两天内完成一个原型,你可以捕捉到一些注意力,并且你享受着与海边一起开发的经验,那么你就有了下一件事情的基础。

    它只花费你的时间(你可以在亚马逊服务器上发布)。

    顺便说一句,这周我听说一家初创公司手工制作了它的原型(所有东西都是静态的,他们手工处理)。相当惊人,疯狂和廉价。当他们觉得他们对这个想法有足够的吸引力时,他们实施了这个应用程序(无论用什么技术,我相信对于海边的开发者来说都不是什么挑战)。