强类型的客户端语言?

9

有许多强大的服务器端语言可供选择,但我想不到任何强类型、真正强大的客户端语言。JavaScript可以在表单、基本数学和使用AJAX等与服务器交互方面完成很多工作,但与其他语言相比,它也有一些限制。

我正在寻找一种强类型的客户端语言,能够进行图像处理或数据处理等原始操作。或者如果有JavaScript库可以帮助强制执行变量的数据类型,那也可以。


5
你的意思是静态类型吗? - Ned Batchelder
我认为你在谈论Flash,尽管HTML5正在迅速渗透... - McGarnagle
静态类型是朝着正确方向迈出的一步。Flash是编译的,需要插件,并且似乎正在退出舞台。 - Corey Ogburn
1
@CoreyOgburn:你使用了“强大”的词汇,但没有解释为什么JavaScript不强大。这样别人就不知道你在寻找什么了。 - Ned Batchelder
3
什么是客户端语言? - Don Roby
5个回答

5
在浏览器中,就强类型而言,您可以使用GWT的Java(静态),Pyjamas的Python(动态),DartOpa(静态)以及许多其他语言,这些语言可以通过emscriptenLLVM(C,C ++,Objective C,Java,Ada等)交叉编译为javascript。

就性能而言,您可以查看Google Native ClientJavascript typed arrays

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


2

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


呃,Flash……但是既然有JavaScript作为选项,我会去看看的。 - Corey Ogburn

1

您可能想要了解一下ST-JS。这个工具允许您编写JavaScript,但借用Java的语法和静态类型。该工具提供了一堆Java接口和类,准确反映了标准JavaScript库,以及其他常用的有用库(DOM、jQuery等)。然后,您可以使用Java编写源代码,而ST-JS翻译器将把那些静态类型的代码转换为普通的(最重要的是可读的)JavaScript代码。ST-JS也与您想要使用的任何其他JavaScript库兼容,只要您编写相应的Java接口即可。

ST-JS的另一个优点是,由于您正在编写Java代码,因此可以使用来自Java生态系统的所有真正强大的工具。所有IDE中的重构工具都可以直接使用。静态分析工具,如Findbugs、PWD、checkstyle,在启用ST-JS的代码上也非常准确且有效。

您可以将ST-JS视为介于GWT(完全隐藏JavaScript标准库并防止您使用外部库)和一些JavaScript静态分析工具(如JSLint)之间的某种东西。


这只是一个转译器。 - OZ_

1

TypeScriptFlowDart 都支持可选的静态类型。TypeScript 是 JavaScript 的超集(你可以使用类型信息注释现有库);Dart 是一种独立的语言,带有一个不断增长的标准库


Dart没有静态类型作为选项。你可以写类型,但它们只有对你和IDE有意义,当VM将它们剥离为注释时。 - OZ_

0

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