对我来说,期望我可以将Scala用于完整堆栈是否现实?

我正在考虑使用Play在 Scala中编写Web应用程序!前端的框架,可能是后端的MongoDB.我有什么理由不能/想要在整个应用程序中使用scala吗?换句话说,有哪些地方我会被迫使用ruby或PHP?我喜欢在Scala中拥有完整堆栈的想法,但我真的不知道这是否真实.

我是Web开发的新手,但是有java的经验,这就是为什么play framework和scala看起来是不错的选择.但如果我的问题没有意义,我会道歉.

解决方法

你提出了一个很好的问题:Scala用于完整的堆栈web开发.

我会说,一般来说,是的,你可以在Scala(和编译时检查的代码启动)中完成所有操作,但有一个例外*,模板引擎层

Play提供了自己的模板引擎,但不希望在IDE中获得代码完成;从技术上讲,它是强类型的,但你的IDE不会选择Scala代码;它将被解释为IDE中的纯文本.在浏览器窗口中加载会显示错误和适用的行号,这样可以避免ruby,python,PHP等框架的运行时问题.

与Scalatra和Scalate模板引擎相同.在IDE中直接编写.scala文件代码时,您将无法获得编译器检查/完成代码快速反馈.

现在,如果你是一个EMACS,VIM等用户,没有太大的损失,但是再一次,在scala和模板引擎层都有自动完成的代码是很难被击败的.显然IntelliJ今年夏天提供了一个插件,最终将为Scalate提供语法高亮,代码完成等,这是一个超过3年的惊人项目,仍然没有IDE支持;-(

> Lift的方法当然完全不同,并且在现有的Scala工具中有点绕过这个弱点,你失去了xhtml标签的完成!

目前使用Eclipse Aptana插件,我使用.erb支持来敲除代码完成的xhtml,然后使用sbt插件获取LESS和CoffeeScript.你可以使它工作,只是在当前的Scala IDE状态下有点麻烦.

如果我对此有任何不妥,请纠正我,否则我很乐意听到.截至一个月前,以下在我的开发环境中保持正确(Scala IDE 2.0)

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...