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
500
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
540
Real Life Dart
lvivski
0
600
Other Decks in Science
See All in Science
HIBINO Aiko
genomethica
0
520
「国と音楽」 ~spotifyrを用いて~ #muana
bob3bob3
2
390
文系出身でも「アルゴリズム×数学」はスッキリ理解できた!話
wakamatsu_takumu
0
300
PRML Chapter 1 (1.3-1.6)
snkmr
1
170
AI科学の何が“哲学”の問題になるのか ~問いマッピングの試み~
rmaruy
1
1.9k
東大・松尾研主催 LLM Summer 2023 コンペ解法 (11位 – 20位枠での優秀賞)
hayataka88
0
270
Презентация программы бакалавриата СПбГУ "Искусственный интеллект и наука о данных"
dscs
0
400
拡散モデルの原理紹介
brainpadpr
3
3.3k
LIMEを用いた判断根拠の可視化
kentaitakura
0
170
WeMeet Group - 採用資料
wemeet
0
1.4k
20分で分かる Human-in-the-Loop 機械学習におけるアノテーションとヒューマンコンピューターインタラクションの真髄
hurutoriya
3
1.2k
ABEMAの効果検証事例〜効果の異質性を考える〜
s1ok69oo
4
1.8k
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
78
15k
Navigating Team Friction
lara
181
13k
How To Stay Up To Date on Web Technology
chriscoyier
784
250k
How to Ace a Technical Interview
jacobian
274
23k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
105
6.8k
The World Runs on Bad Software
bkeepers
PRO
63
11k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
17
1.5k
The Brand Is Dead. Long Live the Brand.
mthomps
52
36k
Speed Design
sergeychernyshev
9
270
Adopting Sorbet at Scale
ufuk
71
8.8k
Teambox: Starting and Learning
jrom
130
8.6k
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