m
y
) p e
) p
y
2010 - 2014
YUI + FTL
2017我
2016MVVM
2016BG
2015
Nodejs
2015Vue React
2014
zepto
2017
2018...
�/�9 �3�,! �4�<
- 的
. 4
-55
41 026 14 0
. 4
7
r
y r
�/�9 �3�,! �4�<
-
�/�9 �3�,! �4�<
f
y r c d
f
•
• o b
• g c
• c
�/�9 �3�,! �4�<
k W
�/�9 �3�,! �4�<
= = I.
W = B DI
= L W
k W
�/�9 �3�,! �4�<
oW g
k W
�/�9 �3�,! �4�<
u d
/
v
�/�9 �3�,! �4�<
• v 15
• 2= 7= =
• = A
• =B= = ?
Webpack
babel/eslint
Node Server:
: CDN
�/�9 �3�,! �4�<
CLI react/vue?
eslint? redux/redux不
a [ “S T
PluginDPluginC
PluginA PluginB
�/�9 �3�,! �4�<
“ ”
Webpack
babel/eslint
Node Server:
: CDN
CLI react/vue?
eslint? redux/redux不
… proxy mock pwa cacheABtest thrift …
�/�9 �3�,! �4�<
- a ”y
n - ”y a
n -
-
a t p “ h s lS T
a a
�/�9 �3�,! �4�<
不
[ / listenstart loadApp loadReq/Resp loadCtxt loadExt loadMid loadRouter loadCtr …
listenstart loadApp loadReq/Resp loadCtxt loadExt loadMid loadRouter loadCtr …
UA
listenstart loadApp loadReq/Resp loadCtxt loadExt loadMid loadRouter loadCtr …
[ 0
[ 1
bodyParser
LI A L g
�/�9 �3�,! �4�<
不
•
• u
•
• s
�/�9 �3�,! �4�<
Dev-Server
[ / listenstart loadApp loadReq/Resp loadCtxt loadExt loadMid loadRouter loadCtr …
listenstart loadApp loadReq/Resp loadCtxt loadExt loadMid loadRouter loadCtr …
listenstart loadApp loadReq/Resp loadCtxt loadExt loadMid loadRouter loadCtr …
[ 0
[ 1
listenstart loadApp loadReq/Resp loadCtxt loadExt loadMid loadRouter loadCtr …U
/LL L P G D M BG
LL G O%LP = A> %I L LL . B/LL
LL B/LL MC L MC LU
�/�9 �3�,! �4�<
Dev-Server
[ / listenstart loadApp loadReq/Resp loadCtxt loadExt loadMid loadRouter loadCtr …
LL B/LL MC L MC LU
listenstart loadApp loadReq/Resp loadCtxt loadExt loadMid loadRouter loadCtr …[ 1
listenstart loadApp loadReq/Resp loadCtxt loadExt loadMid loadRouter loadCtr …U
loadPlugin
/LL L P G D M BG
O G % B/
�/�9 �3�,! �4�<
Everything is plugin
/LL P G
• [ 0l [ /
•
•
�/�9 �3�,! �4�<
(%
�/�9 �3�,! �4�<
[
(% )%
�/�9 �3�,! �4�<
(% )%
% oc
[
PluginDPluginC
PluginA PluginB
Webpack
babel/eslint
Node Server:
: CDN
CLI react/vue?
eslint? redux/redux?
?
�/�9 �3�,! �4�<
我Everything is plugin
… proxy mock pwa cacheABtest thrift …B > D
n [
�/�9 �3�,! �4�<
不 -
e gS T e (S T • h
• i
• 1 = I M
•
•
•
�/�9 �3�,! �4�<
) ( ( x a t l
(, y 30 = E B
,
L 3 B DI D D>
3 E EC B D> I=C B I= Wx 1 D I = EB = 6E B=
�/�9 �3�,! �4�<
我 不
u
y t
�/�9 �3�,! �4�<
• ]
/ W S
• d
/
• i … f
/ m [
c 2CQ7L 3 4 1
�/�9 �3�,! �4�<
我
… proxy mock pwa cacheABtest thrift …Plugin
PluginDPluginC
init raw project
clone template
PluginA PluginB
Webpack
babel/eslint
Node Server:
: CDN
Template A B C D …E
�/�9 �3�,! �4�<
b
Mobile
HybirdC
Node
[ tS T
Erajs + Ones = Techless Web Apps
%��$(��.1
��'��� ��2;��)
6� �+0
��!7*�=
���
�"�+
”“
���:&
�-�#85
�/�9 �3�,! �4�<
Q&A