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 交通频道 作文范文 我不知道雨,要落入何处 公司负责人2012年终总结 最新的沈阳市房屋租赁合同(民宅版) 县长在2006年上半年经济形势分析会上的讲话 破灭;花终零落 2015年防灾减灾日活动总结 【每日小记】亲戚来了作文200字 人生感悟:你不是迷茫,你是自制力不强 面对被毁的圆明园……作文250字 2014年信用社新员工个人年终总结_个人工作总结 精彩的导游词开场白 县委书记在招商引资鼓劲会上的讲话 煤矿后勤年终总结 岁月成诗,流年凝画 伊恩·麦克尤恩《水泥花园》读后感 观看世界杯作文200字 高中生物简答题的解题过程和高中生物记忆方法 我不再年少600字 小学四年级作文500字:我的母亲 (600字) ILoveYou,Mom---我爱你,妈妈!作文400字 倾听关于太阳的遗嘱 2015神奇的克隆教学反思 收养协议书_协议书 造价个人工作总结 2013年元旦促销方案 放空自己 放空感情 喜庆、红火的春节作文650字 美时光、证幸福 除夕之夜350字作文 社区干部入党自传范文 初中初一作文650字:母亲 走过夏天550字 小学五年级作文500字:我的糖果 安全生产许可证条例最新 十一祝福短信大全 “六一”节的献词(二) 青春幽默短语大全 对你微笑,纯属礼貌 财务会计工作总结范文 马上行动成功的不二法门 红尘千章,莫问情长 东边日出西边雨(散文诗) 摘草莓650字 男人的酒醉   女人的落泪 人生失败者的人生总结经验 珍爱生命,远离火源作文400字 坚持让我比别人成长的更快 淹城野生动物园半日游 春秋的景色 描写夏天夜晚的作文 妈妈的唠叨作文550字

Copyright © 2016 phpStudy |