开源GIS实验田

OpenSource GIS Space

  • 内容导航

  • 最新评论

    • Gao Ang: 这将是一次开源GIS百科全书式的大会 ...
    • SHG: 恭喜恭喜 希望到时有更多国外的专...
    • Gao Ang: 这个示例可以搜索指定位置500m范围内...
    • suan: 你好,我想請問你GOOGLE MAPS API的問題 ...
    • Gao Ang: 静态地图现在支持用户自定义图标,...
  • 热门主题

  • 随机阅读

    • 2012 年二月
      « 十二    
       12345
      6789101112
      13141516171819
      20212223242526
      272829  
    • Gao Ang

      GaoMiao's Portrait
      有了理想
      就不要寻找放弃的理由

      站点搜索

    • 只言片语

      孩子们,不要害怕现实,不要向现实低头,你们来到这个世界,不是为了要服从老朽的东西,而是要创造新的,有理智的、光辉的东西。 ——高尔基

    Google结构化Web编程语言Dart

    7th 十一月 2011

    作者: Gao Ang 可以转载,请以超链接标明原始出处和作者信息及版权声明
    网址: http://www.gaoang.com/archives/243

    GOTO大会是面向企业级软件开发筹办的全球性技术开发大会,参会者包括开发团队领袖、架构师、项目管理者、技术媒体等。GOTO大会组织者同时也是企业级软件的设计者和开发者,这也使得GOTO大会承载了来自技术型企业和开发社区的最新动态。

    今年10月在丹麦举办的GOTO大会上,最吸引人的内容是Google新编程语言的首次亮相。在大会开场的主题演讲中,Google工程师捷拉德·布拉查(Gilad Bracha)和拉尔斯·巴克(Lars Bak)为开发者揭开了新语言Dart的面纱。

    Dart语言面向结构化Web编程设计,是继Go语言后Google推出的第二门编程语言。Dart中文释义为“飞镖”,象征着这门语言灵巧高效的特性。Dart的设计目标是创建面向Web应用开发的结构化语言,用以创建灵活的网页程序。为便于开发者掌握并使用,Dart语法在设计上尽可能以开发者熟悉的形式出现。在浏览器兼容性方面,Dart考虑了各种浏览器差异,并在各浏览器平台上保持统一的性能与表现。

    在门类众多的轻量级编程语言中,Dart具备不少吸引开发者使用的独特优势。首先Dart简化了Web应用的开发工作量。其次,Dart应用借助浏览器展示给用户,在具备良好平台独立性的同时,无需用户进行任何程序安装操作,并且对现代浏览器、移动设备、平板电脑的支持都具有良好表现。Dart在定位上并非与JavaScript竞争,而是要填补Web编程方面缺少面向对象编程结构、静态类型、难以进行大型应用开发方面的空白,并为传统JavaScript编程带来大幅度的性能改善。

    Dart代码运行阶段,可以依托浏览器内置的JavaScript引擎执行程序,同时Google鼓励各浏览器厂商在应用中绑定Dart虚拟机以实现Dart的原生支持。当然,Chrome浏览器已计划在未来版本中内置原生的Dart虚拟机运行时。根据性能测试数据,Dart虚拟机装载5万行Dart代码仅用时640毫秒,而从快照中加载相同的程序则更加高效,仅需用时60毫秒。

    Dart开发工具支持上,Google基于Eclipse提供了轻量级的开发组件,用于编写代码并预览Dart应用。同时Google还正在开发一个名为Brightly的云端IDE提供给开发者,值得一提的是,这个IDE也是使用Dart语言开发实现的。目前Dart语言站点上展示了语言规范、实例教程等内容。在Dart项目站点提供了Dart类库、样例代码、Dart虚拟机及源代码、Dart转换JavaScript编译器等内容。

    Google面向现代浏览器设计的Dart语言能够给Web编程带来良好的开发效率和优异的性能。随着浏览器应用规模化开发时代的到来,以及移动设备对浏览器应用需求的提升,我们期待新生的Dart语言为Web开发注入新的活力。

    本文曾发表于《程序员》杂志-2011年11期“程序天下事”栏目。

    Leave a Reply

    XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>