文档章节

javascript统一世界?

卢勇福
 卢勇福
发布于 2015/03/28 11:49
字数 1406
阅读 1150
收藏 61

到微信关注我 今天facebook将react native框架的源码开源,瞬间火得一塌糊涂,目前github上的star已经快7000了。javascript作为这个框架的开发使用语言又一次出现在人们面前。这几年javascript这们神奇的语言现在已经被使用到软件开发的方方面面,让人感觉javascript都快统一世界了。今天这篇文章就看看用javascript究竟都能干些什么。

1.web开发

javascript是1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成,所以javascript可以说是为web而生。而在web开发上,javascript也一直在进步。先是jquery成为大众基础库,然后又有extjs这种重型武器。随着js越来越庞大,requirejs,seajs等模块加载器出现 。这两年mvvm概念兴起,各种框架也是满天飞,angularjs,reactjs,polymer等框架也是频频出来,很多前端程序员都无所适从,不知道该用什么了。

2.服务器端开发

除了镇守住web这个阵地以外,javascript也积极的在服务器端拓展阵营。2009年2月,Ryan Dahl在博客上宣布准备基于V8创建一个轻量级的Web服务器并提供一套库,从此nodejs一发不可收拾的火了起来。以前只在浏览器里运行的javascript可以在服务器端运行了,并且有望跟java,php的语言进行竞争分一杯羹了。并且还诞生了“全栈”这么一个牛叉的名词,虽然这个词后来慢慢有点贬义的味道。nodejs的出现也诞生了很多基于javascript(nodejs)的后端框架的诞生,其中最重要的要数express。当然nodejs基于回调的异步实现也给编程习惯带来了很大问题,于是也催生了很多解决异步回调的js框架,甚至还有fiberjs这样抛弃nodejs重新写过的开源框架。不管怎么样javascript也算是在服务器端占有一席之地了。读到这里你就能明白下面这个文化衫的内涵了:)

在此输入图片描述

3. 桌面native应用

web程序有很多好处,但是为了安全,浏览器对web的权限做了多限制,基本上web程序是很难访问本机的东西的。但是web开发相对简单,于是很多人又想到能不能用javascript来编写桌面程序呢?答案当然是能,居于这个需求也衍生了很多相应的框架: node-webkit(https://github.com/rogerwang/node-webkit): Node-Webkit是NodeJS与WebKit技术的融合,提供一个跨Windows、Linux平台的客户端应用开发的底层框架,利用流行的Web技术(Node.JS,JavaScript,HTML5)来编写应用程序的平台。应用程序开发人员可以轻松的利用Web技术来实现各种应用程序。Node-Webkit性能和特色已经让它成为当今世界领先的Web技术应用程序平台 heX (https://github.com/netease-youdao/hex): heX 是网易有道搜索部门开发的一个允许你采用前端技术(HTML,CSS,JavaScript)开发桌面应用软件的跨平台解决方案,基于HTML5 + node.js,类似appjs。是你开发桌面应用的一种新的选择,意在解决传统桌面应用开发中繁琐的UI和交互开发工作,使其变的简单而高效。特别适合重UI,重交互的桌面应用软件 nativescript(http://www.telerik.com/nativescript) NativeScript是一款使用JavaScript语言来构建跨平台原生移动应用的开源框架,支持iOS、Android和Windows Phone。且NativeScript的使用没有过多繁杂的要求,只需使用自己已经掌握的JavaScript和CSS技能就能开发出真正具有原生用户体验的移动应用

Titanium

Titanium 是一个快速的应用程序开发平台,它使用 HTML、JavaScript 和 CSS(针对初学者)开发桌面和移动应用程序。该框架也支持使用 Python、Ruby 和 PHP,它们跟前端技术一起,让您能够使用所有您熟悉的能够用来创建应用程序的技术

4.移动开发

随着智能手机的发展,html5发挥着越来越多的作用。先是模拟原生app的spa单页应用的兴起,接着是phonegap这种直接把javascript,html,css打包到原生应用的框架出现。但是html5的性能始终被人们诟病,为了解决这个问题有出现了用javascript调用来调用native程序提高体验的框架,这里说2个比较典型的框架。一个是cocos2d-js,cocos2d-js是触控科技的cocos2d-x的JavaScript版本,真正跨全平台的游戏引擎,采用原生JavaScript语言,可发布到包括Web平台,iOS,Android,Windows Phone8,Mac,Windows等平台。另一个就是今天开源的react native框架。

我们可以看到javascript已经在各个方向拓展,能力也越来越强,不过标题也有所标题党了,语言毕竟只是语言,大家更多的还是要了解技术本身:) 最后上一张github人们语言趋势图:

在此输入图片描述

长按下面二维码图片选择“识别图中二维码”关注帝都码仔公众号: 在此输入图片描述

© 著作权归作者所有

共有 人打赏支持
卢勇福

卢勇福

粉丝 39
博文 19
码字总数 22106
作品 9
海淀
高级程序员
我为什么推荐Prettier来统一代码风格

译者按: 关于代码风格,不同的人有不同的偏好,其实并没有什么绝对的对错。但是,有2条原则应该是对的: 少数服从多数;用工具统一风格。 原文: Why robots should format our code for us ...

Fundebug
2017/10/25
0
0
我为什么推荐Prettier来统一代码风格

译者按: 关于代码风格,不同的人有不同的偏好,其实并没有什么绝对的对错。但是,有2条原则应该是对的: 少数服从多数;用工具统一风格。 原文: Why robots should format our code for us ...

Fundebug
2017/10/25
0
0
[转贴]悟透JavaScript

看到一篇文章,写的还不错,可以参考: 引子 编程世界里只存在两种基本元素,一个是数据,一个是代码。编程世界就是在数据和代码千丝万缕的纠缠中呈现出无限的生机和活力。 数据天生就是文静...

穿越星辰
2010/05/13
0
0
[转贴]悟透JavaScript

看到一篇文章,写的还不错,可以参考: 引子 编程世界里只存在两种基本元素,一个是数据,一个是代码。编程世界就是在数据和代码千丝万缕的纠缠中呈现出无限的生机和活力。 数据天生就是文静...

inferrrrrr
2010/05/11
0
0
用于学习编程和 AI 的教学游戏 - WarriorJS

WarriorJS 是一个采用 JavaScript 开发的教学类游戏,用于学习 JavaScript 编程和人工智能。 简单地说,WarriorJS 是一个需要靠编写 JS 来玩的小游戏,启动后你需要不断攀爬 JS 世界,最终爬...

匿名
2015/05/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

驼峰变量名的转换

package com.mmall.test;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * 需求:1. 将字符串 user_name_abc 转换为 userNameAbc * 2. 将字符串 us......

蚂蚁-Declan
30分钟前
5
0
HTTP请求方法

根据HTTP标准,HTTP请求可以使用多种请求方法。 HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。 HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。 序号 方...

踏破铁鞋无觅处
33分钟前
2
0
知识点043-selenium自动化测试网页工具的使用

【摘要】 Selenium是一个主要用于Web应用自动化测试的工具集合。但其作用不仅仅局限于测试领域,还可以用于浏览器行为模拟以及屏幕抓取等,在行业内有着广泛的应用。Selenium支持主流的浏览器...

侠客行之石头
40分钟前
1
0
B250F I219V安装windows server 网卡驱动

https://blog.csdn.net/ryu2003/article/details/50855146

梦想游戏人
40分钟前
1
0
MacOS Install Docker

使用 Homebrew 安装 macOS 我们可以使用 Homebrew 来安装 Docker。 Homebrew 的 Cask 已经支持 Docker for Mac,因此可以很方便的使用 Homebrew Cask 来进行安装: $ brew cask install dock...

Linux就该这么学
41分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部