Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni...
Transcript of Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni...
![Page 1: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/1.jpg)
Roma 2014
Google DevFest
![Page 2: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/2.jpg)
Join the Dart Side
of Web Development
Giovanni Laquidara
Claudio d’Angelis
e il Team del GDG Roma L-Ab
![Page 3: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/3.jpg)
● Language
● Libraries
● Tools
● Compilation to JavaScript
![Page 4: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/4.jpg)
Dart is open source ● BSD-style license
● dart.googlecode.com
● GitHub mirror
● Contributing guide
● ECMA Standard (TC52)
● Production ready (1.7)
![Page 5: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/5.jpg)
Compiles to JavaScript,
runs across the modern web
![Page 6: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/6.jpg)
Run Dart on the server with the Dart VM
![Page 7: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/7.jpg)
● New language, familiar syntax
● Rich libraries
● Consistent semantics
![Page 8: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/8.jpg)
"Coffee".missing // ??
Class 'String' has no instance getter 'missing'. NoSuchMethodError :
method not found: 'missing'
Receiver: "Coffee"
Arguments: []
![Page 9: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/9.jpg)
“2” > 1 // ??
Unhandled exception:
Class 'String' has no instance method '>'.
NoSuchMethodError : method not found: '>'
Receiver: "2"
Arguments: [1]
![Page 10: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/10.jpg)
![Page 11: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/11.jpg)
Built-in libraries
async
collection
convert
core
html
indexed_db
io
isolate
js
math
mirrors
svg
typed_data
web_audio
web_gl
web_sql
Kansas City Public Library
![Page 12: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/12.jpg)
![Page 13: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/13.jpg)
![Page 14: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/14.jpg)
![Page 15: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/15.jpg)
![Page 16: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/16.jpg)
Asynchronous and
concurrent programming
https://www.flickr.com/photos/huskyte/8519749145/in/photostream/
Futures
Streams
Isolates
![Page 17: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/17.jpg)
![Page 18: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/18.jpg)
![Page 19: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/19.jpg)
Dart-to-JS Compiler
& Performance
Dart2js' s features:
● Minification & Source Maps
● Global type inference
● Tree-shaking
− Compile-time dead code elimination
![Page 20: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/20.jpg)
main Library
baz foo bar boo
imports
calls baz
main foo bar
dart2js
![Page 21: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/21.jpg)
https://dartlang.org/performance
![Page 22: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/22.jpg)
● IDE: Dart Editor
● Package Manager: pub
● JS compiler: dart2js
● Library documentation generator: docgen
● Static analyzer: dartanalyzer
● Chromium with Dart VM: Dartium
Language, Libraries & Tools
![Page 23: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/23.jpg)
Polymer.dart AngularDart
![Page 24: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/24.jpg)
Homepage: https://dartlang.org
API Reference: https://api.dartlang.org
Pub Packages: https://pub.dartlang.org
AngularDart: https://angulardart.org
Polymer.dart: https://dartlang.org/polymer-dart
![Page 25: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/25.jpg)
Claudio d'Angelis
Twitter: @daw985
Google+, Github: claudiodangelis
Giovanni Laquidara
Twitter: @joaolaq
Google+: +giovannilaquidara
Github: joaobiriba
![Page 26: Google DevFest Roma 2014 · Google DevFest . Join the Dart Side of Web Development Giovanni Laquidara Claudio d’Angelis e il Team del GDG Roma L-Ab Language Libraries Tools Compilation](https://reader035.fdocuments.us/reader035/viewer/2022071009/5fc708850b678d333a0c6d02/html5/thumbnails/26.jpg)
Roma 2014
Google DevFest
Claudio d'Angelis
Twitter: @daw985
Google+, Github: claudiodangelis
Giovanni Laquidara
Twitter: @joaolaq
Google+: +giovannilaquidara
Github: joaobiriba