![Page 1: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/1.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
require.js
Backbone
Backbone Marionette
jQuery
Modernizr
moment.js
dest templates
PhantomJS
JasmineDocs
Docs
Docs
Docs
Docs
Docs
Docs
Docs
Docs
![Page 2: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/2.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
● Language● Libraries● Tools● Compilation to Javascript
![Page 3: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/3.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
Dart is open source● BSD-style license● dart.googlecode.com● GitHub mirror● Contributing guide● ECMA Standard (TC52)● Production ready (1.3)
![Page 4: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/4.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
Compile to JavaScript, runs across the modern web
![Page 5: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/5.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
Run Dart on the server
with the Dart VM
![Page 6: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/6.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
● New language, familiar
syntax
● Rich libraries
● Consistent semantics
![Page 7: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/7.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
Missing getter?
"Coffee".missing // ??
Class 'String' has no instance getter 'missing'. NoSuchMethodError : method not found: 'missing' Receiver: "Coffee"Arguments: []
![Page 8: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/8.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
String compared to number?
“2” > 1 // ??
Unhandled exception:Class 'String' has no instance method '>'.
NoSuchMethodError : method not found: '>'Receiver: "2"Arguments: [1]
![Page 9: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/9.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
![Page 10: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/10.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
![Page 11: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/11.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
![Page 12: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/12.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
![Page 13: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/13.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
![Page 14: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/14.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
![Page 15: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/15.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
Dart-to-JS Compiler & Performance
dart2js's features:● Minification & Source Maps● Global type inference● Tree-shaking
− Compile-time dead code elimination
![Page 16: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/16.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
main Library
baz foo bar boo
imports
callsbaz
main foo bar
Tree shaking
dart2js
![Page 17: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/17.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
(bigger is better)
https://www.dartlang.org/performance
![Page 18: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/18.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
Language, Libraries & Tools
● IDE: Dart Editor● Package Manager: pub● JS compiler: dart2js● Library documentation generator:
docgen● Static analyzer: dartanalyzer● Chromium with Dart VM: Dartium
![Page 19: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/19.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
Homepage: https://dartlang.orgAPI Reference: https://api.dartlang.orgPub Packages: https://pub.dartlang.org
AngularDart: https://angulardart.orgPolymer.dart:
https://dartlang.org/polymer-dart
![Page 20: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/20.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
Let’s CODE!
![Page 21: Join the Dart side of web development - Laquidara](https://reader038.vdocuments.net/reader038/viewer/2022110301/540be3228d7f72f36a8b492f/html5/thumbnails/21.jpg)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
Claudio d’Angelis+claudiodangelis@daw___ (3 underscores!!1)claudiodangelis
Live Demo!http://codemotion.claudiodangelis.com
Giovanni Laquidara+GiovanniLaquidara@joaolaqjoaobiriba