Upload
jana-moudra
View
1.099
Download
0
Embed Size (px)
DESCRIPTION
My presentation from event: Introduction to the Dart language organized by GDG SSPŠ.
Citation preview
Introduction to the
Dart langJana Moudrá
Co-Founder at JuicymoOrganizer at GDG ČVUT Prague/GDG Prague
Interested in Web, Android, Design, Dart
about.me/janamou
About Me
about.me/janamou
about.me/janamou
1.3.6
Open-sourceLanguage for the Web
For better performanceGoals to replace JavaScriptReady for standardization
about.me/janamou
Dartium: Chromium with Dart VM
about.me/janamou
Compiled into JavaScript works
in all modern browsers
about.me/janamou
Object Oriented Easy to learn Optional types
ModularCompiles to JavaScript
about.me/janamou
Client Server
about.me/janamou
Performance
Dart Performancewww.dartlang.org/performance/
Language
Optional typesEvery variable
is objectTop level main()
function
Checked and Production
modesSyntactic sugar
Named constructors
… and more
about.me/janamou
Streams Futures HTML
var x = 10;var y = 20;
or
num x = 10;num y = 20;
Optional types
about.me/janamou
void main() { print("Hello world Dart!");
}
Top level main() function
about.me/janamou
class Person {
String firstName;
String lastName;
int age;
Person(this.firstName, this.lastName);
}
void main() {
Person person = new Person("Jana", "Moudrá");
}
Syntactic sugar
about.me/janamou
class Person {
String firstName;
String lastName;
int age;
Person(this.firstName, this.lastName);
Person.withAge(this.lastName, this.age);
}
void main() {
Person person = new Person.withAge("Moudrá", 25);
}
Named constructor
about.me/janamou
class Person {
String _firstName;
String _lastName;
int _age;
Person(this.firstName, this.lastName);
Person.withAge(this.lastName, this.age);
int get age => _age;
set age(int age) => _age = age;
}
Getter/Setter
about.me/janamou
void main() {
querySelector("#my-button")
..text = "Open Window" ..onClick.listen(openWindow);}
Cascade operator
about.me/janamou
someFunc()
.then(printValue) .catchError(printError);
Futures I.
about.me/janamou
HttpRequest.getString('shapes.json')
.then((String jsonString) { print(jsonString);
})
.catchError((Error error) { print(error.toString());
});
Futures II.
about.me/janamou
Tools
about.me/janamou
Dart Editor Dartium Dart SDK
Dart Editor
Dart VMLibraries
Command Line Tools
Dart SDK
Dart VMLibraries
Command Line Tools
Dart SDK
dart2js dartanalyzer pubdocgen
Libraries
dart:coredart:htmldart:math
dart:convertdart:js
dart:web_gl
… and more on https://api.dartlang.org/apidocs/
about.me/janamou
import 'dart:html';
ButtonElement myButton;
void main() {
myButton = querySelector('#myButton');
myButton.onClick.listen(updateText);
}
void updateText(Event event) {
myButton.text = "Hello world Dart!";
}
dart:html
about.me/janamou
dart:convert
about.me/janamou
import 'dart:convert';
void main() {
String jsonString =
'{"name": "Jana", "surname": "Moudra"}';
Map jsonMap = JSON.decode(jsonString);
print(jsonMap["name"]); //prints Jana
print(jsonMap["surname"]); //prints Moudra
}
dart:js
about.me/janamou
<script type="text/javascript">
var Person = function(name, surname) {
this.name = name;
this.surname = surname;
this.sayHello = function(){
alert("Hello!");
}
};
</script>
dart:js
about.me/janamou
import 'dart:js';
void main() {
var person = new JsObject(context['Person'],
["Jana", "Moudra"]);
print(person["name"]);
print(person["surname"]);
person.callMethod("sayHello");
}
AngularDartPolymer.dart
StageXLthree.dart
vector_math
… and more on https://pub.dartlang.org/
about.me/janamou
How to start?
How to start?www.dartlang.org
GET STARTEDwww.dartlang.org/codelabs/darrrt/
DOCS > TUTORIALSwww.dartlang.org/docs/tutorials/
DART API REFERENCEhttps://api.dartlang.org/apidocs/
DOCS > DART: UP AND RUNNINGwww.dartlang.org/docs/dart-up-and-running/
DOCS > API REFERENCEhttps://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/home
PUBhttps://pub.dartlang.org/
SAMPLESwww.dartlang.org/samples/
Thank You!and happy Dart coding :-)
about.me/janamou
https://www.dartlang.org/http://news.dartlang.org/https://pub.dartlang.org/
https://github.com/dart-langhttps://plus.google.com/+dartlang/
https://www.dartlang.org/articles/idiomatic-dart/
Dart Resources