强大的服务器端语言有很多选择,但我想不出任何强类型、真正强大的客户端语言。Javascript 在表单、基本数学以及使用 AJAX 与服务器交互等方面做了很多工作,但与其他语言相比,它有其局限性。
我正在寻找一种能够进行图像处理或数据处理的强类型客户端语言,诸如此类的原始内容。或者,如果有 javascript 库可以帮助强制执行变量的数据类型,那也可能会起作用。
强大的服务器端语言有很多选择,但我想不出任何强类型、真正强大的客户端语言。Javascript 在表单、基本数学以及使用 AJAX 与服务器交互等方面做了很多工作,但与其他语言相比,它有其局限性。
我正在寻找一种能够进行图像处理或数据处理的强类型客户端语言,诸如此类的原始内容。或者,如果有 javascript 库可以帮助强制执行变量的数据类型,那也可能会起作用。
在浏览器中,就强类型而言,你有 Java 和GWT(静态)、Python(动态)和睡衣、Dart、Opa(静态)和一堆可以从LLVM(C、C++、Objective )交叉编译到 javascript 的语言C、Java、Ada 和许多其他)感谢emscripten。
在性能方面,您可以查看Google Native Client和Javascript typed arrays。
我个人认为 Opa 是当今最有趣的网络语言之一。
Haxe是一种静态类型语言,可以编译到各种客户端环境,例如 JavaScript 或 Flash。
TypeScript、Flow和Dart具有可选的静态类型。TypeScript 是 JavaScript 的超集(您可以使用类型信息注释现有库);Dart 是一种独立的语言,伴随着不断增长的标准库。
您可能想看看ST-JS。该工具允许您编写 javascript,但借用了 java 的语法和静态类型。这些工具提供了一系列准确反映标准 javascript 库的 Java 接口和类,以及一些其他常用的有用库(DOM、jquery 等)。然后,您可以用 java 编写源代码,ST-JS 翻译器会将静态类型的代码转换为普通的(最重要的是可读的)javascript 代码。只要您编写相应的 java 接口,ST-JS 还与您想要使用的任何其他 javascript 库兼容。
ST-JS 的另一个优点是,由于您正在编写 java 代码,因此您可以使用 java 生态系统中所有真正强大的工具。所有 IDE 中的重构工具都可以开箱即用。Findbugs、PWD、checkstyle 等静态分析工具也能很好地工作,并且在启用 ST-JS 的代码上非常准确。
您可以将 ST-JS 视为介于 GWT(对您完全隐藏 javascript 标准库,并阻止您使用外部库)和一些 javascript 静态分析工具(例如 JSLint)之间的某个地方。
Scala.js是另一种选择。它的JavaScript 互操作性很重要。