强类型的客户端语言?

时间:2012-06-30 01:29:25

标签: client-side strong-typing

强大的服务器端语言有很多选择,但我想不出任何强类型,真正强大的客户端语言。 Javascript在表单,基本数学以及与AJAX等服务器交互方面做了很多工作,但与其他语言相比,它有其局限性。

我正在寻找能够进行图像处理或数据处理的强类型客户端语言,这样的原始内容。或者,如果有javascript库可以帮助实施变量的数据类型,那么这也可能有用。

5 个答案:

答案 0 :(得分:5)

在浏览器中,就强类型而言,您拥有带GWT(静态)的Java,带有Pyjamas的Python(动态),Dart,{ {3}}(静态)和一堆语言,可以通过OpaLLVM(C,C ++,Objective C,Java,Ada和许多其他人)交叉编译成javascript。< / p>

在效果方面,您可以查看emscriptenGoogle Native Client

我个人认为Opa是当今最有趣的网络语言之一。

答案 1 :(得分:2)

Haxe是一种静态类型语言,可编译到各种客户端环境,例如: JavaScript或Flash。

答案 2 :(得分:1)

TypeScriptFlowDart具有可选的静态类型。 TypeScript是JavaScript的超集(您可以使用类型信息注释现有库); Dart是一种单独的语言,随着standard library的增长而增加。

答案 3 :(得分:1)

您可能需要查看ST-JS。这个工具允许你编写javascript,但借用java的语法和静态类型。这些工具提供了一堆Java接口和类,它们可以反映标准的javascript库,以及一些其他常见的有用库(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)。

答案 4 :(得分:0)

Scala.js是另一种选择。它的JavaScript interoperability非常重要。