【问题标题】:What are the main differences between: Seaside vs Aida vs Iliad之间的主要区别是什么:Seaside vs Aida vs Iliad
【发布时间】:2011-01-09 05:20:39
【问题描述】:

三个 Smalltalk Web 应用程序框架有什么区别?

一些起点:

  • 每个框架的最佳点是什么?您会在哪种情况下使用其中一种?
  • 他们的弱点是什么?
  • 哪个网址最干净?
  • 他们如何处理 Ajax?
  • 他们在使用持久性方面是否有一些偏好?

我只是想确定哪种框架适合每种应用程序。

【问题讨论】:

    标签: smalltalk seaside aida


    【解决方案1】:

    我只能回答海边:

    目标: Seaside 以复杂的 Web 应用程序为目标,重点关注可重用性和开发效率。有自动会话状态管理和后退按钮支持。两本免费在线书籍Dynamic Web Development with SeasideSeaside Tutorial 提供文档。

    弱点:对于 RESTful URL,您必须做一些额外的工作。

    干净的 URL: 对于 RESTful URL,您必须做一些额外的工作,但这是值得的(例如 Pier)。

    AJAX: Seaside 中集成了大量的 AJAX 库(jQueryjQueryUIPrototypescript.aculo.us,...)。这些集成使您可以从 Smalltalk 中完全访问这些库。新库可以轻松集成,例如JQueryWidgetBox.

    持久性: Seaside 是一个 Web 应用程序框架,而不是持久性框架。您可以使用最适合您的任何持久性解决方案,例如宝石、商品、GLORP、...

    另请参阅 StackOverflow 上的其他问题/讨论:

    【讨论】:

      【解决方案2】:

      我可以在伊利亚特方面说些什么:

      Sweet spot(s):它可以轻松处理 AJAX。对我来说,那是让我转向伊利亚特的转折点。此外,它非常小巧且不臃肿,您可以在一天内阅读整个代码并掌握它的工作原理。

      弱点:社区也很小。这导致缺乏文档、附加模块或预制小部件。 OTOH,小社区往往更愿意互相帮助,所以几乎所有的疑问都可以通过在邮件列表中提问来解决。

      URL:好吧,由于默认情况下 Iliad 中的所有调用都是 AJAX,因此 URL 始终保持干净。

      Ajax: 是的。免费且默认。您只需#markDirty 一个小部件,它就会自动更新。定义依赖关系就像发送#addDependantWidget: 到一个小部件一样容易,因此当第一个被标记为脏时,两者都会被更新。此外,如果客户端没有支持 javascript 的浏览器,所有调用将自动回退到常规 HTTP 请求。

      持久性:没有偏好。由于模型与框架分离(我认为这适用于三个框架),您仍然可以遵循与 Aida 或 Seaside 相同的准则。

      【讨论】:

        【解决方案3】:

        对于Aida/Web

        甜蜜点:开箱即用的实时网络支持,适用于内容网站和复杂的网络应用程序,HTML5 和移动支持,包括网络服务器,因此它在安装后立即运行,您可以提供许多虚拟来自同一张图片的网站。

        缺点:缺乏文档,社区小

        URLs: 始终清理类似 REST 的 URL,因为 Aida 从一开始就遵循 moto:每个域对象都可以有它的 URL(也由 Alan Kay 编写),域对象甚至可以选择它的网址本身。

        Ajax: 无缝集成,您再也看不到它了,一切都在那里。要刷新网页上的某些元素,您只需调用e update。无需了解任何 jQuery 或其他 JavaScript。实时网络应用程序也是如此。 WebSocket 协议是支持的浏览器上的默认通信通道,用于在浏览器和基于 Aida 的服务器之间交换 JSON 消息。

        持久性:默认开启基于图像的持久性,每小时自动快照一次。为下一步提供宝石/玻璃支持。如果需要,关系/其他数据库是域级别的职责。

        更多:

        【讨论】:

          【解决方案4】:

          对于 Seaside 的一些持久性解决方案,有一个 page。那里的大多数解决方案都独立于 Seaside。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-03-21
            • 1970-01-01
            • 2011-05-23
            • 2012-04-21
            • 2010-10-18
            相关资源
            最近更新 更多