Dart @ JUG Saxony
Nächste SlideShare
Wird geladen in ...5
×

Das gefällt Ihnen? Dann teilen Sie es mit Ihrem Netzwerk

Teilen

Dart @ JUG Saxony

  • 2,618 Views
Hochgeladen am

An old talk on #Dartlang which I gave at the Java Usergroup in Dresden. Meanwhile my slide style is improved by the fantastic book "Presentation Zen" (see my other slides here)

An old talk on #Dartlang which I gave at the Java Usergroup in Dresden. Meanwhile my slide style is improved by the fantastic book "Presentation Zen" (see my other slides here)

Mehr in: Technologie
  • Full Name Full Name Comment goes here.
    Sind Sie sicher, dass Sie...
    Ihre Nachricht erscheint hier
    Hinterlassen Sie den ersten Kommentar
    Be the first to like this
Keine Downloads

Views

Gesamtviews
2,618
Bei Slideshare
2,242
Aus Einbettungen
376
Anzahl an Einbettungen
5

Aktionen

Geteilt
Downloads
2
Kommentare
0
Gefällt mir
0

Einbettungen 376

http://www.grobmeier.de 367
http://localhost 4
http://newsblur.com 2
http://grobmeier.de 2
http://www.newsblur.com 1

Inhalte melden

Als unangemessen gemeldet Als unangemessen melden
Als unangemessen melden

Wählen Sie Ihren Grund, warum Sie diese Präsentation als unangemessen melden.

Löschen
    No notes for slide

Transcript

  • 1. versus Christian Grobmeier http://www.grobmeier.de @grobmeierDonnerstag, 26. April 2012
  • 2. • Programmiersprache • Heavy Metal Band aus von Google England • Kann JS ersetzen • Ersetzt Hawkwind • Läuft in einer VM • Läuft mit Whisky • Für „ernsthafte“ • Zur täglichen Anwendungen Anwendungen • Jung und rockt • Alt und rocktDonnerstag, 26. April 2012
  • 3. Band Lemmy Mikkey Dee Bass + Gesang Gitarre Wizzo SchlagzeugDonnerstag, 26. April 2012
  • 4. Band Dart Editor Dart SDK DartiumDonnerstag, 26. April 2012
  • 5. Releases Lang Spec v0.08 :-( kaum Libraries :-( 21 Studioalben! + unzähliges mehrDonnerstag, 26. April 2012
  • 6. Highlights + 17 mehr!Donnerstag, 26. April 2012
  • 7. Highlights Dart ist „Mainstream“, hat eine main-Methode und kennt nur ein null.Donnerstag, 26. April 2012
  • 8. Highlights Dart kennt Interfaces und KlassenDonnerstag, 26. April 2012
  • 9. Highlights class MyReceiver extends Isolate { } Einfachvererbung interface Hobbit extends A, B{ } Mehrvererbung class Frodo implements Hobbit, Hungry { }Donnerstag, 26. April 2012
  • 10. Highlights Dart kennt optionale Typen dart --enable_type_checks App.dartDonnerstag, 26. April 2012
  • 11. Highlights Dynamic class Frodo { var hungry; bool sleepy; Ring ring; }Donnerstag, 26. April 2012
  • 12. Highlights Dart does not need to drink whisky. It has whisky in it‘s veins.Donnerstag, 26. April 2012
  • 13. Highlights class Frodo { Frodo(num age) : super() { } } var frodo = new Frodo(111); KonstruktorDonnerstag, 26. April 2012
  • 14. Highlights class Frodo { Frodo.eat(){ } } var frodo = new Frodo.eat(); Ein „named Constructor“ verhält sich wie ein überladener Konstruktor in Java.Donnerstag, 26. April 2012
  • 15. Highlights class Frodo { var hungry; Frodo.cook(this.hungry); } new Frodo.cook(true);Donnerstag, 26. April 2012
  • 16. Highlights class Frodo { bool _hungry; bool get hungry() => _hungry; void set hungry(bool x) { _hungry = x; } } Get/Set kann nicht überschrieben werden und können nicht überschreiben.Donnerstag, 26. April 2012
  • 17. Highlights Frodo f = new Frodo(); f.hungry = true; Setter werden wie Standardproperties aufgerufen. GET/SET Methoden vermeiden!Donnerstag, 26. April 2012
  • 18. class Hobbit { Highlights factory Hobbit() { return new Hobbit._internal(); } Hobbit._internal() { print("Construct");! } } main() { Hobbit hobbit = new Hobbit(); } Das Factory Pattern mit DartDonnerstag, 26. April 2012
  • 19. Highlights Dart ist Library-ScopedDonnerstag, 26. April 2012
  • 20. Highlights Privacy class Frodo { Public eat(){ } _sleep() { } } PrivateDonnerstag, 26. April 2012
  • 21. Highlights Privacy #library(„Frodo“); class Frodo {... Public #library(„Mordor“); #import(„Frodo.dart“); new Frodo()... Private Elemente sind nicht sichtbarDonnerstag, 26. April 2012
  • 22. Highlights Dart IsolatesDonnerstag, 26. April 2012
  • 23. Threads => Isolates • Isolates erlauben „multithreading“ • Isolates kommunizieren via Ports • Isolates werden durch „spawn“ing erzeugtDonnerstag, 26. April 2012
  • 24. Isolates <body> <script type="application/dart"> main() { // Do some DART } Isolate </script> <script type="application/dart"> main() { } </script> </body>Donnerstag, 26. April 2012
  • 25. Isolates Light Heavy •Leben im gleichen Thread •Erzeugen einen neuen Thread •Nur ein Isolate auf einmal •Mehrere Isolates auf einmal Dart entscheidet über den Geschmack. Isolates können keine States teilen! Isolates sind immer asynchron!Donnerstag, 26. April 2012
  • 26. Isolates process() { port.receive((var m, SendPort r) { print ("Got message: ${m}"); r.send("close"); port.close(); }); }Donnerstag, 26. April 2012
  • 27. Isolates main() { port.receive((var m, SendPort r) { print("Got message: ${m}"); ! port.close(); }); ! SendPort s = spawnFunction(process); s.send("start", port.toSendPort()); }Donnerstag, 26. April 2012
  • 28. • Kein Multithreading - einmal Motörhead, immer Motörhead • Mit Motörhead ist man niemals einsam • Ist der eine Thread einmal beendet, gibt es keine neuen Alben mehrDonnerstag, 26. April 2012
  • 29. Road Crew • HTML • Templates • JSON • Dartdoc • Frog • etc. • We are the Road Crew • Unbekannte PersonenDonnerstag, 26. April 2012
  • 30. HTML Library document.query(#myid); document.query(.foo); document.queryAll(.foo); Inspiriert von jQueryDonnerstag, 26. April 2012
  • 31. HTML Library elem.attributes.contains(name); elem.attributes[name]; elem.attributes[name] = value; elem.attributes.remove(name); Collections!Donnerstag, 26. April 2012
  • 32. HTML Library new Element.tag(div); TableElement t = new Element.html( <table><tr><td>Hi</td></tr></table> ); Verbesserte Elementerstellung - mit KonstruktorenDonnerstag, 26. April 2012
  • 33. HTML Library elem.on.click.add( (event) => print(click!)); elem.on.click.remove(listener); Alle Events sind in einem Property erreichbar.Donnerstag, 26. April 2012
  • 34. Templates App.dart Hello.tmpl Hello.dart App.htmlDonnerstag, 26. April 2012
  • 35. Templates template Hello(String to) { <div>${to}</div> } $ template HelloDonnerstag, 26. April 2012
  • 36. Templates main() { Hello h = new Hello("Motörhead"); var panel = document.query("#p"); panel.elements.add(h.root); }Donnerstag, 26. April 2012
  • 37. And the winner is... en ed Offenheit Stabile API hi sc Template System nt Releases ne Zukunft BrowserübergreifendU Android Support Geschwindigkeit LautstärkeDonnerstag, 26. April 2012
  • 38. Röck ön! Danke! Christian Grobmeier http://www.grobmeier.de @grobmeierDonnerstag, 26. April 2012