Top Banner

of 41

Dart presentation

Aug 11, 2015

ReportDownload

Technology

lucas-leal

  1. 1. Tpicos em Tecnologia da Computao Lucas Leal
  2. 2. Agenda What is Dart? Why did Google create Dart? Does the web really need another language? What is NEW about Dart? Why does Dart look so familiar? How can I play with Dart? Is there a real editor?
  3. 3. Agenda What is in the platform? ** Should I use Dart for my application today? Who is using Dart in production? Learn more
  4. 4. What is Dart? Open-source web programming language developed by Google. First appearing in GOTO conference in Aarhus, Denmark, October 10-12, 2011. Class-based, single-inheritance, object oriented language with C-style syntax. It supports interfaces, abstract classes, reified generics, and optional typing.
  5. 5. What is Dart? Batteries included. Language and libraries Tools VM Compiler to JavaScript
  6. 6. Why did Google create Dart? We want you to be able to create great web apps. Great web apps improve the web, and when the web does better, everyone wins. (Walrath, K; Ladd, S)
  7. 7. Why did Google create Dart? Dart helps developers from all platforms build complex, high performance client apps, for the future web, (Ladd, S) All platforms: iOS, Android, Java, .NET, C#, C++ More features, functionalities, integrated Zero latency, fast computational execution
  8. 8. Why did Google create Dart? In another words Runs web applications at least 2 times faster as its possible with JS in V8 JavaScript makes the work hard when the application
  9. 9. Does the web really need another language? Yes, it does! Pros: Developing small applications is easy Platform independence Non installation of applications Supports incremental development It is EVERYWHERE
  10. 10. Does the web really need another language? Cons: Developing large-scale applications is hard No support for libraries Startup performance is bad That said, Dart comes to fill those gaps No competition with JavaScript (kind of)
  11. 11. What is NEW about Dart? Dart uses a different type checker - Innocent until proven guilty Nice and compact way to implement a function that evaluates and return a single expression Snapshots Generics, but easy! HTML library, reusability
  12. 12. Why does Dart look so familiar? They want more than 5 users Designed for mass adoption Scripting language users (JavaScripters), and structured language users (Java developers) Anyone familiar with Java, or a C language should be able to quickly understand Dart
  13. 13. Why does Dart look so familiar? class Point { Point(this.x, this.y); distanceTo(other) { var dx = x - other.x; var dy = y - other.y; return Math.sqrt(dx * dx + dy * dy); } var x, y; } main() { var p = new Point(2, 3); var q = new Point(3, 4); print(distance from p to q = ${p.distanceTo(q)}); }
  14. 14. How can I play with Dart? Is there a real editor? DartPad Executes Dart code interactive in any modern browser dartpad.dartlang.org Provides some code examples
  15. 15. How can I play with Dart? Is there a real editor?
  16. 16. How can I play with Dart? Is there a real editor?
  17. 17. How can I play with Dart? Is there a real editor?
  18. 18. How can I play with Dart? Is there a real editor?
  19. 19. How can I play with Dart? Is there a real editor? Dart Editor Available for Windows, Mac, and Linux Its made simple: just select a file and click Run Dart Editor compile your Dart code to JavaScript Features and tools that helps editing Dart code
  20. 20. How can I play with Dart? Is there a real editor? ]
  21. 21. How can I play with Dart? Is there a real editor? Dartium
  22. 22. How can I play with Dart? Is there a real editor? Dartium
  23. 23. How can I play with Dart? Is there a real editor? Its integrated with Chromium (also nicknamed Dartium) Dart SDK
  24. 24. What is in the platform? Language specifications Libraries Compiler to JavaScript VM Integration with Chromium Dart Editor
  25. 25. Should I use Dart for my application today? The definitely is YES! There are a lot of companies using Dart in production The benefits are relevant as showed
  26. 26. Should I use Dart for my application today?
  27. 27. Should I use Dart for my application today?
  28. 28. Should I use Dart for my application today?
  29. 29. Should I use Dart for my application today?
  30. 30. Benchmarking DeltaBlue is a one-way constraint solver, originally written in Smalltalk by John Maloney and Mario Wolczko. The main focus in DeltaBlue is on polymorphism and object-oriented programming. FluidMotion is a 2D Navier-Stokes equations solver, originally written in JavaScript by Oliver Hunt. The main focus is on accessing numeric arrays, as well as doing floating-point arithmetic. Havlak algorithm is an extension of Tarjans interval- finding algorithm that deals with irreducible graphs, and constructs a loop-nesting forest for an arbitrary flow graph
  31. 31. Benchmarking Richards is an OS kernel simulation benchmark, originally written in BCPL by Martin Richards. The main focus in Richards is on property access and calling functions and methodspolymorphism and object- oriented programming. Tracer is a ray tracer benchmark, originally written in JavaScript by Adam Burmister. Both Adams and the Octane version in JavaScript use the class emulation pattern from the prototype.js library. Because Dart has a native class system, its unfair to do a direct performance comparison with the Octane version. We therefore compare Dart performance with an improved JavaScript version called Tracer. The improved version uses only constructors and prototypes without any abstraction layers in between; it runs 50% faster than the original Raytrace JavaScript benchmark in Octane.
  32. 32. Who is using Dart in production? A bunch of companies listed on Darts website https://www.dartlang.org/community/who- uses-dart.html Google Fiber
  33. 33. Learn more The main place to go for Dart information is dartlang.org Official news: Dart News & Updates Dartosphere (single feed of many Dart blogs) Good interviews and videos about Dart: InfoWorld interview with Lars Bak (15 Nov 2011) Dartisans hangout with Seth Ladd, Vijay Menon, and Anton Muhin (15 Feb 2012) Transcription of Gilad Brachas quick tour of Dart (2 Nov 2011)
  34. 34. References Darts website: https://www.dartlang.org. Walrath, K; Ladd, S. What is Dart? OReilly, March 2012, CA, EUA. Walrath, K. What is Dart? Available on: http://radar.oreilly.com/2012/03/what-is-dart.html. OReilly, March 21, 2012. Accessed on May 27, 2015. InfoWorld interview: Why Google Dart beats JavaScript, by Paul Krill. Available on: http://www.javaworld.com/article/2078464/mobile- java/infoworld-interview--why-google-dart-beats- javascript.html.
  35. 35. References IODev Blog. Dart Dart Dart What is Dart?. June 11, 2012. Available on: http://iodev- blog.blogspot.com.br/2012/06/dartdartdartwhat-is- dart.html. Seth Ladds Blog. Available on: http://blog.sethladd.com.