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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
lvivski
June 02, 2013
Science
620
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Dart Side of the Moon
lvivski
June 02, 2013
More Decks by lvivski
See All by lvivski
Behind the Scenes: Dart
lvivski
0
640
Real Life Dart
lvivski
0
720
Other Decks in Science
See All in Science
AI bij literatuuronderzoek in de wetenschap
voginip
0
190
データベース02: データベースの概念
trycycle
PRO
2
1.2k
データベース01: データベースを使わない世界
trycycle
PRO
1
1.3k
機械学習 - pandas入門
trycycle
PRO
0
620
共生概念の整理と AIアライメントの構想
hiroakihamada
0
220
TypeScript で WebAssembly を用いた 型安全なプラグイン設計
nagano
2
530
ハミルトン・ヤコビ方程式の解の性質と物理的意味
enakai00
0
680
NDCG is NOT All I Need
statditto
2
3.2k
Bリーグのショットデータを活用した得点期待値モデルの構築 / Construction of expected points model using shot data of B.LEAGUE
konakalab
0
140
データベース03: 関係データモデル
trycycle
PRO
1
550
機械学習 - 決定木からはじめる機械学習
trycycle
PRO
0
1.5k
知能とはなにか -ヒトとAIのあいだ-
tagtag
PRO
1
110
Featured
See All Featured
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
540
Navigating Team Friction
lara
192
16k
How to train your dragon (web standard)
notwaldorf
97
6.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Navigating Weather and Climate Data
rabernat
0
220
Statistics for Hackers
jakevdp
799
230k
The SEO identity crisis: Don't let AI make you average
varn
0
490
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
250
YesSQL, Process and Tooling at Scale
rocio
174
15k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
390
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