为什么决定以纯文本形式发布 javascript 程序?是为了提高性能还是作者从未想过 javascript 会被用在更复杂的应用程序中,开发人员可能想要保护源代码?
5 回答
我认为部分原因是由于 HTML 本身是以纯文本形式传递给浏览器的,因此 JavaScript 也应该如此。这是网络的方式。
这是因为 JavaScript 从来都不是为大型 Web 应用程序设计的,而是一种在浏览器上做一些“酷”事情的方式。JavaScript 并不是一种非常流行的语言,并且在 AJAX 出现之前一直受到鄙视,这就是为什么从来没有太多关于 JavaScript 应该如何分发的见解。毕竟,将 JavaScript 发送到浏览器的最简单方法是通过常规文本文件,为什么他们在 1995 年还要为其他任何事情烦恼呢?
看看YUI;它将通过将变量、函数等的所有名称替换为a
, b
, c
, ...之类的东西来压缩 javascript 文件
它还将删除所有不必要的空格、换行符等。因此它会混淆 javascript 代码并减小其大小。
文本是在任何一对计算机之间传输的一种数据形式,无需考虑计算机体系结构:字节序、字长、浮点二进制表示、负编码等。甚至EBCDIC计算机也可以轻松处理 ASCII。
尽管任何二进制表示方案都可以克服这些绊脚石——正如 TCP/IP 内部所做的那样——这样做的代码使用起来并不完全愉快——甚至阅读也不愉快。经验是,即使是最有经验的工程师偶尔也会忘记使用所需的主机到网络或网络到主机转换宏。
事实上,许多主要传输数字信息的协议将值转换为 ASCII 表示法进行传输,主要是因为通用性。(我想到了PCL和ANSI 3.64 。)基于文本的传输得到了广泛的本地数字格式化程序和解析器的轻松支持,所有这些都倾向于得到很好的优化。此外,几乎每种编程语言都可以轻松支持文本编码的数字数据。对二进制格式数据的支持从充足到痛苦不等。
保持纯文本的安全比保持二进制更容易(从缓冲区溢出等)。它的入门成本较低。缩小和 gzipping 使其高效。Web 开发更容易。我需要继续吗?