SlideShare a Scribd company logo
Introduction to the
Dart lang
Jana Moudrá
Co-Founder at Juicymo
Organizer 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-source
Language for the Web
For better performance
Goals to replace JavaScript
Ready 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
Modular
Compiles to
JavaScript
about.me/janamou
Client Server
about.me/janamou
Performance
Dart Performance
www.dartlang.org/performance/
Language
Optional types
Every variable
is object
Top level main()
function
Checked and
Production
modes
Syntactic 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 VM
Libraries
Command Line Tools
Dart SDK
Dart VM
Libraries
Command Line Tools
Dart SDK
dart2js dartanalyzer pubdocgen
Libraries
dart:core
dart:html
dart:math
dart:convert
dart: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");
}
AngularDart
Polymer.dart
StageXL
three.dart
vector_math
… and more on https://pub.dartlang.org/
about.me/janamou
How to start?
How to start?
www.dartlang.org
Introduction to the Dart language
GET STARTED
www.dartlang.org/codelabs/darrrt/
DOCS > TUTORIALS
www.dartlang.org/docs/tutorials/
DART API REFERENCE
https://api.dartlang.org/apidocs/
DOCS > DART: UP AND RUNNING
www.dartlang.org/docs/dart-up-and-running/
DOCS > API REFERENCE
https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/home
PUB
https://pub.dartlang.org/
SAMPLES
www.dartlang.org/samples/
Introduction to the Dart language
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-lang
https://plus.google.com/+dartlang/
https://www.dartlang.org/articles/idiomatic-dart/
Dart Resources

More Related Content

What's hot (20)

PDF
Google flutter the easy and practical way
Ahmed Abu Eldahab
 
PPTX
Dart ppt
Krishna Teja
 
PPTX
Flutter
Ankit Kumar
 
PPTX
Flutter workshop
Vishnu Suresh
 
PPTX
Flutter introduction
Võ Duy Tuấn
 
PPTX
What is Flutter
Malan Amarasinghe
 
PPTX
Introduction to Flutter
Apoorv Pandey
 
PPTX
A flight with Flutter
Ahmed Tarek
 
PPTX
What and Why Flutter? What is a Widget in Flutter?
MohammadHussain595488
 
PPTX
Flutter workshop
Narayan Vyas
 
PPTX
Flutter introduction
SheilaJimenezMorejon
 
PDF
Build beautiful native apps in record time with flutter
RobertLe30
 
PDF
flutter.school #HelloWorld
Frederik Schweiger
 
PPTX
Typescript in 30mins
Udaya Kumar
 
PPSX
Introduction to .net framework
Arun Prasad
 
PPTX
Flutter Intro
Vladimir Parfenov
 
PPTX
Flutter
Himanshu Singh
 
PDF
TypeScript - An Introduction
NexThoughts Technologies
 
PPTX
Golang (Go Programming Language)
ShubhamMishra485
 
PPTX
Flutter talkshow
Nhan Cao
 
Google flutter the easy and practical way
Ahmed Abu Eldahab
 
Dart ppt
Krishna Teja
 
Flutter
Ankit Kumar
 
Flutter workshop
Vishnu Suresh
 
Flutter introduction
Võ Duy Tuấn
 
What is Flutter
Malan Amarasinghe
 
Introduction to Flutter
Apoorv Pandey
 
A flight with Flutter
Ahmed Tarek
 
What and Why Flutter? What is a Widget in Flutter?
MohammadHussain595488
 
Flutter workshop
Narayan Vyas
 
Flutter introduction
SheilaJimenezMorejon
 
Build beautiful native apps in record time with flutter
RobertLe30
 
flutter.school #HelloWorld
Frederik Schweiger
 
Typescript in 30mins
Udaya Kumar
 
Introduction to .net framework
Arun Prasad
 
Flutter Intro
Vladimir Parfenov
 
TypeScript - An Introduction
NexThoughts Technologies
 
Golang (Go Programming Language)
ShubhamMishra485
 
Flutter talkshow
Nhan Cao
 

Similar to Introduction to the Dart language (20)

PDF
Introduction to the Dart - Dart Flight School Liberec Hackathon
Jana Moudrá
 
PDF
Dart
Jana Moudrá
 
PPTX
App_development55555555555555555555.pptx
sameehamoogab
 
PPTX
pembelajaran tentang dart dalam bahasa inggris
Reza120164
 
PPTX
1-introduction-to-dart-programming.pptx
ansariparveen06
 
PDF
Discover Dart(lang) - Meetup 07/12/2016
Stéphane Este-Gracias
 
PDF
Discover Dart - Meetup 15/02/2017
Stéphane Este-Gracias
 
PPTX
330f15_AnsariJonesWilder_Dart.pptx
praxyvines
 
PDF
Let's Play Dart
Jana Moudrá
 
PDF
Dart Jump Start
Haim Michael
 
PDF
Dart programming tutorial
HarikaReddy115
 
PDF
OWF12/PAUG Conf Days Dart a new html5 technology, nicolas geoffray, softwar...
Paris Open Source Summit
 
PPTX
Dart Programming.pptx
AnanthalakshmiN4
 
PPTX
Mobile Applications Development class 02 ntroduction to Drat
Dr. Mazin Mohamed alkathiri
 
PPTX
Dart Programming.pptx
AnanthalakshmiN4
 
PDF
Dart, Darrt, Darrrt
Jana Moudrá
 
PPTX
Dart
Pritam Tirpude
 
PPTX
Dart the Better JavaScript
Jorg Janke
 
PPTX
Presentaion on Dart and Flutter Development.pptx
nitesh213757
 
Introduction to the Dart - Dart Flight School Liberec Hackathon
Jana Moudrá
 
App_development55555555555555555555.pptx
sameehamoogab
 
pembelajaran tentang dart dalam bahasa inggris
Reza120164
 
1-introduction-to-dart-programming.pptx
ansariparveen06
 
Discover Dart(lang) - Meetup 07/12/2016
Stéphane Este-Gracias
 
Discover Dart - Meetup 15/02/2017
Stéphane Este-Gracias
 
330f15_AnsariJonesWilder_Dart.pptx
praxyvines
 
Let's Play Dart
Jana Moudrá
 
Dart Jump Start
Haim Michael
 
Dart programming tutorial
HarikaReddy115
 
OWF12/PAUG Conf Days Dart a new html5 technology, nicolas geoffray, softwar...
Paris Open Source Summit
 
Dart Programming.pptx
AnanthalakshmiN4
 
Mobile Applications Development class 02 ntroduction to Drat
Dr. Mazin Mohamed alkathiri
 
Dart Programming.pptx
AnanthalakshmiN4
 
Dart, Darrt, Darrrt
Jana Moudrá
 
Dart the Better JavaScript
Jorg Janke
 
Presentaion on Dart and Flutter Development.pptx
nitesh213757
 
Ad

More from Jana Moudrá (7)

PDF
How AngularDart & Firebase did an App together
Jana Moudrá
 
PDF
How to build a Dart and Firebase app in 30 mins
Jana Moudrá
 
PDF
Progressive Web Apps
Jana Moudrá
 
PDF
Firebase for the Web
Jana Moudrá
 
PDF
How to bake an app in Dart and Polymer
Jana Moudrá
 
PDF
Android UI Testing with uiautomator
Jana Moudrá
 
PDF
Bezpečnost platformy Android
Jana Moudrá
 
How AngularDart & Firebase did an App together
Jana Moudrá
 
How to build a Dart and Firebase app in 30 mins
Jana Moudrá
 
Progressive Web Apps
Jana Moudrá
 
Firebase for the Web
Jana Moudrá
 
How to bake an app in Dart and Polymer
Jana Moudrá
 
Android UI Testing with uiautomator
Jana Moudrá
 
Bezpečnost platformy Android
Jana Moudrá
 
Ad

Recently uploaded (20)

PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
July Patch Tuesday
Ivanti
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
July Patch Tuesday
Ivanti
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 

Introduction to the Dart language