21
ROME 11 April 2014 – G.Laquidara C.d’Angelis require.js Backbone Backbone Marionette jQuery Modernizr moment.js dest templates PhantomJS Jasmine Docs Docs Docs Docs Docs Docs Docs Docs Docs

Join the Dart side of web development - Laquidara

Embed Size (px)

DESCRIPTION

Le slide di Giovanni Laquidara presentate a Codemotion Roma 2014

Citation preview

Page 1: Join the Dart side of web development - Laquidara

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

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

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

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

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

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

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

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

ROME 11 April 2014 – G.Laquidara C.d’Angelis

Page 10: Join the Dart side of web development - Laquidara

ROME 11 April 2014 – G.Laquidara C.d’Angelis

Page 11: Join the Dart side of web development - Laquidara

ROME 11 April 2014 – G.Laquidara C.d’Angelis

Page 12: Join the Dart side of web development - Laquidara

ROME 11 April 2014 – G.Laquidara C.d’Angelis

Page 13: Join the Dart side of web development - Laquidara

ROME 11 April 2014 – G.Laquidara C.d’Angelis

Page 14: Join the Dart side of web development - Laquidara

ROME 11 April 2014 – G.Laquidara C.d’Angelis

Page 15: Join the Dart side of web development - Laquidara

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

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

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

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

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

ROME 11 April 2014 – G.Laquidara C.d’Angelis

Let’s CODE!

Page 21: Join the Dart side of web development - Laquidara

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