• Teilen
  • E-Mail
  • Einbetten
  • Gefällt mir
  • Speichern
  • Privater Inhalt
Dart @ JUG Saxony
 

Dart @ JUG Saxony

on

  • 2,235 Views

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)

Statistiken

Views

Gesamtviews
2,235
Views auf SlideShare
1,872
Views einbetten
363

Actions

Gefällt mir
0
Downloads
1
Kommentare
0

5 Einbettungen 363

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

Zugänglichkeit

Kategorien

Details hochladen

Uploaded via as Adobe PDF

Benutzerrechte

© Alle Rechte vorbehalten

Report content

Als unangemessen gemeldet Als unangemessen melden
Als unangemessen melden

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

Löschen
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Ihre Nachricht erscheint hier
    Processing...
Kommentar posten
Kommentar bearbeiten

    Dart @ JUG Saxony Dart @ JUG Saxony Presentation Transcript

    • versus Christian Grobmeier http://www.grobmeier.de @grobmeierDonnerstag, 26. April 2012
    • • 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
    • Band Lemmy Mikkey Dee Bass + Gesang Gitarre Wizzo SchlagzeugDonnerstag, 26. April 2012
    • Band Dart Editor Dart SDK DartiumDonnerstag, 26. April 2012
    • Releases Lang Spec v0.08 :-( kaum Libraries :-( 21 Studioalben! + unzähliges mehrDonnerstag, 26. April 2012
    • Highlights + 17 mehr!Donnerstag, 26. April 2012
    • Highlights Dart ist „Mainstream“, hat eine main-Methode und kennt nur ein null.Donnerstag, 26. April 2012
    • Highlights Dart kennt Interfaces und KlassenDonnerstag, 26. April 2012
    • Highlights class MyReceiver extends Isolate { } Einfachvererbung interface Hobbit extends A, B{ } Mehrvererbung class Frodo implements Hobbit, Hungry { }Donnerstag, 26. April 2012
    • Highlights Dart kennt optionale Typen dart --enable_type_checks App.dartDonnerstag, 26. April 2012
    • Highlights Dynamic class Frodo { var hungry; bool sleepy; Ring ring; }Donnerstag, 26. April 2012
    • Highlights Dart does not need to drink whisky. It has whisky in it‘s veins.Donnerstag, 26. April 2012
    • Highlights class Frodo { Frodo(num age) : super() { } } var frodo = new Frodo(111); KonstruktorDonnerstag, 26. April 2012
    • 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
    • Highlights class Frodo { var hungry; Frodo.cook(this.hungry); } new Frodo.cook(true);Donnerstag, 26. April 2012
    • 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
    • Highlights Frodo f = new Frodo(); f.hungry = true; Setter werden wie Standardproperties aufgerufen. GET/SET Methoden vermeiden!Donnerstag, 26. April 2012
    • 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
    • Highlights Dart ist Library-ScopedDonnerstag, 26. April 2012
    • Highlights Privacy class Frodo { Public eat(){ } _sleep() { } } PrivateDonnerstag, 26. April 2012
    • Highlights Privacy #library(„Frodo“); class Frodo {... Public #library(„Mordor“); #import(„Frodo.dart“); new Frodo()... Private Elemente sind nicht sichtbarDonnerstag, 26. April 2012
    • Highlights Dart IsolatesDonnerstag, 26. April 2012
    • Threads => Isolates • Isolates erlauben „multithreading“ • Isolates kommunizieren via Ports • Isolates werden durch „spawn“ing erzeugtDonnerstag, 26. April 2012
    • Isolates <body> <script type="application/dart"> main() { // Do some DART } Isolate </script> <script type="application/dart"> main() { } </script> </body>Donnerstag, 26. April 2012
    • 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
    • Isolates process() { port.receive((var m, SendPort r) { print ("Got message: ${m}"); r.send("close"); port.close(); }); }Donnerstag, 26. April 2012
    • 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
    • • 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
    • Road Crew • HTML • Templates • JSON • Dartdoc • Frog • etc. • We are the Road Crew • Unbekannte PersonenDonnerstag, 26. April 2012
    • HTML Library document.query(#myid); document.query(.foo); document.queryAll(.foo); Inspiriert von jQueryDonnerstag, 26. April 2012
    • HTML Library elem.attributes.contains(name); elem.attributes[name]; elem.attributes[name] = value; elem.attributes.remove(name); Collections!Donnerstag, 26. April 2012
    • 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
    • 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
    • Templates App.dart Hello.tmpl Hello.dart App.htmlDonnerstag, 26. April 2012
    • Templates template Hello(String to) { <div>${to}</div> } $ template HelloDonnerstag, 26. April 2012
    • Templates main() { Hello h = new Hello("Motörhead"); var panel = document.query("#p"); panel.elements.add(h.root); }Donnerstag, 26. April 2012
    • 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
    • Röck ön! Danke! Christian Grobmeier http://www.grobmeier.de @grobmeierDonnerstag, 26. April 2012