js 是怎么逐渐的成为万能语言的 ?


最好js 用于web 页面交互,后来又出来好多js库,图片识别之类的,再后来又可以用node.js写后台,现在听说可以用js 写驱动程序了

我很好奇,js 执行时依赖js 引擎,比如图片识别,js连接数据库, 在引擎底层是不是还是调用C/C++的接口来实现这些功能,js 小白,还望不吝赐教


JS是脚本语言,是弱资料型别,它会成为现今浏览器唯一支持的脚本语言是有历史背景。当然在之前并非能在浏览器上只有它一套脚本语言可以运行,但它很早已经是公开标准(ECMAScript)。标准这件事,是各大领导厂商的角力战,但公开后可以取得一些平衡,各大领导厂商必定各有算盘,但至少在基准的标准上,可以达到一致,小支小节就各自想办法。

JS语言会流行有很多原因,其一是它是与互联网相关,在这10多年来,互联网市场是一个顶峰,投入的开发者非常的多,只要是与互联网相关,在前端相关的应用,几乎只有这一个语言选择。领导厂商自然不论在新的工具或应用上,都想要分食这个庞大的开发者团体人口。另一是因为在开源码普及与交流快速的时代,自然也会衍生许多框架、函式库、辅助工具…十分蓬勃发展,这是其他语言所无法取代的开发人口数量优势,生态团具有加成的效果,十倍的使用者有可能创造的生态圈是数十倍或百倍以上的放大效用。而更多的使用人口也能吸引其他领域的开发者,愿意投身加入,造成大者愈大的趋势。

JS的执行过程是由代码,然后经由剖析器整理剖析,然后由引擎执行。现今出现了许多超集(superset)语言,例如TypeScript, CoffeeScript,以及一些完全重新设计,但可以编译为JS的像Elm、Dart语言。这相等于在剖析器前,又多了一个转译(transform)的过程,这种辅助工具,也有人称为编译器(compiler),不过它的功用在于提供另一种选择,把用另一种改良的语言,或重新设计的语言,先转换为JS的标准代码,再进行剖析与执行。

编译器的流行促使更多人加入,因为原本有很多开发者并不喜欢JS语言的许多特性,但这让他们可以使用接近偏好的语言的撰写方式,而不需担心最后执行的过程,另一个优点是可以取得现行浏览器版本与品牌的执行时最大相容性。举个例子来说,TypeScript完全改善了JS弱资料型别的特性,使它成为一个具有强资料型别的另一种语言,它的主要创造者是来自C#与Delphi团队。CoffeeScript则大量参考了Ruby, Python等语言,使它成为一种简洁,高可读的脚本语言,一般情况下只需要使用三分之一的代码长度,就可以达到同样JS代码的作用。这些改进或创新,在其他语言中是很难见到。

现在的编译器的流行,也促使能在现在使用未来尚在制定中标准,或刚制定好但尚未实作普及的语法,例如现在的ES6或ES7语法,这是其他语言无法相比的超快发展性。

JS引擎在这几年中也获得相当大的进步,Google虽是投入浏览器市场的后起,但它把V8引擎开源,并投入大量的人力发展,促使整个产业发展飞快。Node.js,也就是JS在伺服器端的执行环境,在这个背景下被实验性的实作出现,在开发人口如此多的社群下,自然能找到认同的开发者与支持者,当然,这里面有许多挑战,Node.js不同于浏览器环境,它需要使用许多C/C++的原生应用,沟通与交互来协助运作。当然,有很多功能是开源而且现成的,不一定要重造轮子。值得一提的是,Node.js与npm工具的流行,减短JS在开发上的开发周期,减少部署调试的复杂,提供良好的库相依性管理等等。

以上,提供一点心得供参考。



相关阅读:
Python爬虫爬资源时由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。怎么破?
Markdown编辑器服务器处理最佳实践
html中有多个form标签,每一个form标签下对应一个submit,为什么未输入内容的form表单也会提交?
canvas背景不透明,但内部某元素透明(类似镂空效果)
php制作中英文两版网站比较方便的思路
使用iconfont在线使用时,出现多个空格,求解答
使用pjax的时候直接跳转到页面了,不能替换页面中的某个div
gdb都能调试什么类型的文件?
这种在App加载页面前的显示是什么技术或者框架?
boostrap-table可以接收string类型吗
访客能够通过猜测的方式伪造出一个正确的session id并进行不好的行为吗?
react中const {dispatch} = this.props;
tomcat配置问题
vue-router如何将接口返回的数据传给组件初始化
为什么我的程序跑的很慢?
刚入门PHP,是否有必要学习JAVA
JS prototype原型问题
关于移动端localstorage 手机浏览器无效果
PHP中的$_REQUEST和$_POST|$_GET有什么区别??
react这个错是什么意思,要怎么解决



快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 社区2015年情人节活动主题 漩涡作文 初中初三作文800字:梦醒时分 曾经的美(追忆的痛) 什么都好,可惜你们的爱无法共鸣 人生有两种境界:一是痛而不言,二是笑而不语 欠她一个诺言(相识—3)作文600字 醉了、吐了、哭了、 雪450字 天凉,好个秋(一) 悼词的特征 读《中国的大车,我们拉》有感_中国的大车,我们拉读后感700字 烧船打假 考初中的烦恼作文650字 三年级下期开学家长会发言稿 人在囧途电影观后感1200字作文:乐于助人的精神 海静发表日志:陌生的城市 续,情殇 形容心情失落的语句 狂风暴雨,我在大街上行走 我的大学,你在哪里? 机械军团经典台词 梦想与爱同在 姥爷的手 山的作文600字 快感与幸福 做一个对得起人民的好干部 提高初中物理群体成绩的探讨 农牧局贯彻落实五化求突破思考 如果我还没来 破碎*——*沉淀作文300字 大家好 我好久没发布了 清平乐独宿博山王氏庵阅读答案翻译 国际经济与贸易专业推荐信 班主任工作经验交流材料作文600字 你的眉眼,成彼岸 乌江追念作文800字 最难忘的事作文600字 无法抹去的记忆--雷锋 游高青 远方的家作文800字 高速公路监控中心200年行政工作报告 北影耻辱日与萝卜哥 实验室规章制度规程汇编 与耿老师共度的日子 2015县教育局副局长人大委员述职报告 死亡交响曲作文150字 满庭芳(寿徐佑卿·七月初五) 国之瑰宝——长城作文900字 幼儿园节约节能倡议书 蒲公英在旅行

Copyright © 2016 phpStudy |