appdays pordenone 2014: web app engineering with dart

22
Language Libraries Tools Compilation to Javascript

Upload: claudio-dangelis

Post on 13-Jan-2015

145 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: AppDays Pordenone 2014: Web App Engineering With Dart

● Language

● Libraries

● Tools

● Compilation to Javascript

Page 2: AppDays Pordenone 2014: Web App Engineering With Dart

Dart is open source

● BSD-style license

● dart.googlecode.com

● GitHub mirror

● Contributing guide

● ECMA Standard (TC52)

● Production ready (1.3)

Page 3: AppDays Pordenone 2014: Web App Engineering With Dart

Compiles to JavaScript, runs across the modern web

Page 4: AppDays Pordenone 2014: Web App Engineering With Dart

Run Dart on the server

with the Dart VM

Page 5: AppDays Pordenone 2014: Web App Engineering With Dart

● New language, familiar syntax

● Rich libraries

● Consistent semantics

Page 6: AppDays Pordenone 2014: Web App Engineering With Dart

Missing getter?

"Coffee".missing // ??

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

"Coffee"

Arguments: [] 

Page 7: AppDays Pordenone 2014: Web App Engineering With Dart

String compared to number?

“2” > 1 // ?? 

Unhandled exception:

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

NoSuchMethodError : method not found: '>'

Receiver: "2"

Arguments: [1]

Page 8: AppDays Pordenone 2014: Web App Engineering With Dart
Page 9: AppDays Pordenone 2014: Web App Engineering With Dart

Built-in libraries

asynccollectionconvertcorehtmlindexed_dbioisolate

jsmathmirrorssvgtyped_dataweb_audioweb_glweb_sql

Kansas City Public Library

Page 10: AppDays Pordenone 2014: Web App Engineering With Dart
Page 11: AppDays Pordenone 2014: Web App Engineering With Dart
Page 12: AppDays Pordenone 2014: Web App Engineering With Dart
Page 13: AppDays Pordenone 2014: Web App Engineering With Dart
Page 14: AppDays Pordenone 2014: Web App Engineering With Dart

Asynchronous andconcurrent programming

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

● Futures● Streams● Isolates

Page 15: AppDays Pordenone 2014: Web App Engineering With Dart
Page 16: AppDays Pordenone 2014: Web App Engineering With Dart
Page 17: AppDays Pordenone 2014: Web App Engineering With Dart

Dart-to-JS Compiler & Performance

Dart2js' s features:

● Minification & Source Maps

● Global type inference

● Tree-shaking

− Compile-time dead code elimination

Page 18: AppDays Pordenone 2014: Web App Engineering With Dart

main Library

baz foo bar boo

imports

callsbaz

main foo bar

Tree shaking

dart2js

Page 19: AppDays Pordenone 2014: Web App Engineering With Dart

https://dartlang.org/performance

Page 20: AppDays Pordenone 2014: Web App Engineering With Dart

● 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: AppDays Pordenone 2014: Web App Engineering With Dart

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: AppDays Pordenone 2014: Web App Engineering With Dart

:-)

Claudio d'Angelis

Twitter: @daw___ (3 underscores!!1)Google+, Github: claudiodangelis

Codelab: Realizzare una Open Web App per Firefox OS con Dart

http://git.io/Qv6UKA