Dart 1.5.3的一些变化

Ashampoo_Snap_2014.07.15_22h13m10s_003_

Dart是一个发展非常快速的语言。如今最新的版本是1.5.3。自从今年1月份我写了两篇关于Dart的文章()以来,Dart语言本身,尤其是我用到的Polymer部分,有了很大的变化。

为了准备8月9日(暂定)于苏州举行的,由G4P.ccGDG Suzhou联合举办的活动,我对之前编写的Dart小程序进行了调试。本文就在这次调试中发现的变化进行一些总结。

一个Dart/Polymer程序的架构没有变化,还是由三部分组成:

  • 入口程序,比如getqotd.html。这个文件提供了页面的布局和对Polymer元素的调用。
  • Polymer元素模板,比如qotd.html。这个文件定义了一个Polymer元素的布局和一些基本设置。
  • Polymer元素的代码,比如qotd.dart。这个文件也是该Polymer元素的驱动代码部分,也可以是我们编写的一个Polymer/Dart程序的核心。

入口程序

<head>
  <meta charset=utf-8>
  <meta name=viewport content=width=device-width, initial-scale=1.0>
  <title>QOTD Sampe App</title>
  <script src=packages/web_components/platform.js></script>
  <script src=packages/web_components/dart_support.js></script>
  <!-- import the qotd -->
  <link rel=import href=qotd.html>
  <script type=application/dart>export 'package:polymer/init.dart';</script>
  <script src=packages/browser/dart.js></script>
  <link rel=stylesheet href=css/bootstrap.min.css>
</head>

这是一个标准的入口程序的HTML头部分。与之前相比,该部分加入了移动设备的支持。

另外,所引用的JS文件也改为platform.jsdart_support.js。而原来的:<script type=application/dart>export 'package:polymer/init.dart';</script><script src=packages/browser/dart.js></script>已经被弃用。我个人对这个改变比较欢迎。毕竟原来的语句很不像HTML。

模板

重要的改变有两个。

一个是在原先的<polymer-element>定义之前必须再加一个<link rel=import href=packages/polymer/polymer.html>语句。

第二,鉴于Dart已经重新对shadow DOM进行了更好的支持,于是可以在<template>中直接加入对CSS的引用,如:<link type=text/css rel=stylesheet href=css/bootstrap.min.css>这样。

代码

鉴于上述的第二点,代码中原先需要的对shadowDOM进行applyAuthorStyles的操作就不再必要。事实上,如果你写了,Dart编译器会给出deprecated的警告。

基本上我发现的改动就是这些。当然,改动肯定不止这些。我在O\’Reilly买了一本Dart: Up and Running的书,电子版已经更新并专列了一章介绍新的变换。我印象比较深的是Reflection的引入。

本文收录于[go4pro.org]

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *