Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Dart Side of the Moon
Search
lvivski
June 02, 2013
Science
620
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Dart Side of the Moon
lvivski
June 02, 2013
More Decks by lvivski
See All by lvivski
Behind the Scenes: Dart
lvivski
0
640
Real Life Dart
lvivski
0
720
Other Decks in Science
See All in Science
データベース11: 正規化(1/2) - 望ましくない関係スキーマ
trycycle
PRO
0
1.7k
CVPR2026_VGGTとその仲間たち
mickey_0226
0
1.1k
データベース06: SQL (3/3) 副問い合わせ
trycycle
PRO
1
1.1k
Where does the rigor go? Research software and the future of trustworthy science.
arfon
0
120
データベース04: SQL (1/3) 単純質問 & 集約演算
trycycle
PRO
0
1.7k
機械学習 - DBSCAN
trycycle
PRO
0
2.1k
Kritische evaluatie van GenAI-output voor literatuuronderzoek
voginip
0
230
(CVPR2026) Back to Basics: Let Denoising Generative Models Denoise
shumpei777
0
340
Testing the Longevity Bottleneck Hypothesis
chinson03
0
460
Leitner Inauguration Lecture Chalmers University of Technology
xleitix
0
340
Massey Ratings for Match Outcome Prediction in Table Tennis: Evidence of Greater Stability than the ITTF World Ranking
konakalab
0
140
Toward Causal Scientific Discovery with AI
sshimizu2006
0
180
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Accessibility Awareness
sabderemane
1
200
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
540
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
510
The Cost Of JavaScript in 2023
addyosmani
55
10k
Tell your own story through comics
letsgokoyo
1
1.1k
[SF Ruby Conf 2025] Rails X
palkan
2
1.4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Fireside Chat
paigeccino
42
4k
How to make the Groovebox
asonas
2
2.4k
Transcript
Yehor Lvivski @lvivski
The Dart side of the Moon
None
class-based single inheritance object-oriented
History
Oct 11, 2011 Apr 16, 2013 Summer 2013
M1, July 2012 • No explicit interfaces • No `+` on Strings
• Cascades `o..method()`
M2, December 2012 • Better Dart2js • PUB • Better libraries API
M3, February 2013 • Streams API • Lazy Iterators
M4, April 2013 Stability!
Who’s behind?
None
None
Why?
Performance
main(){}! Tree shaking Classes and Interfaces Optional types Concurrency Operator
overloading Optional and Named arguments Lightweight syntax
It’s not a syntax sugar
Standalone VM Browser integrated VM dart2js Compiler
None
How it works
None
None
None
Is it even possible?
Generated code is faster, than handwritten. Prototype-less code is faster,
than Prototype chains. Inlined functions, are faster too ;)
None
Laziness
None
Laziness • map()! • where() (filter analogue) • expand()!
Streams Reactive Programming
Streams • emit a repeating series of events (such as
messages, file data, user clicks) • single- or multi-subscriber • methods to take partial data (first, take, skip...) • check data (contains, any, every) • transform
Streams are Everywhere • Iterators (List, Queue, Set) • IO (File, HTTP)
• Events
Infrastructure
Editors
None
None
Package manager
None
Components
Dart Web UI Package
None
Demo time!
Links • h'p://www.dartlang.org • h'p://github.com/dart-‐lang/web-‐ui • h'p://github.com/lvivski
– speaker, start, hart, gloss, quart, archer Thanks