海边仍然是一个有效的选择吗?
Seaside 刚刚发布即将推出的 3.0 版本的候选版本,所以它又出现在我的雷达上。由于我目前正在考虑将来的项目使用哪种 Web 框架,我想知道是否值得考虑。唉,《Seaside》的大部分宣传都是从 07 年开始的,对于网络来说可能已经是一两代了。所以我希望这里的社区能够回答一些问题
当您的大部分工作流程主要采用 HTML 格式(例如表单提交)时,基于连续性的框架非常好。对于当今大量使用 JavaScript 的环境,这似乎不再值得了。
Squeak 能够处理合理的工作负载吗?从这里和其他地方的其他问题来看,从长远来看,为了适当扩展另一个实现(Gemstone 等)可能会表现得更好,但我不知道那有多远。会话似乎相当昂贵。
我知道比较很困难,但是您在网上找到的大多数文章都将 Seaside 和 Rails 放在一起。像 Scala/Lift、Clojure/Compojure 或 Erlang/Nitrogen 这样的组合会如何做?
Seaside just released a release candidate for the upcoming 3.0 version, so it appeared on my radar again. As I'm currently pondering what web framework to use for a future project, I wonder whether it's something to consider. Alas, most of the publicity for Seaside is from '07, which is probably one or two generations for the web. So I'm hoping that the community here can answer some questions
Continuation-based frameworks were pretty great when most of your workflow was mostly in HTML, e.g. form submits. For today's JavaScript-heavy environments, that hardly seems worthwhile anymore.
Is Squeak able to handle a reasonable workload? From other questions here and elsewhere, it seems that for proper scaling another implementation (Gemstone etc.) would probably fare better in the long run, but I don't have a proper idea how far away that is. Sessions seem to be rather expensive.
I know that comparisons are hard, but most of the articles you find on the net set Seaside and Rails side by side. How would combinations like Scala/Lift, Clojure/Compojure or Erlang/Nitrogen do instead?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
我对问题一和问题二有答案:
I have answers to question one and two:
还有一本新的海边书:http://book.seaside.st/book
And there is a new seaside book: http://book.seaside.st/book
我发现在具有良好抽象集的 Smalltalk IDE 中工作的生产力超过了工程主导项目中的所有其他问题。对于一家在单个服务器上拥有大约 100 个(同时但不是大量)用户(无需使用 SSD)的小公司来说,它可以作为企业系统运行良好。自 2007 年以来:
性能大幅提高的新“cog”虚拟机已于几周前发布,并显示出提高性能的巨大前景。
I find the productivity of working in a Smalltalk IDE with a good set of abstractions outweights all other issues in engineering dominated projects. It works well as an enterprise system for a small company with about 100 (simultaneous, but not heavy) users on a single server (without going to SSD). Since 2007:
The new 'cog' vm with much improved performance has been released a few weeks ago and shows great promise for improved performance.
在 Smalltalk 中,我们现在需要考虑三个 Web 框架,除了 Seaside 之外,还有
两者后来都有效地解决了类似三的控制流,但不需要延续。两者都具有非常强大的 Ajax 集成,实际上您不再意识到您正在使用 Ajax。
两者在内存消耗方面也都能很好地扩展。 10.000 个会话在 Aida/Web 中花费 220MB,即每个会话大约 23KB,可以进一步优化至每个会话仅为 400B。这意味着您不仅可以从单个 Smalltalk 映像运行多个网站。当然,当您确实需要时,您可以随时升级到负载平衡解决方案。根据我的经验,这是很少需要的。
与 Ruby on Rails 相比,我的一位朋友抱怨说,他销售的每个网上商店网站最初都需要 50MB 内存。然后,他转向 Aida/Web 解决方案,其中图像需要大约相同的 MB,但每个额外的网上商店站点只需几 KB。
In Smalltalk we have now three web frameworks to consider, besides Seaside also
Both later effectively solve three-like control flow, but without needing continuations. Both also have a very strong Ajax integration, actually you don't realize anymore that you are working with Ajax.
Both also scale in memory consumption well. 10.000 sessions spend 220MB in Aida/Web, that is about 23KB per session, which can be further optimized down to mere 400B per session. This means, that you can run not only but many websites from the single Smalltalk image. Of course you can always upgrade to load balancing solution, when you really need. Which is from my experience very rarely needed.
Comparing to Ruby on Rails, a friend of mine complained that he needs 50MB of memory initially for every webshop site he is selling. He then turned to the Aida/Web solution where he needs about the same MB for the image, but then just few KB for every additional webshop site.
Seaside 的开发者 Avi Bryant 表示,AJAX 在几乎所有情况下都能胜任延续。尽管如此,您也可以使用 Seaside 和 AJAX 构建相当强大的应用程序。
Web 应用程序的应用程序部分可以使用 Ajax 在其他框架中很好地完成。
我认为目前缺少像 Cappuccino-for-Clamato 这样的 Seaside 集成 Smalltalk-to-Javascript 框架。我希望能够使用 Smalltalk 构建真正的 Javascript 应用程序。
Avi Bryant, the developer of Seaside, said that AJAX triumphs continuations in almost all situations. Nevertheless, you can build reasonably powerful applications with Seaside and AJAX, too.
The Application part of a Web-App can be done in other frameworks quite well using Ajax.
I think a Seaside integrated Smalltalk-to-Javascript Framework like Cappuccino-for-Clamato is missing, currently. I'd like to be able to build real Javascript-Apps using Smalltalk.
我认为你能做的最好的事情就是在周末制作出一些东西的原型。
如果你可以在两天内完成一个原型,并且你可以吸引一些注意力,并且你喜欢在海边做的开发经验,那么你将为你的下一件事情奠定基础。
它只花费您的时间(您可以在亚马逊服务器上发布)。
顺便说一句,本周我听说一家初创公司手工制作原型(一切都是静态的,他们手动处理东西)。非常惊人、疯狂而且便宜。当他们觉得自己的想法有足够的吸引力时(他们已经拥有了),他们就实现了该应用程序(无论使用什么技术,我确信对于海边开发人员来说这都不是什么挑战)
I think the best thing you can do is a prototype of something in a weekend.
If you can do a prototype in two days and you can capture some attention and you enjoyed the developing experience of doing it with seaside then you'll have the foundation of your next thing.
It costs only your time (you can publish in an amazon server).
BTW, this week I've heard about a startup that made its prototype by hand (was everything static and they processed stuff manually). Pretty amazing and crazy and cheap. When they felt that they had enough traction on the idea (which the had) they implemented the app (with whatever tech, I'm sure is no challenge for a seaside developer)