SlideShare une entreprise Scribd logo
1  sur  21
ROME 11 April 2014 – G.Laquidara C.d’Angelis
require.js
Backbone
Backbone Marionette
jQuery
ROME 11 April 2014 – G.Laquidara C.d’Angelis
● Language
● Libraries
● Tools
● Compilation to Javascript
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)
ROME 11 April 2014 – G.Laquidara C.d’Angelis
Compile to JavaScript, runs across the modern web
ROME 11 April 2014 – G.Laquidara C.d’Angelis
Run Dart on
the server with
the Dart VM
ROME 11 April 2014 – G.Laquidara C.d’Angelis
● New language, familiar syntax
● Rich libraries
● Consistent semantics
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: []
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]
ROME 11 April 2014 – G.Laquidara C.d’Angelis
ROME 11 April 2014 – G.Laquidara C.d’Angelis
ROME 11 April 2014 – G.Laquidara C.d’Angelis
ROME 11 April 2014 – G.Laquidara C.d’Angelis
ROME 11 April 2014 – G.Laquidara C.d’Angelis
ROME 11 April 2014 – G.Laquidara C.d’Angelis
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
ROME 11 April 2014 – G.Laquidara C.d’Angelis
main Library
baz foo bar boo
imports
calls
baz
main foo bar
Tree shaking
dart2js
ROME 11 April 2014 – G.Laquidara C.d’Angelis
(bigger is better)
https://www.dartlang.org/performance
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
ROME 11 April 2014 – G.Laquidara C.d’Angelis
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
ROME 11 April 2014 – G.Laquidara C.d’Angelis
Let’s CODE!
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
@joaolaq
joaobiriba

Contenu connexe

Similaire à Join the Dart side of web development - Laquidara

ATLRUG Giveback Announcements - Oct. 2014
ATLRUG Giveback Announcements - Oct. 2014ATLRUG Giveback Announcements - Oct. 2014
ATLRUG Giveback Announcements - Oct. 2014
jasnow
 
Docker 101 - From production to development
Docker 101 - From production to developmentDocker 101 - From production to development
Docker 101 - From production to development
Raül Pérez
 

Similaire à Join the Dart side of web development - Laquidara (20)

Joomla Continuous Delivery with Docker
Joomla Continuous Delivery with DockerJoomla Continuous Delivery with Docker
Joomla Continuous Delivery with Docker
 
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
 
#CNX14 - Using Ruby for Reliability, Consistency, and Speed
#CNX14 - Using Ruby for Reliability, Consistency, and Speed#CNX14 - Using Ruby for Reliability, Consistency, and Speed
#CNX14 - Using Ruby for Reliability, Consistency, and Speed
 
Docker Continuous Delivery Workshop
Docker Continuous Delivery WorkshopDocker Continuous Delivery Workshop
Docker Continuous Delivery Workshop
 
ATLRUG Giveback Announcements - Oct. 2014
ATLRUG Giveback Announcements - Oct. 2014ATLRUG Giveback Announcements - Oct. 2014
ATLRUG Giveback Announcements - Oct. 2014
 
Freakend 2019: Preparing for Vulkan
Freakend 2019: Preparing for VulkanFreakend 2019: Preparing for Vulkan
Freakend 2019: Preparing for Vulkan
 
Docker 101 - From production to development
Docker 101 - From production to developmentDocker 101 - From production to development
Docker 101 - From production to development
 
Docker workshop
Docker workshopDocker workshop
Docker workshop
 
Distro Recipes 2013 : Make Debian and compiler agnostic
Distro Recipes 2013 : Make Debian and  compiler agnostic Distro Recipes 2013 : Make Debian and  compiler agnostic
Distro Recipes 2013 : Make Debian and compiler agnostic
 
Montreal.rb ruby debugging basics - march 20th 2012
Montreal.rb   ruby debugging basics - march 20th 2012Montreal.rb   ruby debugging basics - march 20th 2012
Montreal.rb ruby debugging basics - march 20th 2012
 
Athens Ruby meetup #8
Athens Ruby meetup #8Athens Ruby meetup #8
Athens Ruby meetup #8
 
Building Multilingual Websites in Drupal 7
Building Multilingual Websites in Drupal 7Building Multilingual Websites in Drupal 7
Building Multilingual Websites in Drupal 7
 
Ruby semweb 2011-12-06
Ruby semweb 2011-12-06Ruby semweb 2011-12-06
Ruby semweb 2011-12-06
 
Apache cordova
Apache cordovaApache cordova
Apache cordova
 
PyTorch for Delphi - Python Data Sciences Libraries.pdf
PyTorch for Delphi - Python Data Sciences Libraries.pdfPyTorch for Delphi - Python Data Sciences Libraries.pdf
PyTorch for Delphi - Python Data Sciences Libraries.pdf
 
Querying the Web of Data with XSPARQL 1.1
Querying the Web of Data with XSPARQL 1.1Querying the Web of Data with XSPARQL 1.1
Querying the Web of Data with XSPARQL 1.1
 
QEWD.js: Have your Node.js Cake and Eat It Too
QEWD.js: Have your Node.js Cake and Eat It TooQEWD.js: Have your Node.js Cake and Eat It Too
QEWD.js: Have your Node.js Cake and Eat It Too
 
Docker Workshop for beginner
Docker Workshop for beginnerDocker Workshop for beginner
Docker Workshop for beginner
 
Introduction to Docker - What is it and how is it compared to VM's
Introduction to Docker - What is it and how is it compared to VM'sIntroduction to Docker - What is it and how is it compared to VM's
Introduction to Docker - What is it and how is it compared to VM's
 
[Szjug] Docker. Does it matter for java developer?
[Szjug] Docker. Does it matter for java developer?[Szjug] Docker. Does it matter for java developer?
[Szjug] Docker. Does it matter for java developer?
 

Plus de Codemotion

Plus de Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Dernier (20)

Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Join the Dart side of web development - Laquidara

  • 1. ROME 11 April 2014 – G.Laquidara C.d’Angelis require.js Backbone Backbone Marionette jQuery
  • 2. ROME 11 April 2014 – G.Laquidara C.d’Angelis ● Language ● Libraries ● Tools ● Compilation to Javascript
  • 3. 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)
  • 4. ROME 11 April 2014 – G.Laquidara C.d’Angelis Compile to JavaScript, runs across the modern web
  • 5. ROME 11 April 2014 – G.Laquidara C.d’Angelis Run Dart on the server with the Dart VM
  • 6. ROME 11 April 2014 – G.Laquidara C.d’Angelis ● New language, familiar syntax ● Rich libraries ● Consistent semantics
  • 7. 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: []
  • 8. 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]
  • 9. ROME 11 April 2014 – G.Laquidara C.d’Angelis
  • 10. ROME 11 April 2014 – G.Laquidara C.d’Angelis
  • 11. ROME 11 April 2014 – G.Laquidara C.d’Angelis
  • 12. ROME 11 April 2014 – G.Laquidara C.d’Angelis
  • 13. ROME 11 April 2014 – G.Laquidara C.d’Angelis
  • 14. ROME 11 April 2014 – G.Laquidara C.d’Angelis
  • 15. 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
  • 16. ROME 11 April 2014 – G.Laquidara C.d’Angelis main Library baz foo bar boo imports calls baz main foo bar Tree shaking dart2js
  • 17. ROME 11 April 2014 – G.Laquidara C.d’Angelis (bigger is better) https://www.dartlang.org/performance
  • 18. 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
  • 19. ROME 11 April 2014 – G.Laquidara C.d’Angelis 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
  • 20. ROME 11 April 2014 – G.Laquidara C.d’Angelis Let’s CODE!
  • 21. 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 @joaolaq joaobiriba