Top Banner
Language Libraries Tools Compilation to Javascript
22

Join the dart side of webdevelopment reloaded

Jan 13, 2015

Download

Technology

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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