过去几年间, 我对 JavaScript 的态度有了彻底的改变.<strong>JavaScript 已经 "长大成人" 了</strong>. 我敢保证很多 JavaScript 开发人员都不会认同我前面的说法, 他们会说 JavaScript 一直都是一个十分强大, 成熟, 深得人心的语言. 或许他们说得没错, 事实上只要是一门完整的编程语言, 就能拿来编写程序, 也包括 BASIC 这种滥东西. 而一门语言真正有用, 必须一方面自身具备很强的表达能力, 另一方面还要有众多的库和开发工具. 显然, JavaScript 的表达能力早就没有问题了, 即便是创建对象的方式有点不好让人接受, 其实问题也不大. 直到最近, 一些极其重要的扭转局面的技术出现了: jQuery,JSON,Node.js 和 html5. 或许 JavaScript 以前就是一门完善的语言了, 但却是这些重要的相关技术(以及其他一些没有在这里提及的), 让 JavaScript 成为了每一个开发人员都知道的语言.<strong > 如果明年你要学一门新语言的话, 那一定就是 JavaScript.</strong>
- <p><strong><br > 潜力无限的 Node.js</strong></p>
- <p><img src="data/attachment/album/201107/02/125742kknkonzyzyn2bkyk.jpg"></p>
- <p><strong><br > 说 Node.js 潜力无限的意思, 就是它有可能引发 web 开发的革命</strong>.Node.js 是一个框架, 用于构建高性能 Web 应用 -- 即使是巨量的请求也能够迅速而有效地响应. 虽然 Node 本身作为一个底层框架, 能够用于构建任何应用, 但它还是最适合构建 Web 服务器. 它的异步事件驱动模式与传统的请求 - 响应模式相比, 无疑更适合 Web 应用.</p>
<p><br > 有两方面因素更让 Node 显得前途无量. 首先, Google 在提升 JavaScript 性能方面掀起了一场革命. 这句话的意思并不是说你随时随地都可以用上最好的 JavaScript 引擎(尽管这也是我们一个美好的期望). 但可以肯定的是, Google 在其他竞争对手还没有上心的情况下, 真的把 JavaScript 性能当成了一回事儿. 如此一来, 就把 Mozilla,Apple,Microsoft,Opera, 还有其他浏览器开发商逼到了性能竞赛的跑道上. 结果导致我们现在使用的 JavaScript 引擎较之几年前快了不知道有多少倍, 完全有能力运行复杂的大型 Web 应用.</p>
<p><br > 其次, Node 有着庞大的开发人员基础. 不管大家在服务器端使用的是什么语言, 但在客户端却鲜有不使用 JavaScript 的. 有的人可能是 "剪刀加浆糊" 式的东拼西凑, 有的人则可能用 JavaScript 做出了高超的 Ajax 应用, 而有的人甚至实现了全功能的应用程序, 像 Twitter 或 Gmail. 可不管怎么说, JavaScript 开发人员的数量无疑是非常庞大的. 而 Doug Crockford 等作者更是极力宣传所有人都应该把 JavaScript 当成一门严肃正经的编程语言来看待 -- 尽管它还有不少缺点.</p>
<p><br > 当时当下, 编写 Node 应用相对还是个 "粗" 活儿, 毕竟它只是一个底层库. 想象一下单纯使用 JavaScript 写代码, 对, 就是这种感觉, Node 当前还是一个 beta 版的格局, 与 Rails 或 Django 这样成熟的 Web 开发框架还没法比. 这种状况无疑会改变. 一些轻量级的框架, 比如 Express, 已经出现了; 我坚信更多基于 Node 的全功能框架也将不断涌现.</p>
<p><br > 前面提到过一些几乎完全在浏览器中运行的高级 Web 应用. 那些都已经不算什么新鲜事儿了, Gmail 多大了? Google Maps 贵庚了? 不过, 用 JavaScript 编写在浏览器中运行的应用的客户端无疑是越来越有吸引力了. HTML5 则继续推高了人们对这一趋势的预期.</p>
- <p><strong><br>HTML 5 其实就是 JavaScript</strong></p>
- <p .="TEXT-ALIGN: center" align="center"><a href="http://images.51cto.com/files/uploadimg/20110623/0856371.jpg" http://images.51cto.com/files/uploadimg/20110623/0856371.jpg%22 ; target="_blank" target="_blank"><img src="data/attachment/album/201107/02/125742ax9lda8nr99trhrj.jpg"><br></a></p>
<p><br > 我不知道已经说过多少次了,<strong>HTML5 实际上并没有多少与 HTML 有关, 它其实就是 JavaScript.</strong>HTML 本身有什么变化? 不过一些新标签而已, 况且也都很好理解.<strong>HTML5 的威力在于让你能用 JavaScript 来创建这些标签 </strong>. 假如没有后台代码通过 Canvas 来创建动画, 游戏, 或者通过它来实现一些数据的可视化, 这个标签也没有大用处. 从浏览器开始支持 Canvas 开始, 我已经看到了 Asteroids(行星游戏) 的上百个实现, 那都是开发人员为熟悉这个新特性所做的练习. 有的比较粗糙一些, 而有的则极其精美. 这些完全都要归功于 JavaScript.</p>
- <p><br > 由此可见,<strong>HTML5 并不是在以尖括号为特征的标签语言的一次大的改进, 其实质是赋予了 JavaScript 更强大的能力 </strong>.WebGL 库(当前还羽翼未丰) 支持在 HTML5 的画布中绘制实时的 3D 图形. HTML5 的地理位置支持在浏览器中实现 LBS(Location Based Service)应用 -- 手机的基本配置. 而持久存储以及离线功能则为开发能与桌面应用媲美, 但却在浏览器中运行的全功能应用奠定了基础. 目前, 就连增加多点触摸事件的实验性的库也已经出现了. 凡此种种, 无一不是实实在在的 JavaScript 特性. HTML5 只是为这些高级功能的发挥提供了舞台.</p>
- <p><br > 退一步讲, 不依赖于 HTML5 的浏览器库开发库也取得了长足的进步. 长久以来, JavaScript 一直都是在 HTML 中实现动态效果的不二之选. 可两个问题迟迟得不到解决: 一是浏览器兼容性问题, 二是直接操作 DOM 太麻烦. jQuery 让这两个问题霎那间消失得无影无踪, 这个库已经成为现代基于浏览器的客户端开发的基本配置. 不过, 并非只有 jQuery.Protovis,D3, 都可以让你直接在浏览器中创建复杂的交互性数据可视化效果, 有史以来第一次让浏览器成为了展示数据的一个重要工具.</p>
- <p .="LINE-HEIGHT: 21.6pt"><span .="FONT-SIZE: 10.5pt; mso-bidi-font-family: Tahoma; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma"><font face="宋体">原文链接:</font></span><span .="FONT-SIZE: 10.5pt; FONT-FAMILY: Tahoma" lang="EN-US"><a href="http://www.cn-cuckoo.com/2011/06/22/time-to-learn-.-2463.html" http://www.cn-cuckoo.com/2011/06/22/time-to-learn-.-2463.html%22 ; target="_blank" target="_blank"><font color="#004276">http://www.cn-cuckoo.com/2011/06/22/time-to-learn-javascript-2463.html</font></a></span></p></div></div> http://www.cn-cuckoo.com/2011/06/22/time-to-learn-javascript-2463.html%3C/font%3E%3C/a%3E%3C/span%3E%3C/p%3E%3C/div%3E%3C/div%3E ;
来源: http://www.qdfuns.com/article/11853/49b876aad6a3f8789789b586613bfc19.html