gpt4 book ai didi

scala - 如果我们可以使用纯 scala,为什么要在 playframework 2 (scala) 中使用模板引擎

转载 作者:行者123 更新时间:2023-12-05 01:08:13 25 4
gpt4 key购买 nike

为什么使用 Scala template-engine在 playframework 2 (scala) 中,如果我们可以只使用 scala .

使用模板引擎是:

  • 将模板语法转换为 Scala 代码的额外处理器时间
  • 然后编译这段代码(它不像手工编写那样简洁——然后编译速度会更慢)
  • 此外,如果模板尚未转换为 scala,您可以从您的主代码中看到代码不一致(IDE 中的红色突出显示) -
    所以你应该每次都考虑一下..

  • 为什么不直接使用核心 xml/html 支持什么 scala像这里一样提供: http://www.scala-lang.org/node/131

    是否有任何纯 scala 模板(您可以推荐)我可以在 play-framework 中使用或单独 ?

    最佳答案

    实际上,您应该向开发团队提出这个问题,但请考虑以下几点:

  • 实际上你根本不需要使用 Play 的模板引擎,你可以很容易地返回任何带有 Ok() 的字符串。方法,因此根据您的链接,您可以执行类似 Ok(theDate("John Doe").toString()) 的操作
  • Play 使用其他 MVC 非常典型的方法web-frameworks,其中 View 是基于 HTML 的文件,因为......它是 web 专用框架。我看不出这有什么问题,有时我正在使用其他语言/框架,并且可以看到它们之间的唯一区别只是特定于语言的语法,这就是目标!
  • 别忘了,Play 是双语系统,有人可能会问“为什么不使用一些 Java 库来处理 View ?”
  • 内置的 Scala XML 文字不适合创建复杂的程序,您很容易遇到问题(这也是为什么有一个名为 anti-xml 的库的原因); Martin Odersky 本人很遗憾将其作为语言功能
  • 最后,有支持 Play 2 View 的 IDE,我正在开发支持 Play2 的 Idea 12,虽然它并不完美(它很新,所以有时会出现小问题)在大多数情况下它工作正常。它了解 Play View 的语法,提供自动完成功能,甚至可以使用选项+单击 View 中的某个对象直接跳转到方法/模型的声明等。

  • 回答你的最后一个问题,AFAIK 官方有 Groovy engine available作为一个模块,它提供了 Play 1.x 中已知的模板引擎,但是请记住,它只是人们从 Play 1.x 迁移到 Play 2.x 的桥梁,因为它比 Play 2 的原生引擎慢。

    关于scala - 如果我们可以使用纯 scala,为什么要在 playframework 2 (scala) 中使用模板引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17375776/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com