前端框架JavaScript详史

Posted 上天型程序员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端框架JavaScript详史相关的知识,希望对你有一定的参考价值。

今天内容比较通俗,方便大家对javascript有基础了解。内容来自一本我没看过的书,和大家一起分享,之后的内容大概会包含一些前端的框架介绍。


JavaScript详史


JavaScript 并不总是像今日那样宏伟靓丽。很长一段时间以来,JavaScript 主要用户一些花哨的网站效果,比如说烟火动画。从古老的日子开始,他走了很长的路。看这个戏剧性变化的最好方式是渐进的查看 JavaScript 的ECMAScript 标准的演进。


如果你知道 JavaScript 是什么,那么你一定也知道 ECMAScrit 是什么。这两个标题指的是同一种编程语言。我们所俗称的 “JavaScript” 是一个战略名词。即使 JavaScript 的语法和 Java 类似,语言的核心原理差别也很大。Brendan Eich 是一名前 Netscape员工,在 1995 年被授命创建 JavaScript,他杜撰了 JavaScript 的 名称,因为 Java 在当时非常受欢迎。没有这种营销手段,JavaScript 可能还没有被社区广泛采用。另一方面,这个原始名称使 Web 开发者在现代语言中使用中留下了一个混乱的难题。即使“JavaScript” 现在得到普遍认可,该词的来源依然是一个谜。  


JavaScript 创建之后不久,为许多现代技术协议和编程语言提出标准的欧洲计算机制造商协会(ECMA)的任务是对含糊不清的语言进行标准化。从这一努力得出 ECMAScript(ES)规范。虽然是有关系的,ECMAScript 和 JavaScript 不是同义 词。JavaScript 是 ECMAScript 规范的实现。(存在 ES 规范的其他实现方式,尽管它们的使用量远远低于 JavaScript)。尽管如此,由于其得到广泛的使用, Javascript 是 ECMAScript 的代表人物。一般来说,尤其是在本书中,任何时候你看到提到的特定的 ECMAScript 标准版本,你可以把它看作“JavaScript 如何实现这个 ECMAScript 标准版本”。


最近完成的 ES2015 版本标准目前仍在大多数主流浏览器和 JavaScript 引擎上采用。正如预期的那样,采用的过程是一个逐个功能添加的过程,而不是整体一下子发生的。虽然这可能会在兼容性问题上造成困惑,但是它的优势在于它可以让我们 看到 JavaScript 与其原始的版本偏离的已经很远。JavaScript 已经不再是一个简单的花哨的编程语言,现在,JavaScript 已经适用于解决一些比较大型的问题。通过在 ES2015 中引入的一些新 Feature 比如说块级范围以及 Generator 函数,JavaScript 现在在传统的“优雅的”编程语言中,比方说 Java 和 C#,拥有自己的一席之地。令人印象深刻的是,JavaScript 在成为这个角色的同时,依然保持着面向过程,可定制性等的有用特点。所有这些演变最终都提供了一个功能强大和有用的平台,不仅可以用于客户端的 Web,还可以用于服务器端和本机应用。 


了解这一历史对于理解目前 JavaScript 使用中的繁荣很重要。包含在最近的 ES2015 标准中的更改以及其他新技术的出现,比如说通过浏览器和 Web Socket 的本地存储,这些新技术的出现导致了目前 JavaScript 领域出现众多的框架。


JavaScript现在在哪里


虽然许多人已经尝试过,但是很难生成一个可靠的信息,多少比例的互联网用户运行着某种形式的JavaScript。幸运地是,所有的现代Web浏览器都支持JavaScript并默认安装之后就开启了JavaScript支持。即使是随智能手机发布的浏览器也可以支持其桌面版本的镜像功能,甚至某些点还超出其桌面版本的功能。所以几乎任何拥有半现代设备的人都可以访问网络上的JavaScript内容。即使你回顾一下几年之前,你会发现主要的Web浏览器也都默认在安装之后支持JavaScript。即使是此支持不够完整(由于与新语法兼容性等问题),大多数的功能也可以通过Polyfill或者Shim技术加以弥补,以便使其在旧版浏览器中工作。总的来说,估计100%的互联网用户可以访问JavaScript。(这并没有考虑相对较少的自愿关闭JavaScript的一些用户。)我将首先承认,作为开发人员,我们应当有责任为所有使用互联网的所有人提供内容。幸运地是,大多数主要的JavaScript框架为无法访问JavaScript驱动的应用程序的人提供了检查和回退机制。作为开发人员,你仍然需要负责提供静态后备内容,即使是可以使用服务器上的JavaScript生成。


这里主要希望说明的事实是,在决定使用一个框架时,将你的钱放在JavaScript的支持上是一个非常安全的赌注。你可以依靠几乎所有的互联网用户,当然你仍然也可以通过JavaScript呈现一个fallback的内容,如果你喜欢。


使用JavaScript来生成和提供静态内容的想法带来了另外一个有趣的话题:服务器端代码。随着Node.js的出现,服务器端代码成为主流和常见问题。Node为使用JavaScript编写可靠和快速的服务器端应用程序提供了强大的平台,其可扩展性使其成为大型和经常使用的服务器端API的可行选择。虽然可能并不明显,但这也是使用JavaScript框架的另一个原因。Node.js的可用性带来了统一代码库的可能性。您可以将整个开发栈与JavaScript语言集成,使用Node.js构建后端,并使用JavaScript框架构建前端,以改进工作流和团队沟通。


Node.js还向开发世界引入了NodePackageManager(NPM),进一步促进了JavaScript的开发。通过成千上万个方便的可插拔模块,能够共享项目的软件包配置以及易于安装的过程,NPM彻底改变了开发环境。在框架的范围内,NPM启动了一个新的项目,增加了任何流行的框架。实际上,几乎所有主要的JavaScript的安装页面都是立即开始使用npm install的指令。


广泛的浏览器支持,服务器端平台和软件包管理解决方案的组合现在成为开始使用JavaScript框架的最佳时机。事实上,最近有一些调查显示,超过70%的JavaScript开发人员已经使用了前端框架,而超过95%的用户至少听说过本书中讨论过的框架之一。如果其他人正在使用它们,那么一定有什么东西支撑这整个框架,不是吗?


JavaScript框架的广泛使用不仅表明它们工作良好,这也意味着大量的JavaScript社区已经审查和改进了大量的资源和插件。当你知道别人在你之前做的时候总是觉得新的东西更好。所以放心:许多人已经走过了您即将开始的框架启蒙之路,他们已经留下了一些有用的工具和提示。


看懂多少都没关系,毕竟我们还没有开始学习。



以上是关于前端框架JavaScript详史的主要内容,如果未能解决你的问题,请参考以下文章

Javascript库,前端框架(UI框架),模板引擎

最佳的 JavaScript 前端框架库和工具

第1173期npm 2017 JavaScript 框架报告之前端框架

2016 JavaScript前端框架大调查

推荐20款JavaScript框架给前端开发者

前端々框架