ReasonML(https://reasonml.github.io/)和TypeScript(https://www.typescriptlang.org/)之间的权衡是什么?

最佳答案

如今,有许多针对JavaScript的语言。
选择其中一种取决于您的需求和您喜欢的idioms

JavaScript具有动态类型系统。一些开发人员更喜欢静态的。

  • TypeScript或Haxe使用一种静态类型的新语言解决了这一问题,该语言只能转换为JavaScript。
  • Flow是一个JavaScript预处理程序,它针对相同的问题,但无需学习新语言。如果您只需要类型系统,则我更喜欢这种方法。

  • 一些JS开发人员希望更多并使用更多的功能编程习惯用法(代数数据结构,不变性,模式匹配等)。许多编程语言都可以做到这一点(OCaml,Haskell,ReasonML,F#,Scala等)。
  • ReasonML是OCaml的语法,可以通过BuckleScript编译为本机或JavaScript。使用Reason可以实现的所有功能,也可以使用OCaml来实现,除了ReasonML语法接受JSX。 ReasonML可以轻松地定位到node.js应用,react.js应用或本机应用。

  • 如果您来自Java或C#世界,那么TypeScript很容易学习。

    如果您从未使用过ML语言(OCaml或F#)进行开发,则ReasonML很难学习。

    我的建议:
  • 如果只需要静态类型系统,则应考虑使用TypeScript
  • 如果您需要类型系统来执行react.js或react-native应用,则应考虑ReasonML,因为ReasonReact是对react.js的巨大改进。
  • 如果需要编译为js的功能编程语言,则应考虑ReasonML
  • 09-25 19:37