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
ES2015 & React
Search
Stepan Parunashvili
December 18, 2015
Technology
0
37
ES2015 & React
Talk on ES2015, and react at futureadvisor
Stepan Parunashvili
December 18, 2015
Tweet
Share
More Decks by Stepan Parunashvili
See All by Stepan Parunashvili
Scaling React Applications
stopachka
2
86
Universal Applications
stopachka
0
64
Engineering Growth
stopachka
0
42
Universal Applications
stopachka
1
73
ES2015
stopachka
0
50
Other Decks in Technology
See All in Technology
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
130
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
330
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.2k
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
3
330
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
3
2.3k
Oracle Cloud Infrastructure:2024年12月度サービス・アップデート
oracle4engineer
PRO
0
180
AWS re:Invent 2024 ふりかえり
kongmingstrap
0
130
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
450
kargoの魅力について伝える
magisystem0408
0
210
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
530
ガバメントクラウドのセキュリティ対策事例について
fujisawaryohei
0
530
Snowflake女子会#3 Snowpipeの良さを5分で語るよ
lana2548
0
230
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Scaling GitHub
holman
458
140k
Become a Pro
speakerdeck
PRO
26
5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Transcript
() => <React /> Stepan Parunashvili 1
2
No more waiting 3
Babel $ npm install -g babel-cli 4
ES2015 5
Arrow Functions () => 6
7
8
9
10
11
Classes class Component {} 12
13
14
15
16
Modules import User from 'user' 17
18
19
Larger Standard Library Map, Set, WeakMap, Promise... 20
Smarter Object Expressions {users} 21
22
23
24
25
26
Destructuring in arguments ({name, friends}) => console.log(name, friends) 27
28
29
30
31
Default Arguments (name = 'Bob') => console.log(name) 32
33
34
Template Strings `hello ${name}` 35
36
37
More destructuring var [first, ...rest] = users 38
39
40
41
42
43
Splat addFriends(...friends) 44
45
46
47
48
49
Block scoping: let & const let i = 0; 50
51
52
53
54
55
56
Symbols Iterators Generators 57
Async / Await var users = await getUsers(); 58
59
60
61
62
63
<React /> 64
65
Declarative > Imperative {opened ? <FriendList /> : null} 66
67
68
69
70
71
72
increment append, decrement, replace 73
Now... 74
75
76
77
78
79
Instead... 80
(data) => markup 81
82
83
84
85
Composability friends.map(friend => <Info friend={friend} />) 86
87
88
89 http://handlebarsjs.com/expressions.html
90
Separation of Concerns? 91
Coupling vs Cohesion 92
Cohesion <button onClick={this._handleClick}>Click me</button> 93
94
95
ui logic + markup are cohesive 96
97
Unit testing 98
Reusability 99
100
101
But, large apps are large 102
Keep components small 103
Keep state in a single place 104
Optimize last 105
Use Immutable Data Structures 106
107
108
109
110
111
112
There's more 113
flow redux hot reloading 114
thank you :) 115