之间的主要区别是:Seaside vs Aida vs Iliad

时间:2011-01-09 05:20:40

标签: smalltalk seaside aida

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

一些起点:

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

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

4 个答案:

答案 0 :(得分:6)

我只能回答海边:

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

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

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

AJAX:在Seaside中集成了大量AJAX库(jQueryjQueryUIPrototypescript.aculo.us,...) 。通过集成,您可以从Smalltalk中完全访问这些库。可以容易地集成新的库,例如, JQueryWidgetBox

持久性:Seaside是一个Web应用程序框架,而不是一个持久性框架。您可以使用最适合您的持久性解决方案,例如: GemStone,GOODS,GLORP,......

另见StackOverflow上的其他问题/讨论:

答案 1 :(得分:6)

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

Sweet spot(s):它无痛地处理AJAX。对我而言,这是转向Iliad的转折点。此外,它非常小而且非膨胀,您可以在一天内阅读整个代码,并掌握它的工作原理。

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

网址嗯,因为默认情况下Iliad中的所有调用都是AJAX,所以URL始终保持干净。

Ajax:是的。免费,默认情况下。你只需#markDirty一个小部件,它会自动更新。依赖关系很容易定义为将#addDependantWidget:发送到窗口小部件,因此当第一个被标记为脏时,两者都将被更新。此外,如果客户端没有支持JavaScript的浏览器,则所有呼叫都将自动回退到常规HTTP请求。

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

答案 2 :(得分:5)

对于Aida/Web

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

缺点:缺乏文档,小社区

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

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

持久性:默认情况下,每小时启用基于图像的持久性自动快照。 Gemstone / GLASS支持提供下一步。如果需要,关系/其他DB是域级别的职责。

更多信息:

答案 3 :(得分:1)

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