Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Dart Side of the Moon
Search
lvivski
June 02, 2013
Science
610
1
Share
Dart Side of the Moon
lvivski
June 02, 2013
More Decks by lvivski
See All by lvivski
Behind the Scenes: Dart
lvivski
0
630
Real Life Dart
lvivski
0
710
Other Decks in Science
See All in Science
20251212_LT忘年会_データサイエンス枠_新川.pdf
shinpsan
0
270
イロレーティングを活用した関東大学サッカーの定量的実力評価 / A quantitative performance evaluation of Kanto University Football Association using Elo rating
konakalab
0
240
SHINOMIYA Nariyoshi
genomethica
0
120
因果推論と機械学習
sshimizu2006
1
1.1k
【RSJ2025】PAMIQ Core: リアルタイム継続学習のための⾮同期推論・学習フレームワーク
gesonanko
0
770
Kaggle: NeurIPS - Open Polymer Prediction 2025 コンペ 反省会
calpis10000
0
460
HDC tutorial
michielstock
1
610
タンパク質間相互作⽤を利⽤した⼈⼯知能による新しい薬剤遺伝⼦-疾患相互作⽤の同定
tagtag
PRO
0
190
Physical AIを支えるWeights & Biases
olachinkei
1
260
Non-Gaussian, nonlinear causal discovery with hidden variables and application
sshimizu2006
0
100
検索と推論タスクに関する論文の紹介
ynakano
1
190
機械学習 - 授業概要
trycycle
PRO
0
450
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Speed Design
sergeychernyshev
33
1.6k
Done Done
chrislema
186
16k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
810
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
310
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
SEO for Brand Visibility & Recognition
aleyda
0
4.5k
The SEO Collaboration Effect
kristinabergwall1
0
420
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
330
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
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