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
1
540
Dart Side of the Moon
lvivski
June 02, 2013
Tweet
Share
More Decks by lvivski
See All by lvivski
Behind the Scenes: Dart
lvivski
0
560
Real Life Dart
lvivski
0
630
Other Decks in Science
See All in Science
拡散モデルの概要 −§2. スコアベースモデルについて−
nearme_tech
PRO
0
570
Pericarditis Comic
camkdraws
0
1.1k
小杉考司(専修大学)
kosugitti
2
560
Sociovirology
uni_of_nomi
0
100
WeMeet Group - 採用資料
wemeet
0
3.2k
ベイズ最適化をゼロから
brainpadpr
2
810
DEIM2024 チュートリアル ~AWSで生成AIのRAGを使ったチャットボットを作ってみよう~
yamahiro
3
1.3k
(2024) Livres, Femmes et Math
mansuy
0
110
General Parasitology
uni_of_nomi
0
120
Causal discovery based on non-Gaussianity and nonlinearity
sshimizu2006
0
190
Direct Preference Optimization
zchenry
0
280
『データ可視化学入門』を PythonからRに翻訳した話
bob3bob3
1
500
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Adopting Sorbet at Scale
ufuk
73
9.1k
Being A Developer After 40
akosma
86
590k
Documentation Writing (for coders)
carmenintech
65
4.4k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
The Invisible Side of Design
smashingmag
298
50k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
680
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Writing Fast Ruby
sferik
627
61k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Into the Great Unknown - MozCon
thekraken
32
1.5k
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