受这周我在企业中看到的JS现状的启发,我写了这篇文章。10年之前,我从来没有想过现在的JavaScript竟然会变得几乎无处不在。下面是几个你之所以要关注
JavaScript的原因。
首先,我认为JavaScript能够得到普及的主要原因之一是,JavaScript非常易于接近。学习JavaScript,对于初学者而言,相对比较容易,对于高级用户而言,
又非常强大,可以用它来构建复杂又可靠的系统。
其次,之所以要关注JavaScript是因为现今的JavaScript已经无处不在。
你可以使用JavaScript在几乎所有平台上开发:客户端应用程序,服务器端业务逻辑,嵌入式芯片/物联网设备,管理构建脚本和依赖关系,等等。
不过,这并不意味着你可以在任意情况下使用完全相同的代码,但你可以使用相同的技能——JavaScript开发——提供跨越多个范式的解决方案。
客户端
JavaScript可被用于支持客户端应用程序/用户界面,以及众多平台和设备的用户交互。
web
当然,JavaScript支持web,这是肯定的。 JavaScript是所有web浏览器基本的脚本语言。
移动
JavaScript也可用于支持安装到本地设备上的移动应用程序。
Apache Cordovn/ PhoneGap——你可以使用PhoneGap或Cordovn建立本地安装的web技术app。 PhoneGap是Adobe的Cordovn品牌分支,但是从开发者的角度来看,
它们基本上是相同的。运行在移动设备上的应用程序会带有一个web视图,用构建动态web应用程序相同的方式建立用户界面。用户界面虽然是用HTML以及CSS样
式实现的,但是所有的交互都是用JavaScript创建的。
React Native ——得到JavaScript支持的web应用程序不仅可以内置web视图。React Native框架还允许开发人员使用JavaScript和声明式的UI元素编写他们的
应用程序,并生成一个可以在移动设备上运行的本地应用程序。在运行时,逻辑被解释为JavaScript,但是所有(所有UI元素)与用户交互的东西,100%是本
地的,这就提供了一个非常高品质的用户体验,而且现在还可用于iOS和Android应用程序。
Unity 3D——使用Unity 3D引擎,哪怕全部由JavaScript支持,你也可以开发出丰富多彩又身临其境的移动3D模拟或游戏体验。
NativeScript——使用JavaScript的框架,可用于构建跨平台的本地iOS,Android和Windows移动应用程序。
桌面
桌面应用程序也没有被JavaScript排除在外。大多数桌面解决方案陷入了类似于Apache Cordovn的分类中,最终导致的结果是,web视图拥有的API层次较低,其
内容开发基于web技术。
Electron——来自于GitHub的Node.js+Chromium桌面应用程序容器
app.js——Node+Chromium桌面应用程序容器
nw.js——另一个Node+Chromium桌面应用程序容器的框架
CEF——The Chromium Embedded Framework——嵌入Chrome浏览器内置于桌面应用程序的框架。
等等!对了,我记得,微软对于如何纯粹地用HTML / JS构建Windows应用程序,已经有了一个解决方案,而且还有更多的解决方案,但现在我一下子记不起来了。
事实上,一些我最喜欢的桌面工具,如Slack、Atom和 VS Code实际上就是在web技术和HTML / JS的基础上实现的。
服务器端
最明显的是Node.js——封装了Chrome的V8 JavaScript引擎的JavaScript运行时——在服务器端开发和企业上已经取得了巨大的进步。 Node.js,受到
express.js和loopback.io等框架的支持,使得用JavaScript开发服务器端和复杂的企业应用程序中变得可能。
物联网
你可以完全使用JavaScript来开发可运行在Arduino、树莓派或其它小平板上的无头app,你可以使用JavaScript管理基础设施和物联网传感器信息流,你也可以
使用JavaScript为嵌入式系统编写芯片程序,可以用它控制机器人,你甚至还可以使用JavaScript支持媒体中心连接电视体验。
就像我说的……JavaScript无处不在。
生态系统
你不仅可以到处构建和运行JavaScript应用程序。 JavaScript还有一个庞大而繁荣的开发者生态系统。
JavaScript是GitHub上最活跃的语言,它不仅是所有代码仓库中最活跃的,也是所有push/commit中最活跃的。
--转自