上QQ阅读APP看书,第一时间看更新
1.3 JavaScript的适用领域
如前所述,如果想判断一门编程语言是否适用于某个领域,很大程度上要去分析该领域是否能发挥出该语言的特性优势。既然我们已经对JavaScript的语言特性有了一定的了解,那么接下来就可以对这门语言的适用领域做一些分析了。这些分析将有助于初学者明确JavaScript适合用来解决什么问题,不适合用来解决什么问题,以便厘清自己的学习需求和努力方向。以下是一些适合用JavaScript来解决问题的领域。
- Web浏览器端的应用。JavaScript在Web浏览器端的优势是最显而易见且无可争议的,毕竟这门语言最初就是为解决这一领域的问题而设计的。正是由于JavaScript赋予了Web页面在浏览器端强大的用户交互能力,我们才迎来了电子商务、云端办公、社交网络等各种Web应用蓬勃发展的Web 2.0时代。
- 轻量级的服务器应用。Node.js运行环境的出现让JavaScript的适用领域扩展到了Web浏览器之外,尤其是在服务器端的应用。与ASP、PHP这些传统的服务器端脚本语言相比,JavaScript支持事件驱动、异步编程的特性使它在实现轻量级数据密集型的服务器应用方面有一些高性能、高负载的优势。当然在另一方面,单线程执行和非阻塞I/O的特性也让JavaScript在资源利用率和安全性方面受到了一些限制,使其不适合被用来实现需要大规模并行计算,或对数据安全有高要求的应用。
- 轻量级的桌面应用。Electron框架的出现让JavaScript可以被用来实现一些适用于事件驱动、异步编程、非阻塞型I/O等特性的轻量级桌面应用。目前流行的VSCode、Atom等代码编辑器都是基于这一框架的JavaScript应用。但由于其单线程执行的特性使JavaScript无法充分利用多核处理器的计算资源,因而不适合用来实现需要大规模并行计算的桌面应用。
- 富媒体式的应用。在HTML5出现之前,市面上用于创作富媒体的应用程序(如Flash)大多数采用的是ActionScript脚本。由于它也是一种基于ECMAScript标准的脚本语言,所以也可视它为JavaScript的一种应用。当然,目前这种形式的应用正在逐渐被人们遗忘,毕竟HTML5为我们提供了更好的选择。
除此之外,JavaScript有时候还会被用来实现一些Web浏览器的扩展与插件、移动端的一些应用,甚至一些用于系统管理的命令行脚本。总而言之,虽然目前JavaScript已经发展成了一门无处不在的全能型编程语言,但还是得注意语言特性的发挥,能发挥出其特性优势的领域才是它真正适用的领域。反之,不分场合地强行使用这门语言只会弄巧成拙、事倍功半。