一切可以用 JavaScript 编写的程序,最终都会使用 JavaScript 编写
——Atwood 2007

就在前几天 “JavaScript 是世界上最好的语言” 这句话火了,PHP 的地位遭受了前所未有的挑战。

JavaScript 到底有何神通,能登上世界上最好的语言的宝座?

JavaScript 是诞生于 1995 年的一种直译式脚本语言,原名 Mocha。JavaScript 是一种动态类型、弱类型、基于原型的语言,内置支持类型。JavaScript 具备简单灵活和跨平台的优势,会成为解决大部分 IT 问题的优选方案。著名程序员 Jeff Atwood 在 2007 年发布了著名的 Atwood's Law: “Any application that can be written in JavaScript, will eventually be written in JavaScript. (一切可以用 JavaScript 编写的程序,最终都会使用 JavaScript 编写)”。就像世界上大多数人都是白种人一样,GitHub 上用 JavaScript 写的代码也占据了大多数,JavaScript 的开放性和简洁性功不可没。

JavaScript 最初是用来给 HTML 网页增加动态功能的。与 JavaScript 同时出现的 JScript、ActionScript 和 ScriptEase 等都几乎销声匿迹,但 JavaScript 仍然被广泛用于 Web 应用开发, 也用来为网页添加各式各样的动态功能, 为用户提供更流畅美观的浏览效果,甚至成为了前端开发的代名词,这就说明了 JavaScript 的强大之处。
为传统企业做一个展示网站通常耗时以周计,此时开发者只要找一个模板就够了。而开发时间以月计的互联网公司前端开发工作就不得不选择一个合适的框架了,以下是世界主流的 JavaScript 前端开发框架和类库:
出自 Google 的前端开发框架 Angular.js 自带 MVC 框架,通过新的属性和表达式扩展了 HTML,并且通过被称为指令 (directives) 的结构让浏览器能够识别新的语法,现在已经凭借数据双向绑定成为了使用人数最多的前端开发框架。
来自 FaceBook 的前端开发框架 React.js 的设计思想是用组件套组件的方式来绘制 Web 画面。现在大家开发前端的思路早已不是当年的 Web page,而是 Application——传统的 HEML+CSS 已经不适合这个时代了,组件化开发即将成为主流。
国内前端专家尤雨溪的前端开发框架 Vue.js 在 GitHub 的 Star 数量已经非常接近 React.js,Vue.js 能像织席贩履的刘备一样与出身名门的 Angular.js 和 React.js 鼎足而立的原因在于提供了更加简洁、更易于理解的 API, 更加轻量级也更加容易上手。自带 MVVM 架构的 Vue.js 必将以开源世界中国人的骄傲载入史册。
体量并不能称为一个 “框架” 的 jQuery 是一个号称 “Write Less,Do More” 的 JavaScript 类库,封装了大多数常见、但写起来复杂的实用代码段,如优化 HTML 文档操作、事件处理和动画设计等。

JavaScript 不仅适合前端开发,Node.js 的出现使得 JavaScript 程序员进行后台开发成为可能。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,其包管理器 npm 是全球最大的开源库生态系统。无论公司自备机房还是使用阿里云、金山云等云服务,Node.js 都是创业团队的最佳选择。但因为 JavaScript 是单线程语言,在处理高并发和大数据等问题上常常力不从心。
如果你是一个 Android 或 iOS 开发者,服务器仅仅是给自己业余项目或开源项目用的,那么 Bmob 云(没错,Bmob 云端代码也是 JavaScript)也能为你提供一个小而美、并且价格低廉的服务器。

网页游戏不都是粗制滥造的 “一刀 999 级” 或 “屠龙宝刀,注册就送” 等圈钱产品,用浏览器玩的游戏也能做到画面精美、特效绚丽。
Cocos2d-x-js 是全世界最著名游戏框架 Cocos2d-x 专为 HTML5 游戏设计的 JavaScript 版本,采用原生 JavaScript 语言编写。随着 Flash 退出历史舞台,掌握 Cocos2d-x-js 技术的程序员就是新一代的闪客。
2014 年 2 月创立于北京的 Egret 是一套完整的 HTML5 游戏开发解决方案,其核心产品白鹭引擎(Egret Engine)凭借上手简便、性能强大已占据国内超七成的手机页游引擎市场份额。Egret 布道师徐聪(笔名:臭臭打不死人)不但能用自己精益求精的技术和助人为乐的精神帮助开发者解决使用 Egret 时遇到的技术问题,还经常向有探索精神、帮助其他开发者了解 Egret 的开发者赠送礼物。

最著名的 HTML5 移动开发框架当属 Facebook 发布于 2015 年的 React Native(顾名思义,是上文提到的 React.js 的一个分支),这是一套跨平台、动态更新的 Javascript 框架,口号是 “Learn once, write anywhere”。与之类似有同属舶来的 PhoneGap 等。
国产的 HTML5 开发框架在国内也百家争鸣,常见的有 HBuilder 和 AppCan,二者共同特点是都为了便于新手入门制作了专用的编译器。2016 年,在 Qcon 大会上宣布开源的 Weex 也异军突起,来自阿里的它因为开发的软件与原生 App 别无二致受到很多人的青睐。
掌握 JavaScript 的程序员在国内还有一个新出路,就是微信开发。在国内有 7 亿用户的微信向广大 JavaScript 程序员提供了无数公众号和小程序开发的就业岗位,并且现在的移动互联网创业公司或者想涉足移动互联网的传统企业都可以先用微信公众号和小程序试水而不必一开始就开发成本高昂、进度缓慢的原生 App

2016 年被誉为 “中国 VR 元年”,其实 VR 并不神秘,只要掌握了眼球追踪和立体视觉,一切 3D 引擎都可以摇身一变成为 VR 引擎。而 JavaScript 恰好编写过几款著名的 2D 引擎
Three.js 是 3D 绘图协议 webGL 的一款框架,也是增长最迅速的和讨论最热烈的 3D 游戏引擎;React VR 是 FaceBook 今年推出的基于 JavaScript 框架的虚拟现实创建工具…… 这些五光十色的框架大大降低了 JavaScript 程序员涉足 VR 的门槛。
Egret Engine3D 游戏引擎是国产的 3D 游戏引擎,不但网页兼容性更好,更支持手机浏览器,加载也更快,还配套了 3D 骨骼等配套工具,更具备支持将 VR 游戏发布到微信公众号及小程序的中国软件的种族优势。
尽管目前 VR 领域仍然是 Unity-3d 的时代,VR 程序员都是写 C# 的,但 JavaScript 征服 VR 世界只是一个时间问题。

AlphaGo 击败柯洁的新闻在科技界引发了轩然大波,AI 一夜之间登上了各大送索引擎的搜索榜首。
理论上一切图灵完备的语言都能成为 AI 开发语言,而 JavaScript 正是图灵完备的。无数 JavaScript 程序员致力于 JavaScript 在自然语言处理和手写识别等领域的研究,目前国外已经出现用 JavaScript 编写的人脸识别工具 Landmarker.io
尽管目前业界主流观点还是 “AI 入门用 Python,AI 追求性能用 C++,AI 工业化用 Java”,但我们仍然可以坚信克服了 AI 专业库缺失和无法精确控制内问题的 JavaScript 终将在 AI 领域占据一席之地。

loT 比一般的软件系统多了一个硬件层,这就决定了 loT 的架构的复杂程度,常常需要多种语言的配合才行:
1、用 Arduino 给硬件编写一个控制器
2、用使用 C 语言编写的 Raspberry Pi 连接网络,并传输控制信号给硬件
3、用 “钩子语言”Python 连接以上两条
4、用 Java 语言编写一个 Android 应用,用手机作为遥控器
……
万幸这个需要掌握多种语言才能进行 loT 工作的时代即将成为过去式。三星设计了用 JavaScript 编写的物联网引擎 loT.js,它的运行内存小于 64kb,而且全部代码能够存储在不足 200KB 的 ROM 上,如此轻量的体积在智能家居等硬件设备上有明显的优势。由此可见,物联网也将成为 JavaScript 工程师的新蓝海。

与 100 + 技术大牛面对面

SACC2017
作为国内最受欢迎的架构师盛会,2017 第九届中国系统架构师大会 (SACC) 将于将于 2017 年 10 月 19-21 日在北京新云南皇冠假日酒店震撼来袭。
大会以 “云智未来” 为主题,云集国内外顶级专家,围绕云计算、人工智能、大数据、移动互联网、产业应用等热点领域展开技术探讨与交流。本届大会共设置 2 大主会场,18 个技术专场;邀请来自互联网、金融、制造业、电商等多个领域,100 余位技术专家及行业领袖来分享他们的经验;并将吸引 4000 + 人次的系统运维、架构师及 IT 决策人士参会,为他们提供最具价值的交流平台。
点击“阅读原文”与100+技术大牛面对面,立享购票7.8折优惠~
原文作者:;如有侵权,请联系管理员删除。