ReasonML与Scala.js的比较

7

通过阅读Facebook选择使用OCaml来创建Reason的原因,我注意到Scala也满足所有要求。

我没有任何偏见,我知道Scala,但我不是一个铁杆Scala支持者。我只是喜欢一个好的类型系统,所以在这一点上,我很难选择下一个项目使用哪个语言。那么这里真正的权衡是什么?


嗨。在SO上,软件推荐问题真的是不适合讨论的话题。话虽如此,我对scala.js了解不多,但Reason具有熟悉的JS语法、一些很好的JS互操作和JSX语法糖、针对npm生态系统,这使得编写js库绑定非常容易,生成高度可读的JavaScript代码,这使得在JS方面调试和理解代码实际执行的内容变得容易,并且具有极快的编译器(就像你眨眼睛就会错过的那种速度)。 - glennsl
虽然Scala.js提供了完整的Scala语言、出色的JS互操作性、高度优化的输出和端到端的强类型环境,但如果你的后端是Scala,那么它就非常适合。 (但我同意:这种问题通常在SO上不被鼓励。如果您对Scala.js的观点感兴趣,我建议您进入Scala.js Gitter频道。) - Justin du Coeur
我的意思是,老实说我还没有使用过其中的任何一个。而且我也没有找到一篇文章,讲述了某个人对这两种工具的使用体验,并在构建系统、互操作性、语言支持、社区等方面做出了良好的技术比较。 - caeus
你可能需要成为第一个进行技术比较的人 :) 我实际上没有看到任何人提到他们从 Scala.js 转向了 Reason,但有很多人从 Elm 和 ClojureScript(当然还有 JS、TypeScript 等)转向了 Reason。我不太清楚这意味着什么,但似乎很少有交叉污染。您可以从 Reason Discord 中了解 Reason 社区并获得大量帮助。 - glennsl
@glennsl,我实际上是从Scala.js过来的,我知道至少还有两个SJS的人尝试或正在尝试Reason。顺便说一下,caeus,这里有一个Scala.js和BuckleScript(Reason的JavaScript编译器)创作者之间的讨论:https://news.ycombinator.com/item?id=13450089 - Yawar
1个回答

1
Reason React可以进行每个文件的编译,因此很容易融入现有项目。Scala.js允许您利用Scala库和Scala生态系统。如果您只关注Web开发,最好还是使用Facebook提供的工具。我有一些计算需要做,Scala和非OCaml工具更有帮助。既然您已经了解Scala,您可以使用我在https://github.com/aappddeevv/scalajs-react上提供的库来使用Reason-React模型。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接