我是靠谱客的博主 开心老鼠,最近开发中收集的这篇文章主要介绍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++

参考资料

  • TypeScript 官网
  • TypeScript 中文网
  • AssemblyScript 官网
  • WebAssembly - Rust Programming Language 官网
  • Emscripten 官网
  • asm.js 和 Emscripten 入门教程
  • 五分钟了解asm.js和WebAssembly

最后

以上就是开心老鼠为你收集整理的Javascript的补充:Typescript、Rust、C/C++的全部内容,希望文章能够帮你解决Javascript的补充:Typescript、Rust、C/C++所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部