Javascript的补充:Typescript、Rust、C/C++

浏览器只支持Javascript和WebAssembly,所以作为Javascript的补充,要么能够转换成Javascript,要么能转换成WebAssembly。

补充Javascript的出发点有三:

  • 一、重复利用已经有的代码,特别是C/C++的代码,不用为了将应用转移到Web端,用Javascript重写一遍,将原来的C/C++转换一下就好。
  • 二、为了避开Javascript是动态类型的坑,因为是动态类型,所以很多错误要在运行时才能被发现,这在大型工程中是致命的,所以要用静态类型的语言来代替动态类型的语言,以便在编译时就可以发现更多的错误。
  • 三、为了保密,选择Rust或C/C++,然后编译成WebAssembly,二进制的代码破解起来比文本型的Javascript困难地多,不想让人看到内部逻辑的,可以这么做。

如果是出于前两点,Javascript或WebAssembly都可以作为编译目标,看个人喜好。如果出于第三点,只能编译成WebAssembly。

所谓TypeScript就是Typed JavaScript,即增加了类型的Javascript,有了类型就可以做静态检查,就可以在编译期排查很多类型不匹配问题。TypeScript可以用tsc转换成Javascript。TypeScript可以用AssemblyScript转换成WebAssembly。

Rust可以转换成WebAssembly。WebAssembly是Rust的编译目标之一。通过rustc可以将Rust编译成WebAssembly输出。

C/C++既可以转换成Javascript,也可以转换成WebAssembly。使用Emscripten可以将C/C++转换成Javascript,也可以编译成WebAssembly。

JavascriptWebAssembly
TypeScript
Rust
C/C++
重复利用避开动态类型保密
TypeScript
Rust
C/C++

参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值