Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Dart Side of the Moon
lvivski
June 02, 2013
Science
1
330
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
360
Real Life Dart
lvivski
0
390
Other Decks in Science
See All in Science
CompilerGym CGO'22
chriscummins
0
180
LiNGAM Pythonパッケージでできること
sshimizu2006
1
1.1k
Upa Induction for UC for ACG 2021
higgi13425
0
230
深層学習による自然言語処理 輪読会#2 資料
tok41
0
290
不審なURLの見つけ方
secchick
1
180
令和3年I -3B京都大学大学院物理過去問
kamakiri1225
0
350
機械学習における評価指標~AUC&C-index~
taka88
0
250
CrossWalk: Fairness-enhanced Node Representation Learning
sansan_randd
2
880
統計学実践ワークブック 第16章 重回帰分析 pp.125-127
axjack
0
120
深層学習による自然言語処理 輪読会#1 資料
tok41
0
290
スマートシティとメタバースにおける人工知能技術の活用
miyayou
0
350
ウォンテッドリーにおける推薦システム開発事例 / recsys-in-wantedly-2021
yuya4
4
1.3k
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
14
35k
Fantastic passwords and where to find them - at NoRuKo
philnash
26
1.5k
YesSQL, Process and Tooling at Scale
rocio
157
12k
Stop Working from a Prison Cell
hatefulcrawdad
261
17k
Six Lessons from altMBA
skipperchong
14
1.3k
Adopting Sorbet at Scale
ufuk
63
7.5k
What's new in Ruby 2.0
geeforr
336
30k
The Most Common Mistakes in Cover Letters
jrick
PRO
4
24k
Building Applications with DynamoDB
mza
83
4.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
19
1.2k
How to Ace a Technical Interview
jacobian
265
21k
How to name files
jennybc
39
59k
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