为什么我要在Java/Spring上使用Scala/Lift?
我知道这个问题有点悬而未决,但我一直在考虑将Scala/Lift作为Java/Spring的替代品,我想知道Scala/Lift相对于它的真正优势是什么。从我的角度和经验来看,Java注释和Spring确实减少了应用程序的编码量。Scala/Lift是否在这方面有所改进?只是为了好玩。为了学习新的编程方法 扩展您的知识始终是一项值得努力的工作:)我刚开始学习Scala,它影响了我编写普通Java的方式,我可以说到目前为止它非常有益 我不是从Java背景来学习Lift和Scala的,所以这不是我个人的经验,但我知道很多Lift开发人员发现Scala比Java更简洁、更高效。让我们假设我们对Scala和Java同样熟悉,忽略(巨大的)语言差异,但与弹簧或升降机有关的差异除外 Spring和Lift在成熟度和目标方面几乎截然相反为什么我要在Java/Spring上使用Scala/Lift?,java,spring,scala,lift,Java,Spring,Scala,Lift,我知道这个问题有点悬而未决,但我一直在考虑将Scala/Lift作为Java/Spring的替代品,我想知道Scala/Lift相对于它的真正优势是什么。从我的角度和经验来看,Java注释和Spring确实减少了应用程序的编码量。Scala/Lift是否在这方面有所改进?只是为了好玩。为了学习新的编程方法 扩展您的知识始终是一项值得努力的工作:)我刚开始学习Scala,它影响了我编写普通Java的方式,我可以说到目前为止它非常有益 我不是从Java背景来学习Lift和Scala的,所以这不是我个
- 春天比电梯大五年左右
- Lift是单片的,只针对web;Spring是模块化的,面向web和“常规”应用程序
- Spring支持过多的JavaEE特性;Lift忽略了那些东西
s、
s等
这是强大而有用的,特别是因为Scala有一个内置的语言级XML模式。可以在Scala方法中内联编写XML,包括大括号中的变量绑定。对于非常简单的XML服务或服务模型来说,这是一件令人愉快的事情——您可以在一个非常简洁的文件中完成一套HTTP响应操作,而无需模板或大量的辅助配置。缺点是复杂性。根据您所走的路,视图和逻辑之间的关注点要么模糊分离,要么没有分离
相比之下,定期使用Spring for webapps会在视图和其他所有内容之间强制执行一个强大的分离。我认为Spring支持几个模板引擎,但我只在一些重要的方面使用过JSP。用JSP做一个受Lift启发的“模糊MVC”设计是疯狂的。对于大型项目来说,这是一件好事,因为在这些项目中,阅读和理解的时间可能会非常多这两个框架都很有吸引力。有很多应用程序,你可以选择其中一个,也可以做得很好。我不想让你的世界完全陷入混乱。但是你可以在一个应用程序中使用Scala、Java、Lift、Spring,并且不存在任何问题。我建议你检查play framework,它有一些非常有趣的想法,并支持Java和Scala的开发。我不得不说,我强烈不同意Dan LaRocque的回答 电梯不是整体式的。它由离散元素组成。它不忽略J/EE元素,它支持JNDI、JTA、JPA等。您不必使用这些J/EE元素,这一事实有力地说明了Lift的模块化设计
- Lift的观点哲学是“由开发人员决定”。Lift提供了一种不需要
ajaxButton("Accept", () => {request.accept.save; SetHtml("acceptrejectspan", <span/>}) ++ ajaxButton("Reject", () => {request.reject.save; SetHtml("acceptrejectspan", <span/>})
serve { case "api" :: "user" :: AsUser(user) :: _ XmlGet _ => <b>{user.name}</b> case "api" :: "user" :: AsUser(user) :: _ JsonGet _ => JStr(user.name) }
Real app = programming language (imagined app)