回首JavaScript这一年:笑里藏刀 百媚丛生

来源:互联网 发布:切糕淘宝湖南 编辑:程序博客网 时间:2024/04/28 03:37

Web技术每年都在日新月异的变化着,虽然这样,但仍然有一些语言处于屹立不倒的位置,比如本文要讨论的JavaScript。

JavaScript自1995年诞生以来已过去17个年头,它被广泛地应用在Web开发中,随着HTML5技术的发展,JavaScript在未来还将有更大的发展和应用空间。JavaScript从过去“装饰性”的一种脚本语言转变为主流的编程语言,例如在2012年3月份发布的编程语言排行榜中,JavaScript占据第8名,超越了Perl和Python。

依旧春光明媚

2012年,JavaScript总体态势很好,不像HTML5一直处在风口浪尖。也未受到其它语言(Dart,CoffeeScript)的影响,仍然是开发者们最喜爱的前端编程语言。

那么下面让我们来简单的分析一下JavaScript为什么还会这么火。

  • 第一简单性,JS是一门非常轻量级的语言,适合任何人学习,没有大量复杂的保留字,没有各种复杂的数据类型。难怪有人[探讨]JavaScript是性价比最高的技术?
  • 第二速度,Google的V8 JS引擎让开发者可以在客户端和服务端更好的执行JS代码,这就给复杂的JS程序提供了基础。
  • 第三与服务器交互较少,JS是运行在客户端的脚本语言,这就节省了Web服务器的请求时间。另外,可以再提交页面到服务前对用户输入的内容进行验证。这样减少了服务器的通信量,就意味着节约了金钱。
  • 第四跨平台,JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可以正确执行。
  • 第五让Web界面更丰富,尤其是一些带UI的JavaScript框架,不仅简化Web操作,还可以构建非常漂亮的用户界面,例如ExtJS,其提供了非常丰富的UI组件,包括高性能的数据表格、图表、选项卡、弹窗、工具条和菜单等等,可以帮助你构建用户体验良好的Web应用。

除了这些优点外,JS还非常地灵活,作为JavaScript程序员,只要你愿意,可以把程序写得很简单,当然,也可以写得很复杂。此外,它还支持多种不同的编程风格。你既可以采用函数式编程风格,也可以采用更复杂一点的面向对象编程风格。

十全九美 劲敌来袭

当然,世上并没有十全十美的东西,对JS来说,也存在一些缺点,比如其单线程机制,决定了其性能不佳等。于是各种想代替或者优化它的新语言就悄然出现。比如Google发布的Dart,就是想解决所有JavaScript不能修复的根本性问题,后来CoffeeScript的出现更煽动了这场取代JavaScript的战争。然而就在这种战争愈发激烈时,微软发布了TypeScript,让这场战争愈发激烈。然而,在编程语言领域里,貌似并不走长江后浪推前浪这条路。

虽然编程语言之间的竞争一天也没能停歇,然而真正能日日夜夜陪伴在程序员身边或许也只有那么几个语言。还是先让我们一起来看下这几门语言吧:

Dart一个从发布起就鼓吹要替代JavaScript的编程语言,一经发布便窜到了编程语言排行榜的107位,次月居然到了63,速度惊人。可是从目前的发展来看,它很有可能陷入到和Go一样不温不火的境地。大家不妨移步过来看看:[探讨] Dart路在何方?众家评说谷歌新编程语言Dart、微软JavaScript团队向Dart语言泼冷水。

CoffeeScript是一个非常精致的语言,能编译成JavaScript。其目的是用简单的方法揭示JavaScript优秀的部分,抛弃JavaScript晦涩的,容易出问题的部分。就在今年5月份,CoffeeScript华丽的挤进GitHub热门编程语言前十。

TypeScript也是一种编译到JavaScript的语言,可以载入JavaScript代码然后运行。此外值得一提的是,TypeScrip允许加入注释,让编译器理解所支持的对象和函数,编译器会移除注释,不会增加开销;增加一个完整的类结构,使之更新是传统的面向对象语言。就在上个月,微软发布了TypeScript 0.81版本,其带来了源码级的调试支持。更多TypeScript精彩内容,大家不妨来看看JavaScript大师Nicholas C. Zakas谈TypeScript。

到底哪个语言能成为最终的主角呢?小编在这里引入Nicholas C.Zakas在谈TypeScript时的一段话:“我认为编译为JavaScript的语言很难达到这一目标。我们应该说服更多的人学习JavaScript,而不是提供更多的选择让他们放弃编写JavaScript。我常在想,如果所有的团队、公司都把时间和精力花在研究和探索JavaScript的替代者而非维护、传播它,那将会发生怎样的一番景象。”

JavaScript精彩文章汇总 

一、对JavaScript技术问题的探讨

  1. [探讨]JavaScript面向对象编程    
  2. [探讨]再谈JavaScript面向对象编程    
  3. [探讨]为什么说JavaScript是性价比最高的技术? 
  4. [探讨]JavaScript需要Blocks 
  5. [分享]Rhino使JavaScript应用程序更灵动 
  6.  一个JavaScript问题引发的思考    
  7. 如何进行高效JavaScript单元测试    
  8. 深入理解JavaScript作用域和作用域链  
  9. 如何编写出优美的JavaScript代码?
  10. 重思JavaScript的好与坏
  11. JavaScript真的需要类吗?
  12. [实战分析]编写高效的JavaScript程序
  13. 苹果:JavaScript在Safari上运行速度最快
  14. JavaScript版本发展及未来新特性

二、JavaScript常用技巧及工具

  1. 五个有用的jQuery技巧    
  2. 7款jQuery视差和滚动效应插件    
  3. 10个实用的jQuery交互/通信插件和教程    
  4. 分享10个jQuery的语言翻译插件    
  5. 推荐13款JavaScript图形和图表绘制工具   
  6. 分享10个JavaScript在线Debugging工具    
  7. 10款实用的Ajax/JavaScript编码工具推荐  
  8. JavaScript开发者必备的10个超级实用工具    
  9. 15款非常有用的JavaScript开发工具    
  10. 3个增强本地JavaScript功能的库   
  11. 6个提高交互体验的JavaScript库   
  12. 推荐19个很有用的JavaScript库    
  13. 5个界面效果很炫的JavaScript UI框架    
  14. 推荐16款最流行的JavaScript框架    
  15. 10个顶级JavaScript动画框架推荐   
  16. 7款强大的JavaScript网格插件推荐    
  17. 11款JavaScript颜色拾取插件推荐    
  18. 7个漂亮的JavaScript的时间轴组件 
  19. 设计JavaScript API的五个建议
  20. 推荐12款JavaScript表单插件
  21. 如何在15分钟内掌握JavaScript面向对象编程
  22. 推荐13款JavaScript图形和图表绘制工具
  23. 必须关注的25位知名JavaScript开发者
  24. 时间日期控制必备:6个实用的JavaScript插件
  25. Google开源Leak Finder for JavaScript
  26. JavaScript代码检查工具——JSLintMate
  27. 回顾2011年将JavaScript推到极致的20个网站

三、JavaScript效果欣赏

  1. 10个令人印象深刻的JavaScript动画效果网站    
  2. 8个惊艳的HTML5和JavaScript特效      
  3. 10个让人眼花缭乱的HTML5和JavaScript效果    
  4. 8个惊艳的JavaScript WebGL应用实验    
  5. 8个令人印象深刻的JavaScript效果的网站    
  6. 回顾2011年将JavaScript推到极致的20个网站

四、Dart、CoffeeScript、TypeScript相关文章汇总

  1. Google新的Web编程语言Dart曝光
  2. [观点]众家评说谷歌新编程语言Dart
  3. Google新编程语言Dart可运行在Jvm上
  4. Dart之于JavaScript正如C#之于C++
  5. Google发布Dart Synonym程序 将JS转换为Dart
  6. Dart比JavaScript更酷的10个理由
  7. 谷歌推新浏览器 将支持Dart语言
  8. SDCC讲师专访:创新工场蔡学镛为何看好Dart
  9. Dart周年庆:Google放出稳定版SDK
  10. Dart里程碑2发布 大幅提升dart2js性能
  11. JavaScript代码生成器——CoffeeScript
  12. 图解C++、CoffeeScript、Ruby复杂度
  13. CoffeeScript和JavaScript里的异步:循环和回调
  14. CoffeeScript挤进GitHub热门编程语言前十
  15. JavaScript大师Nicholas C. Zakas谈TypeScript
原创粉丝点击