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
600
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
610
Real Life Dart
lvivski
0
690
Other Decks in Science
See All in Science
主成分分析に基づく教師なし特徴抽出法を用いたコラーゲン-グリコサミノグリカンメッシュの遺伝子発現への影響
tagtag
0
110
mOrganic™ Holdings, LLC.
hyperlocalnetwork
0
150
AI(人工知能)の過去・現在・未来 —AIは人間を超えるのか—
tagtag
1
200
データから見る勝敗の法則 / The principle of victory discovered by science (open lecture in NSSU)
konakalab
1
220
機械学習 - 授業概要
trycycle
PRO
0
270
Cross-Media Technologies, Information Science and Human-Information Interaction
signer
PRO
3
31k
機械学習 - pandas入門
trycycle
PRO
0
350
Explanatory material
yuki1986
0
420
データマイニング - グラフデータと経路
trycycle
PRO
1
240
AI(人工知能)の過去・現在・未来 —AIは人間を超えるのか—
tagtag
0
120
データベース06: SQL (3/3) 副問い合わせ
trycycle
PRO
1
660
MCMCのR-hatは分散分析である
moricup
0
500
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
4.9k
KATA
mclloyd
PRO
32
15k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Bash Introduction
62gerente
615
210k
The World Runs on Bad Software
bkeepers
PRO
72
12k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
Writing Fast Ruby
sferik
630
62k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
1.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
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