Lift 的观点是“让开发者决定”Lift 提供了一种不允许在视图中使用任何逻辑代码的模板机制,一种基于执行 Scala 代码和 Scala 的 XML 文本的视图机制,以及一种基于 加速的视图机制。如果您选择 XML 模板机制,那么您可以选择业务逻辑中有多少标记(如果有的话)。Lift 的视图分离比 Spring 提供的任何视图分离都要强,因为无法在 Lift 的 XML 模板中表达任何业务逻辑。
Lift 的对象持久化哲学是“让开发者决定”Lift 有一个 Mapper,它是一个 ActiveRecord 样式的对象关系映射器。它可以完成小项目的工作。升降支撑 JPA。Lift 有一个 Record 抽象,支持对象在关系数据库中进出,在 NoSQL 存储中进出(Lift 包括对 CouchDB 和 MongoDB 的本地支持,但是适配器层只有几百行代码,所以如果你想要 Cassandra 或者其他东西,不需要太多工作就可以得到它)基本上,Lift the Web Framework 不依赖于对象如何具体化到会话中。此外,会话和请求周期是打开的,因此将事务挂钩插入到请求/响应周期是很简单的。
Lift 的理念是“服务器团队需要了解一种语言,而不是多种语言。”这意味着配置是通过 Scala 完成的。这意味着我们不必在 XML 语法中实现40% 的 Java 语言结构来创建灵活的配置选项。这意味着编译器语法和类型检查配置数据,这样在运行时就不会得到任何奇怪的 XML 解析或不正确的数据。这意味着您不必让 IDE 基于所使用的库来理解您正在使用的注释的细节。
是的,Lift 的文档不是它的强项。
既然如此,让我来谈谈 Lift 的设计理念。
我写 网络框架宣言之前,我开始写电梯。Lift 在很大程度上达到了这些目标,而且比我所知道的任何其他 Web 框架都要高。