框架比较:Lift、Play 和 Wicket
Posted
技术标签:
【中文标题】框架比较:Lift、Play 和 Wicket【英文标题】:Frameworks comparation: Lift, Play and Wicket 【发布时间】:2011-04-26 15:04:17 【问题描述】:Lift、Play 和 Wicket 框架的优缺点是什么?每个特性最好或仅支持哪些特性?
谢谢
【问题讨论】:
你想要一个支持 scala 的框架吗? @niels 是的,除了问题中引用的那些特性之外,另一个特性是能够很好地分离系统的各个层。我喜欢的框架是 Wicket。如有必要,我将制作一个自定义括号以将其与 Scala 一起使用。 【参考方案1】:有很多线程比较这些 Scala 的 Web 框架。见
Which is better framework Java/GWT or Scala/Lift?
这里的升降机/检票口:Which is better framework Java/GWT or Scala/Lift?
For my next project, a web-app, should use scala+wicket or scala+lift?
How do the Scala based frameworks stack up for a complete Scala newbie - Lift, Play, Circumflex, etc
【讨论】:
您不必点击这些链接。实际上,凯文斯的回答说明了一切。 这些链接很有帮助,尤其是第一个。谢谢 不,请做点击链接!我的总结非常广泛——在细则中还有很多东西要学。 我当然赞成这个答案。【参考方案2】:播放:
基于 Java 的轻量级框架,额外提供 Scala 支持。
非常适合快速原型设计、快速反馈循环类型的工作。嵌入编译器,因此您只需在原地编辑源代码,页面就会立即更新。学习曲线很浅。
检票口:
有状态的基于 Java 的框架,额外提供 Scala 支持。
进入 Scala 的学习曲线较浅,特别是如果您已经有检票口经验。 良好的关注点分离,基于 POJO 的模型。可以说是目前可用的最好的 Java Web 框架之一。
提升:
有状态的原生 Scala 框架。 深度 Scala 集成,因此无需生成 bean setter/getter 方法或担心 Java/Scala 集合之间的互操作。完全包含函数式编程概念,例如不变性和闭包。
也是三者中最陡峭的学习曲线。因此,一个常见的建议是在开始使用 Lift 之前学习 Scala 语言,尤其是如果您有 Java 背景。
其他:
还有其他基于 Scala 的框架(例如 Scalatra 和 Pinky)可用于 Web 开发,但不如 Lift 那样出名。看看这些也没什么坏处!
欲了解更多信息,请参阅此问题:What Scala web-frameworks are available?
【讨论】:
清晰如水晶,一如既往地来自你@Kevin 嘿,谢谢!但你知道这可能会让我进行某种自我之旅,对吧? 感谢@Kevin 的回复,非常有用且完整。 @eelco:你能看出我没用过哪一个吗?我已经更新了答案 我猜 Play 的描述是针对 Play 1.x 的,因为 Play 2(在写完这个答案之后很好地出现了)真的全心全意地拥抱 Scala(同时仍然支持 Java)。 【参考方案3】:另见:
https://vaadin.com/ - 基于 Java 的有状态框架,用于类似桌面的应用程序(基于 GWT,但在服务器端,没有 javascript,没有 html)。
http://click.apache.org/ - 用于轻量级 Web 应用程序的基于 Java 的无状态框架。
两者都有出色的文档并且易于学习。
【讨论】:
【参考方案4】:说到 Lift 的优势,应该提到 Seven ThingsLift 真正擅长的地方。简而言之:
延迟加载 并行页面渲染 彗星和阿贾克斯 连线 -- 声明页面元素之间的相互依赖关系 设计师友好的模板 向导 -- 具有完整后退按钮支持的多页输入屏幕 安全性请访问链接页面了解更多详情 - 这些功能确实让 Lift 在竞争对手中独树一帜。
【讨论】:
以上是关于框架比较:Lift、Play 和 Wicket的主要内容,如果未能解决你的问题,请参考以下文章
Scala下Play框架学习笔记(Actions,Controllers and Results)