Smalltalk 《海边》与《艾达》与《伊利亚特》的主要区别是什么

Smalltalk 《海边》与《艾达》与《伊利亚特》的主要区别是什么,smalltalk,seaside,aida,Smalltalk,Seaside,Aida,三个Smalltalk web应用程序框架之间有什么区别 一些出发点: 每个框架的最佳点是什么?在哪种情况下,您会使用其中一种 他们的弱点是什么 哪一个有最干净的URL 他们如何处理Ajax 他们对持久性的使用有偏好吗 我只是想确定哪种框架适合每种应用程序。我只能回答Seaside: Target:Seaside以复杂的web应用程序为目标,重点关注可重用性和开发效率。有自动会话状态管理和后退按钮支持。这两本免费的在线书籍并提供文档 缺点:对于RESTful URL,您必须做一些额外的工作

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

一些出发点:

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

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

我只能回答Seaside:

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

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

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

AJAX:Seaside(、、…)中集成了大量AJAX库。通过集成,您可以从Smalltalk中完全访问这些库。新的库可以很容易地集成,例如

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

另请参见有关StackOverflow的其他问题/讨论:


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

我可以从伊利亚特的角度说:

最佳点:它可以轻松处理AJAX。对我来说,这是一个转折点,让我转向了《伊利亚特》。而且,它非常小而且不臃肿,您可以在一天内阅读整个代码并掌握它的工作原理

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

URL:好吧,由于ILID中的所有调用在默认情况下都是AJAX,所以URL始终保持干净

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

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

以及:

亮点:即时web支持开箱即用,对于内容网站和复杂的web应用程序,HTML5和移动支持,包括web服务器,因此安装后立即工作,您可以从同一图像为多个虚拟网站提供服务

缺点:缺乏文档,社区规模小

URL:始终清理REST类URL,因为Aida从一开始就遵循moto:每个域对象都可以有自己的URL(也是Alan Kay写的),域对象甚至可以自己选择自己的URL

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

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

更多信息:

  • 来自艾达中心 透视图
  • 显示最新的实时web/HTML5 特性,作为示例比较计划的一部分