首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >延续是Seaside的一个关键特性吗?

延续是Seaside的一个关键特性吗?
EN

Stack Overflow用户
提问于 2011-11-26 23:10:27
回答 2查看 769关注 0票数 10

我正在试着跟上Smalltalk / Seaside的速度。根据Wikipedia的说法,"Seaside是一个基于延续的web应用程序框架“。我有Java背景,所以对continuations不是很熟悉。

通过一些阅读,我了解到延续是用来维护状态的,从而保存了进程的快照,并可以在以后恢复(类似于将Windows置于休眠模式)。

这与Seaside的“后退”按钮的使用最相关吗?使用代码块和“回调”与使用continuations不同吗?

我也在尝试评估在Seaside中实际使用continuations的当前重要性。我之所以感到困惑,是因为许多在线参考提到Seaside是一个关键的、具有决定性的特性。然而,我也找到了一些文章,提到在Seaside中使用continuations并不常用,实际上也不是一个关键特性。

非常感谢您提供的任何有用的意见,帮助我解决这个问题!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-27 02:10:30

最初,Seaside使用continuations对页面之间的流进行建模,并启用back按钮。对于Seaside 3.0,这不再是真的:延续是完全可选的。如果你想使用call: and answer: functionality,你可以加载Seaside-Flow包。除此之外,Seaside应用程序是无延续的。

无论哪种方式,作为web应用程序开发人员,您都不会看到(或看到)延续。它们是一个实现细节,被很好地封装在Seaside web框架中。

更新:Sebyd3.0状态下的是通过为每个请求存储一个特殊对象来管理的。此对象会记住该时间点的应用程序状态。如果用户返回,对象知道如何恢复和恢复到以前的状态。在这一点上,这个对象的行为类似于延续(该类被称为WASessionContinuation),但是它的实现非常不同。它不会快照执行堆栈,而只会快照应用程序状态的特定部分(这就是消耗较少内存的原因)。此外,它不会像code那样跳到代码中,而是将必要的恢复逻辑作为模板方法WASessionContinuation>>#handleRequest的一部分来实现(这就是它更快的原因)。

票数 13
EN

Stack Overflow用户

发布于 2011-11-28 20:54:29

延续是一个关键特性,它表明可以使用正确的抽象进行web编程。这使得Seaside能够吸引聪明的开发人员,他们喜欢在正确的抽象级别进行开发,并随之而来的生产力收益。但这并不意味着它是您的web应用程序的正确抽象,也不意味着Seaside需要它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8279339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档