javascript的崛起及其生态元素
随着web的流行,人们花在浏览器上的时间吸引了巨头们对浏览器的重视,继而几年前富客户端概念,一批富客户端技术的涌现,如silverlight, flex等,曾经风起云涌,最终都败给了html5 和 javascript。
javascript的正式崛起的标志应该是nodejs的发布,从此,javascript开始迅速告别碎片化脚本,向工程化演进,接下来看看最近几年辅助javascript成长的一些功臣们。
最大的功臣: nodejs
nodejs重写了io 接口,利用事件循环支持异步io,大大提升了吞吐率。。
1.向服务器端进军,库的管理,运行与测试。
nodejs, npm,上万的服务器端库。
2.向浏览器客户端继续挺进,由碎片变成库,可复用的,脚手架与客户端库支持,集成与测试,浏览器运行容器支持, 性能优化工具。
components, bower, yo, yeoman, grunt,glup, http-server, karma, mocha, jasmine, phantomjs, seletium, concat,uglyfy,imagemin,coffee,sass,less. yeoman提高开发者生成效率和构建web应用的幸福感
3.向桌面挺进,新型的架构:node-webkit,让你使用html5 css javascript书写桌面程序。
4.移动app:新型框架cordova,打通各类移动平台android ios winphone以及黑莓 nokia等7个平台, 使用javascript调用手机平台的原生接口比如camera,geo等。
5.后端web app框架:如express ,sails和 loopback
---待续。
javascript的崛起及其生态元素的更多相关文章
- 用Javascript动态添加删除HTML元素实例 (转载)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 每天一个JavaScript实例-从一个div元素删除一个段落
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- JavaScript动画-拖拽改变元素大小
▓▓▓▓▓▓ 大致介绍 拖拽改变元素大小是在模拟拖拽上增加了一些功能 效果:拖拽改变元素大小 ▓▓▓▓▓▓ 拖拽改变元素大小原理 首先这个方块得知道我们想要改变这个它的大小,所以我给它设定一个范围,当 ...
- JavaScript移除绑定在元素上的匿名事件处理函数
前言: 面试的时候有点蒙,结束之后想想自己好像根本就误解了面试官的问题,因为我理解的这个问题本身就没有意义.但是当时已经有一些思路,但是在一个点上被卡住. 结束之后脑子瞬间灵光,想出了当时没有迈出的那 ...
- JavaScript 、jQuery动态创建元素的关键字~
JavaScript动态创建元素: 1.创建元素 如:a 标签 var alink= document.createElement("a"); 2.j添加元素属性 alink.h ...
- javascript - DOM对象控制HTML元素详解
1.方法 getElementsByName() -- 获取name getElementByTagName() -- 获取 getAttribute() --获取元素属性 se ...
- JavaScript:JavaScript中常见获取对象元素的方法
介绍: javascript中常见的3种获取元素的方法,分别是通过元素ID.通过标签名字和通过类名字来获取 操作如下: 1.getElementById DOM提供了一个名为getElementByI ...
- Javascript动态加载Html元素到页面Dom文档结构时执行顺序的不同
我们有时会通过ajax动态获取一段Html代码,并且将这段代码通过javascript放到页面的Dom结构中去. 而很多时候通过ajax动态获取的Html代码中也包含javascript代码,有一点需 ...
- JavaScript之对数组中元素进行增删改
JavaScript中数据类型无非是:简单类型+复杂类型,什么是简单什么又是复杂.从电脑物理存储上讲,简单就是所见即所得,你看见什么,电脑里面存的就只是什么,并不会因为一些关系(比如引用)而多出一部分 ...
随机推荐
- Selenium2(WebDriver)总结(三)---元素定位方法
元素定位的重要性不言而喻,如果定位不到元素谈何操作元素呢,webdrvier提供了很多种元素定位方法,如ID,Name,xpath,css,tagname等. 例如需要定位如下元素: <inpu ...
- bootstrap——强大的网页设计元素模板
本文介绍一个网页设计工具——bootstrap,它包含了很多华丽的按钮及排版,我们可以在网页设计中直接使用它,尤其是加入我们只是想简单的使用一下的话,将会是一个不错的选择,下面是几张examples, ...
- Communication API
Stingray WIKI Stingray javascript Communication 主要的三个方法: Communication.LinkRequest - 页面跳转,调用比较简单,直接参 ...
- Double-check idiom for lazy initialization of instance fields
- V-rep学习笔记:视觉传感器2
视觉传感器的属性设置栏中还有如下几个选项: Ignore RGB info (faster): if selected, the RGB information of the sensor (i.e. ...
- python 模块之platform模块(基本了解)
# -*- coding: cp936 -*-#python 27#xiaodeng#python 模块之platform模块(基本了解)#获取底层平台的识别数据 #知道该模块用途即可,需要使用时直接 ...
- 什么是XML RPC?
# -*- coding: cp936 -*- #python 27 #xiaodeng #什么是XML RPC? #中文叫:远程过程调用 #使用http协议做传输协议的rpc机制,使用xml文本的方 ...
- 2011的n次方
题目:http://noi.openjudge.cn/ch0204/2991/ 总时间限制:1000ms 内存限制: 65536kB 描述 已知长度最大为200位的正整数n,请求出2011^n的后四 ...
- C++ 11保留小数点的四舍五入方案
当然,C++ 11提供各类型的std::round来四舍五入,但是没有一个能直接支持保留小数点位数的四舍五入方案. 所以需要通过setprecision来实现: #include <iomani ...
- JavaWeb学习笔记1
表现层实现:先画静态界面(1定义界面须要显示的组件,2初始化组件并设置组件的属性,3把组件放入panel,把panel放入frame)写界面通过代码实现动态功能. 展示数据的步骤:1,i调用逻辑接口 ...