框架比较:Lift、Play 和 Wicket
Lift、Play 和 Wicket 框架的优点和缺点是什么?哪些特性是各自最好的或仅支持的?
谢谢
What are the advantages and disadvantages of frameworks Lift, Play and Wicket? What characteristics are best or only supported by each?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Play:
基于 Java 的轻量级框架,额外提供 Scala 支持。
非常适合快速原型制作、快速反馈循环等工作。嵌入编译器,因此您只需就地编辑源代码,页面就会立即更新。学习曲线很浅。
Wicket:
基于 Java 的有状态框架,额外提供 Scala 支持。
Scala 的学习曲线较浅,尤其是如果您已经有 wicket 经验的话。
良好的关注点分离,基于 POJO 的模型。可以说是当前最好的 Java Web 框架之一。
Lift:
有状态的原生 Scala 框架。
深度 Scala 集成,因此无需生成 bean setter/getter 方法或担心 Java/Scala 集合之间的互操作。完全拥抱函数式编程概念,例如不变性和闭包。
也是三者中最陡峭的学习曲线。因此,一个常见的建议是在开始使用 Lift 之前先学习 Scala 语言,特别是如果您有 Java 背景。
其他:
还有其他基于 Scala 的框架(例如 Scalatra 和 Pinky)可用于 Web 开发,但不像 Lift 那样出名。检查一下这些也没什么坏处!
有关更多信息,请参阅此问题:有哪些 Scala Web 框架可用?
Play:
Lightweight Java-based framework, with Scala support available as an extra.
very good for rapid prototyping, fast-feedback-loop kind of work. Embeds the compiler, so you just edit source code in place and pages get immediately updated. Learning curve is shallow.
Wicket:
Stateful Java-based framework, with Scala support available as an extra.
Shallower learning curve into Scala, especially if you already have wicket experience.
Good separation of concerns, POJO-based model. Arguably one of the best Java web frameworks currently available.
Lift:
Stateful native-Scala framework.
Deep Scala integration, so no need to generate bean setter/getter methods or worry about interop between Java/Scala collections. Fully embraces functional-programming concepts, such as immutability and closures.
Also the steepest learning-curve of the three. One common piece of advice is therefore to learn the Scala language before getting started with Lift, especially if you come from a Java background.
Others:
There are also other Scala-based frameworks available (such as Scalatra and Pinky) for web development, though not as well-known as Lift. It wouldn't hurt to check these out as well!
For more information, see this question: What Scala web-frameworks are available?
有很多线程比较这些 Scala Web 框架。请参阅
Java/GWT 或 Scala/Lift 框架哪个更好?< /a>
Lift / Wicket:哪个 Java 框架更好/ GWT 还是 Scala/Lift?
对于我的下一个项目(Web 应用程序),应该使用 scala+wicket 还是 scala+lift?
对于一个完整的 Scala 新手来说,基于 Scala 的框架如何堆叠 - Lift、Play、Circumflex 等
There are many threads that compares these web frameworks for Scala. See
Which is better framework Java/GWT or Scala/Lift?
Lift / Wicket here: 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
谈到 Lift 的优势,应该提到 Lift 真正擅长的七件事。简而言之:
只需访问链接页面即可了解更多详细信息 - 这些功能确实使 Lift 独一无二竞争对手之间。
Talking about the advantages of Lift, one should mention Seven Things where Lift really excels. In short:
Just visit the linked page for more details - these features really make Lift unique among competitors.
另请参阅:
https://vaadin.com/ - 用于桌面类应用程序的基于 Java 的有状态框架(基于 GWT、但服务器端,没有 javascript,没有 html)。
http://click.apache.org/ - 用于轻型 Web 应用程序的无状态基于 Java 的框架。
两者都有优秀的文档并且易于学习。
See also:
https://vaadin.com/ - Stateful Java-based framework for desktop-like applications (GWT based, but server-side, no javascript, no html).
http://click.apache.org/ - stateless Java-based framework for light web applications.
Both have excellent documentation and are easy to learn.