【问题标题】:play vs wicket? [closed]玩与检票口? [关闭]
【发布时间】:2013-02-28 05:18:55
【问题描述】:

我打算在 scala 中开发一个 Web 应用程序。我是 scala 的新手,对可用的框架感到困惑。我应该去玩还是去检票口。我有一些使用 MVC 架构的经验。请解释一下使用它们的优点和缺点。我可以将它们相互结合使用吗?

提前致谢。

【问题讨论】:

  • 如果你打算用 Scala 编程,你会在 play 社区或 Lift 中找到更多支持(我猜)。另见stackoverflow.com/questions/2104724/…
  • 我不知道 Wicket 是否支持 Scala——根据我对这两个框架(play 1.2.x)的经验,我知道你可以使用 play 框架更快地开发,因为几乎没有html/javascript/ajax 功能中的任何限制,其中 ajax 调用可能很难/在 wicket 中实现很多工作

标签: scala playframework wicket


【解决方案1】:

Play 和 Wicket 都是具有可靠设计和出色、活跃且响应迅速的社区的框架。我在一个中型项目中使用了 Wicket,每当我在 Wicket mailing list 上提出问题时,我几乎都能立即得到反馈。

两个框架之间的主要区别之一是它们处理状态的方式:Wicket 将状态存储在服务器上,而 Play 非常严格地遵循 REST“无状态”原则,倾向于在客户端(或在 URL 中)。

以一个简单的 AJAX 计数器为例:

  • 在典型的 Wicket 实现中(参见 Wicket Ajax Counter example),您将将计数器存储在服务器上(在 Model[Integer] 中)。当您单击该链接时,将对服务器进行 AJAX 调用,在该服务器上更新模型(即计数器递增),并将更新后计数器的 HTML 标记发回并显示。
  • Play 实现很可能将计数器存储在客户端的网页上,并使用jQuery 之类的东西来更新计数器。

在服务器上存储状态有其优点(例如,程序员易于使用)和缺点(会话超时时状态丢失),因此根据您的业务需求,一种框架可能比另一种更适合。

【讨论】:

  • 可以结合使用吗?
  • 你为什么想要那个? – 您可以使用相同的后端并在 Wicket 上运行一个 UI,在 Play 上运行另一个 UI,是的。
猜你喜欢
  • 2017-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-20
  • 1970-01-01
  • 2023-03-17
  • 2017-04-04
相关资源
最近更新 更多