繁体   English   中英

Seaside编程与其他web编程有什么区别

[英]What is the difference between Seaside programmming and other web programming

对我来说,Seaside 的主要观点似乎是它更像是普通的“桌面”编程。

控制流看起来更像“传统”编程而不是“网络”编程。 这是正确的印象吗?

我知道这是关于 Web 编程,但从程序员的角度来看,它看起来不像。 它看起来不仅仅是驱动“桌面”应用程序。 这是否稍微澄清了这个问题?

Seaside 的重点并不是真正类似于桌面编程,尽管它确实试图从 web 开发中消除很多痛苦。 Seaside 以您可能认为“类似桌面应用程序”的两件事而闻名:

  1. 使用延续来允许您编写提示用户输入信息的多步骤流程
  2. 每当单击链接、提交 forms 等时,使用块(闭包)在代码中提供类似事件处理程序的“回调”。

这些东西极大地简化了某些 web 开发任务,尽管第一个最终在实践中很少使用。

不过,Seaside 提供了许多其他功能:

  • 在 Smalltalk 中编写 web 应用程序的能力(非常高效和愉快)
  • 可组合、可重复使用的“组件”
  • 组件可以委托给其他组件,它只替换页面的那部分
  • 易于管理 session state 和某些 state 可以标记为在用户使用后退按钮时回滚,因此在执行回调时它始终具有正确的值
  • 一个非常好的 Canvas API 用于以编程方式生成 HTML,Z6A2D7208853DAFFCB76FB5A7382B0 脚本
  • 能够在运行的站点上实时调试和修复错误

其中大多数不是 Seaside 独有的,但它们有些不寻常。 那么它与其他web编程有什么区别呢? 你可以在 Smalltalk 中写作。 您不必在代码和模板语言之间来回转换上下文。 您不必担心表单字段名称、URL 等,除非/直到您愿意。 如果您使用 Seaside,您可能不会那么讨厌 web 编程。

人们可能会因为 Seaside 的“桌面编程功能”而发现它,但他们通常会为所有其他东西闲逛。

你的印象是正确的。 Seaside 是为我所说的树状控制流而设计的,就像桌面 GUI 应用程序一样。 Aida/Web相比,另一个 Smalltalk web 框架用于类似图形的控制流,这实际上是您在 web 上所拥有的。

但是树状控制流在诸如确认对话框之类的情况下非常有用,或者对于这些天在 Facebook 上非常频繁的弹出窗口非常有用。 这也是我们在 Aida/Web 中引入树状控制流的原因,也就是说,我们将两个控制流结合在一起。

Seaside是一个应用程序框架,用于开发用 smalltalk 编写的 web 应用程序。 看起来像“传统”编程是什么意思

编辑-

Seaside 架构不同于它的 web 页面构建为单个有状态组件的树,每个组件封装页面的一小部分

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM