OLD | NEW |
---|---|
(Empty) | |
1 # Usage | |
2 | |
3 The [Dart Dev Compiler](README.md) (DDC) is an **experimental** | |
4 development tool and transpiler. In particular, the ES6 backend is | |
5 still incomplete, under heavy development, and not yet ready for | |
6 production use. | |
7 | |
8 With those caveats, we welcome feedback. | |
9 | |
10 ## Installation | |
11 | |
12 You can install DDC via pub: | |
13 | |
14 $ pub global activate -sgit https://github.com/dart-lang/dev_compiler.git | |
15 | |
16 The above will install a `dartdevc` executable. To update to the | |
17 latest DDC, you can just re-run this step. | |
18 | |
19 ## Running the static checker | |
20 | |
21 By default, DDC runs in static checking mode. The DDC checker is strictly stron ger than the standard Dart | |
22 analyzer: it reports extra errors and warnings. For example, given the followin g `main.dart`: | |
23 | |
24 ```dart | |
25 void main() { | |
26 List<String> list = ["hello", "world"]; | |
27 | |
28 for (var item in list) { | |
29 print(item + 42); | |
30 } | |
31 } | |
32 ``` | |
33 | |
34 the Dart analyzer will not report a static error or warning even | |
35 though the program will clearly fail (in checked mode). Running DDC: | |
36 | |
37 $ dartdevc main.dart | |
38 | |
39 will display a severe error. Modifying ```42``` to ```'42'``` will | |
Jennifer Messerly
2015/05/28 19:26:50
can use single backtick instead of triple for inli
vsm
2015/05/29 13:02:51
Done.
| |
40 correct the error. | |
41 | |
42 ## Generating ES6 | |
43 | |
44 For code that statically type checks, DDC can be used to generate EcmaScript 6 ( ES6) code: | |
45 | |
46 $ dartdevc -o out main.dart | |
47 | |
48 The generated output will be in 'out/foo.js'. DDC generates one ES6 | |
49 file per library. It is a modular compiler: the whole program is not | |
50 necessary. | |
51 | |
52 ## Running in Server Mode | |
53 | |
54 DDC output may be testing most easily in [Chrome | |
Leaf
2015/05/28 18:27:25
s/testing/tested/
vsm
2015/05/28 18:29:27
Done.
Jennifer Messerly
2015/05/28 19:26:50
s/testing/tested/
| |
55 Canary](https://www.google.com/chrome/browser/canary.html). Launch a | |
56 local server via: | |
57 | |
58 $ dartdevc --server main.dart | |
59 | |
60 ## Testing in Chrome Canary | |
61 | |
62 Launch Chrome Canary at the URL shown by the above. You will need to | |
63 explicitly enable ES6 (harmony) features: this can be done via the | |
64 command line. E.g., on a Mac: | |
65 | |
66 $ /Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Ca nary --js-flags="--harmony-arrow-functions --harmony-classes --harmony-computed- property-names" http://localhost:8080 | |
67 | |
68 Remember to open the Developer Tools to see the output of a print. | |
69 | |
70 DDC does not yet support ```dart:html```, but it does allow raw access | |
71 to the JavaScript DOM. See our [modified version](https://github.com/dart-lang/ dev_compiler/blob/master/test/codegen/sunflower/sunflower.dart) of Dart Sunflowe r for | |
72 an example. | |
73 | |
74 ## Feedback | |
75 | |
76 Please file issues in our [GitHub issue tracker](https://github.com/dart-lang/de v_compiler/issues). | |
77 | |
78 You can also view or join our [mailing list](https://groups.google.com/a/dartlan g.org/forum/#!forum/dev-compiler). | |
79 | |
80 | |
81 | |
OLD | NEW |