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
360
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
410
Real Life Dart
lvivski
0
440
Other Decks in Science
See All in Science
YOKONO Megumu
genomethica
0
350
論文紹介: Transformer Memory as a Differentiable Search Index (NeurIPS 2022)
ynakano
3
390
AI最新論文読み会2022年12月
ailaboocu
0
260
古典的な時系列解析フレームワークの理論とその実装 / theory-and-implementation-of-classical-time-series-analysis-frameworks
saburoku
0
110
Rで有名絵画を安全に買いたい
saltcooky12
0
110
論文紹介: "Webformer: Pre-training with Web Pages for Information Retrieval(SIGIR2022)"
keyakkie
2
170
PHPとWebAssembly
nagano
1
1.2k
AI最新論文読み会2022年まとめ
ailaboocu
0
250
iPhoneと一緒なら 一人でも頑張れる 野外調査の3次元記録
ishiijunpei
0
570
La Station Biologique de Roscoff et ses coopérations : une approche géographique
marionmai
0
180
Extracting datasets from Indonesia’s Scientific Data Repository (RIN)
dasaptaerwin
0
150
最適輸送入門
joisino
2
1.3k
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
20
9.9k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
175
9.1k
Practical Orchestrator
shlominoach
178
8.9k
Automating Front-end Workflow
addyosmani
1351
200k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
38
3.6k
Happy Clients
brianwarren
90
5.8k
How New CSS Is Changing Everything About Graphic Design on the Web
jensimmons
214
12k
4 Signs Your Business is Dying
shpigford
171
20k
GitHub's CSS Performance
jonrohan
1020
430k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
22
1.7k
Six Lessons from altMBA
skipperchong
15
2.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
346
17k
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