Seaside编程和其他Web编程有什么区别

发布于 2024-07-16 12:24:33 字数 173 浏览 11 评论 0原文

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

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

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

To me it seems the main point of Seaside is that it is more like normal "desktop" programming.

The control flow looks much more like "traditional" programming instead of
"web" programming. Is that a correct impression?

I know it's about Web programming but it's does not looks like it from the programmers side. It looks much more than driving "desktop" applications. Does this clarify the question a bit?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

热鲨 2024-07-23 12:24:33

Seaside 的重点并不在于真正像桌面编程,尽管它确实试图减轻 Web 开发的大部分痛苦。 Seaside 因两件事而闻名,您可能会认为“类似于桌面应用程序”:

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

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

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

  • 在 Smalltalk 中编写 Web 应用程序的能力(非常高效且令人愉快)
  • 可组合、可重用的“组件”
  • 组件可以委托给其他组件,从而仅替换页面的该部分
  • 轻松管理会话状态和某些特定功能每当用户使用“后退”按钮时,状态都可以标记为回滚,因此在执行回调时它始终具有正确的值
  • 用于以编程方式生成 HTML、JQuery、Scriptaculous 的非常好的 Canvas API
  • 能够在运行中实时调试和修复错误其中

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

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

The point of Seaside is not really to be like desktop programming, though it does try to take much of the pain out of web development. Seaside is known for two things which you might consider "desktop-application-like":

  1. using continuations to allow you to write multi-step processes that prompt the user for information
  2. using blocks (closures) to provide event-handler-like "callbacks" into your code whenever links are clicked, forms submitted, etc.

These things vastly simplify certain web development tasks, though the first ends up being used fairly infrequently in practice.

Seaside provides many other things, though:

  • The ability to write web applications in Smalltalk (very productive and pleasant)
  • Composable, reusable "components"
  • Components can delegate to other components, which replaces just that part of the page
  • Easy management of session state and certain state can be marked to be rolled back whenever the user uses the Back button so it always has the correct value when callbacks are executed
  • A very nice Canvas API for programatically generating HTML, JQuery, Scriptaculous
  • The ability to debug and fix errors live on a running site

Most of these are not unique to Seaside but they are somewhat unusual. So how is it different from other web programming? You get to write in Smalltalk. You don't have to mentally context-shift back and forth between code and a templating language. You don't have to worry about form field names, URLs, etc. unless/until you want to. You probably won't hate web programming as much if you use Seaside.

People may discover Seaside because of its "desktop programming features" but they usually hang around for all the other stuff.

月亮邮递员 2024-07-23 12:24:33

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

但树状控制流在诸如确认对话框之类的情况下非常有用,或者对于像现在 Facebook 上频繁出现的弹出窗口这样的情况非常有用。 这就是为什么我们也在 Aida/Web 中引入树状控制流,即将两种控制流结合在一起。

Your impression is correct. Seaside is designed for what I call a tree-like control flow, as desktop GUI apps have. Comparing to the Aida/Web, another Smalltalk web framework, which is meant for graph-like control flow, and that is actually what you have on the web.

But tree-like control flow is very useful in such cases like confirmation dialogs, or for popups like those very frequent on Facebook these days. That's why we are introducing the tree-like control flow in Aida/Web too, that is, we are combining both control flows together.

甜嗑 2024-07-23 12:24:33

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

编辑-

海边架构与后者的网页构建为独立的有状态组件的树不同,每个组件封装了页面的一小部分

Seaside is an app framework for developing web apps written in smalltalk. What do you mean by it looks like "traditional" programming

Edit-

Seaside architecture is different from in which its web pages are built as trees of individual, stateful components, each encapsulating a small portion of a page

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文