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
530
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
Machine Learning for Materials (Lecture 7)
aronwalsh
0
800
Boil Order
uni_of_nomi
0
120
ABEMAの効果検証事例〜効果の異質性を考える〜
s1ok69oo
4
2k
【人工衛星開発】能見研究室紹介動画
02hattori11sat03
0
140
LIMEを用いた判断根拠の可視化
kentaitakura
0
310
ultraArmをモニター提供してもらった話
miura55
0
170
はじめてのバックドア基準:あるいは、重回帰分析の偏回帰係数を因果効果の推定値として解釈してよいのか問題
takehikoihayashi
2
630
白金鉱業Meetup Vol.15 DMLによる条件付処置効果の推定_sotaroIZUMI_20240919
brainpadpr
1
430
Презентация программы магистратуры СПбГУ "Искусственный интеллект и наука о данных"
dscs
0
370
証明支援系LEANに入門しよう
unaoya
0
310
最新のAI技術を使った材料シミュレーションで材料研究現場に変革を
matlantis
0
760
AI科学の何が“哲学”の問題になるのか ~問いマッピングの試み~
rmaruy
1
2.2k
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
7.9k
Why You Should Never Use an ORM
jnunemaker
PRO
53
9k
A designer walks into a library…
pauljervisheath
202
24k
How to Ace a Technical Interview
jacobian
275
23k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
13
1.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.4k
Facilitating Awesome Meetings
lara
49
6k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
Designing for Performance
lara
604
68k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
167
49k
A Philosophy of Restraint
colly
203
16k
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