codecamp

JavaScript 广泛的使用领域

近年来,JavaScript的使用范围,慢慢超越了浏览器,正在向通用的系统语言发展。

(1)浏览器的平台化

随着HTML 5的出现,浏览器本身的功能越来越强,不再仅仅能浏览网页,而是越来越像一个平台,JavaScript因此得以调用许多系统功能,比如操作本地文件、操作图片、调用摄像头和麦克风等等。这使得JavaScript可以完成许多以前无法想象的事情。

(2)Node

Node项目使得JavaScript可以用于开发服务器端的大型项目,网站的前后端都用JavaScript开发已经成为了现实。有些嵌入式平台(Raspberry Pi)能够安装Node.js,于是JavaScript就能为这些平台开发应用程序。

(3)数据库操作

JavaScript甚至也可以用来操作数据库。NoSQL数据库这个概念,本身就是在JSON(JavaScript Object Notation,JavaScript对象表示法)格式的基础上诞生的,大部分NoSQL数据库允许JavaScript直接操作。基于SQL语言的开源数据库PostgreSQL支持JavaScript作为操作语言,可以部分取代SQL查询语言。

(4)跨移动平台

JavaScript也正在成为手机应用的开发语言。一般来说,安卓平台使用Java语言开发,iOS平台使用Objective-C或Swift语言开发。许多人正在努力,让JavaScript成为各个平台的通用开发语言。

PhoneGap项目就是将JavaScript和HTML5打包在一个容器之中,使得它能同时在iOS和安卓上运行。Facebook的React Native项目则是将JavaScript写的组件,编译成原生组件,从而使它们具备优秀的性能。

Mozilla基金会的手机操作系统Firefox OS,更是直接将JavaScript作为操作系统的平台语言。

(5)内嵌脚本语言

越来越多的应用程序,将JavaScript作为内嵌的脚本语言,比如Adobe公司的著名PDF阅读器Acrobat、Linux桌面环境GNOME 3。

(6)跨平台的桌面应用程序

Chromium OS、Windows 8等操作系统直接支持JavaScript编写应用程序。Mozilla的Open Web Apps项目、Google的Chrome App项目、Github的Electron项目、以及TideSDK项目,都可以用来编写运行于Windows、Mac OS和Android等多个桌面平台的程序,不依赖浏览器。

(7)小结

可以预期,JavaScript最终将能让你只用一种语言,就开发出适应不同平台(包括桌面端、服务器端、手机端)的程序。根据2013年9月的统计,JavaScript是本年度代码托管网站Github上使用量排名第一的语言。

著名程序员Jeff Atwood甚至提出了一条“Atwood定律”

“所有可以用JavaScript编写的程序,最终都会出现JavaScript的版本。”(Any application that can be written in JavaScript will eventually be written in JavaScript.)


JavaScript 操控浏览器的能力
JavaScript 易学性
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }