SteemJiang是如何优化前端的?

in #steemjiang5 years ago

steemjiang3.jpg

在做SteemJiang前端的时候,思路和逻辑都有了(详见《SteemJiang解决痛点的两个思路》),但真要实现起来,还真是有些麻烦!

麻烦就麻烦在前端数据库IndexedDB和Vuex的特性上。IndexedDB有个特点,它离不开页面,页面一切换,它就自动关了!还有这么坑的数据库!所以,每次切换页面,或是刷新,都要重新打开它!Vuex的存储有点像内存,切换页面还好,但是刷新也会被刷没!优化前端的难点就是在处理它们的关系。

我们先来看下steemit的前端是如何做的。

steemit.jpg

如上图所示,steemit的前端是每次相同的逻辑,都是直接从steem上获取数据!大家可以看下我的标识,“从steem上获取数据”可是很慢的!快则3~5秒,慢则数分钟!所以,从steem上获取数据的体验是非常糟糕的,如果不是死忠作者们的执着(当然也是因为有币的奖励),steemit估计早倒闭了。

要优化访问steem的体验,无非是优化访问的逻辑。前面也提过,IndexedDB和Vuex的特性可不好处理,都有点把我绕晕了。还是画个图,明确点。

steemjiang页面逻辑.jpg

从上图中可以看出,除了第一次登录需要从“从steem上获取数据”之外(这步比较慢),其它基本上都是读取IndexedDB,或是Vuex,这两者的速度都是毫秒级的!所以,基本感觉不到卡顿,相当丝滑!

只是这逻辑处理起来有点乱啊,没办法,要有所得,就要有所付出!写了堆的“if...else...”都快把自己绕晕了,好在画画图,完美解决了!小伙们也可以试试哦。

Sort:  

试试评论功能!

试了下,挺好用!



Hey @lemooljiang, here is a little bit of BEER from @benedict08 for you. Enjoy it!

不明觉厉

Posted using Partiko Android

还好了,术业有专攻嘛

相当不错!

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63101.67
ETH 2588.03
USDT 1.00
SBD 2.74