join the dart side of webdevelopment reloaded

22
Language Libraries Tools Compilation to Javascript

Upload: claudio-dangelis

Post on 13-Jan-2015

66 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Join the dart side of webdevelopment reloaded

● Language

● Libraries

● Tools

● Compilation to Javascript

Page 2: Join the dart side of webdevelopment reloaded

Dart is open source

● BSD-style license

● dart.googlecode.com

● GitHub mirror

● Contributing guide

● ECMA Standard (TC52)

● Production ready (1.4)

Page 3: Join the dart side of webdevelopment reloaded

Compiles to JavaScript, runs across the modern web

Page 4: Join the dart side of webdevelopment reloaded

Run Dart on the server

with the Dart VM

Page 5: Join the dart side of webdevelopment reloaded

● New language, familiar syntax

● Rich libraries

● Consistent semantics

Page 6: Join the dart side of webdevelopment reloaded

Missing getter?

"Coffee".missing // ??

Class 'String' has no instance getter 'missing'. NoSuchMethodError : method not found: 'missing' Receiver: 

"Coffee"

Arguments: [] 

Page 7: Join the dart side of webdevelopment reloaded

String compared to number?

“2” > 1 // ?? 

Unhandled exception:

Class 'String' has no instance method '>'.

NoSuchMethodError : method not found: '>'

Receiver: "2"

Arguments: [1]

Page 8: Join the dart side of webdevelopment reloaded
Page 9: Join the dart side of webdevelopment reloaded

Built-in libraries

asynccollectionconvertcorehtmlindexed_dbioisolate

jsmathmirrorssvgtyped_dataweb_audioweb_glweb_sql

Kansas City Public Library

Page 10: Join the dart side of webdevelopment reloaded
Page 11: Join the dart side of webdevelopment reloaded
Page 12: Join the dart side of webdevelopment reloaded
Page 13: Join the dart side of webdevelopment reloaded
Page 14: Join the dart side of webdevelopment reloaded

Asynchronous andconcurrent programming

https://www.flickr.com/photos/huskyte/8519749145/in/photostream/

● Futures● Streams● Isolates

Page 15: Join the dart side of webdevelopment reloaded
Page 16: Join the dart side of webdevelopment reloaded
Page 17: Join the dart side of webdevelopment reloaded

Dart-to-JS Compiler & Performance

Dart2js' s features:

● Minification & Source Maps

● Global type inference

● Tree-shaking

− Compile-time dead code elimination

Page 18: Join the dart side of webdevelopment reloaded

main Library

baz foo bar boo

imports

callsbaz

main foo bar

Tree shaking

dart2js

Page 19: Join the dart side of webdevelopment reloaded

https://dartlang.org/performance

Page 20: Join the dart side of webdevelopment reloaded

● 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 21: Join the dart side of webdevelopment reloaded

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 22: Join the dart side of webdevelopment reloaded

Live coding!Download Dart Editor:

https://dartlang.org/tools/download.html

Claudio d'Angelis

Twitter: @daw985Google+, Github: claudiodangelis

Giovanni Laquidara

Twitter: @joaolaqGoogle+: +giovannilaquidaraGithub: joaobiriba