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
580
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
600
Real Life Dart
lvivski
0
680
Other Decks in Science
See All in Science
Symfony Console Facelift
chalasr
2
460
05_山中真也_室蘭工業大学大学院工学研究科教授_だてプロの挑戦.pdf
sip3ristex
0
610
生成AIと学ぶPythonデータ分析再入門-Pythonによるクラスタリング・可視化をサクサク実施-
datascientistsociety
PRO
4
1.7k
データマイニング - コミュニティ発見
trycycle
PRO
0
140
機械学習 - DBSCAN
trycycle
PRO
0
990
mathematics of indirect reciprocity
yohm
1
170
データベース09: 実体関連モデル上の一貫性制約
trycycle
PRO
0
980
AI(人工知能)の過去・現在・未来 —AIは人間を超えるのか—
tagtag
1
110
傾向スコアによる効果検証 / Propensity Score Analysis and Causal Effect Estimation
ikuma_w
0
120
SciPyDataJapan 2025
schwalbe10
0
260
地質研究者が苦労しながら運用する情報公開システムの実例
naito2000
0
250
MCMCのR-hatは分散分析である
moricup
0
430
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
20k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Typedesign – Prime Four
hannesfritz
42
2.8k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
The Cult of Friendly URLs
andyhume
79
6.5k
BBQ
matthewcrist
89
9.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
Statistics for Hackers
jakevdp
799
220k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
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