问题描述
鉴于Scala语言的各种优势,我决定用Scala编写下一个Web应用程序.但是,我应该使用Wicket还是Lift?我熟悉Wicket,并且相当喜欢它,但是对Lift却了解甚少.在这种情况下,学习Lift值得付出努力吗?
Given the various advantages of the Scala language I have decided to write my next web-application in Scala. However, should I be using Wicket or Lift? I am familiar with Wicket, and like it quite a bit, but know very little about Lift. Is learning Lift worth the effort in this context?
按顺序来说,Lift与Wicket相比如何?鉴于该网络应用程序将在Scala中使用,使用Lift可以使我作为开发人员的生活更轻松吗?
In order words, how does Lift compare to Wicket? Given that the web-app will be in Scala, could using Lift make my life as a developer easier?
推荐答案
如果您喜欢Wicket,则应该坚持自己所知道的&喜欢. Wicket是一个很好的Web框架,它可以执行Scala& Wicket非常好,因为您可以使用Scala的特征在Wicket中编写类……这确实减少了与Java的样板.
If you like Wicket, you should stick with what you know & like. Wicket is a fine web framework and doing Scala & Wicket is very nice because you can use Scala's traits to compose classes in Wicket... it really cuts down the boilerplate vs. Java.
提升具有Wicket所没有的优势:
Lift has strengths that Wicket doesn't:
- 更好的Ajax支持. Lift的Ajax支持比Wicket的冗长得多.如果您打算做很多Ajax,那么学习Lift可能会很有价值.
- 竞争支持.如果您的应用程序具有服务器推送组件,那么Lift提供的彗星支持比任何其他Web框架都要好.
- 提升更像Scala.如果您来自Java,那么Lift对模式匹配和函数传递的使用是一条学习曲线.
就此线程中的注释而言,我想不同意一些所作的陈述:
In terms of the comments in this thread, I'd like to disagree with some of the statements made:
- Lift不需要您将演示文稿和业务逻辑混在一起.从表达方式和逻辑方式的完全脱离到自由和随意地混合两者,您有无数种选择来构造适合您的编码样式的应用程序.您的选择.
- Lift与Rails的作用不同. Lift不是另一个我也不太喜欢的MVC框架,我也没有将很多时间都集中在Lift的CRUD方面. Lift与安全性,开发人员生产力,可维护性以及构建高度交互性(Ajax和Comet)的Web应用有关. Lift库包含许多模块,其中包括许多ORM模块,JSON支持等.这部分是由于2-3年前Scala中的库匮乏,以及Lift社区很棒,支持,Lift的发布过程效果很好(每月的里程碑发布非常稳定,足以为Foursquare提供支持.)
- 提升并不专注于HTTP请求/响应周期. Lift致力于将那些东西抽象化.开发人员花费更少的时间来担心参数命名,而将更多的时间用于业务逻辑上.
但是,再次重申一下,如果您喜欢Wicket,那么坚持使用Wicket是一个不错的选择……Wicket在Scala中甚至更好.
But, once again, if you like Wicket, sticking with Wicket is a great choice... Wicket's even better in Scala.
这篇关于对于我的下一个项目,一个Web应用程序,应该使用scala + wicket还是scala + lift?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!