HJM's Blog

D2小记-体验“匠心”之旅

2017年12月18日 22:49

又是一段漫长的停笔期~😕

觉得是时候开始重操旧业了

随着互联网的发展,如今各种信息流不断地在涌入了我们的大脑,不断地刷着几乎没有尽头的信息输出,好像获得了很多东西,但是回头一看,又好像空空如也,我想,这其中可能是缺乏了思考吧~碎片化的信息充斥着我们的大脑,过几天很快就遗忘了,所以,记录下它们也许是一种最好的方式,最近突然觉得生活应该也是一样的,或是日记或是摄影,美好的回忆才不会被忘记吧🤡

就着最近第一次参加前端技术论坛写个小小的记录吧~

我就不写从北京去杭州然后看错火车站差点赶不上这种经历了😂重点讲讲D2前端技术论坛本身吧~

上图是阿里巴巴访客中心(杭州怎么可以用阴天迎接客人呢😲)

我进去主会场的时候正好在讲《打造高可靠与高性能的React同构解决方案》,演讲者在通过策略的变化,修改代码,用loadtest进行测试不同场景页面平均渲染时间,记得的有比对的有普通的同构渲染、加了组件缓存的同构渲染以及升级react16的渲染,最后那个升级react16效果显著,引起了现场的掌声😁,整套性能优化展示还是挺不错的,只是都讲得比较浅,可以说是粗策略级别的,其实有些细节可以深入一些可能会更好,当然时间可能不是很允许~印象比较深的是,最后演讲者引用“天下武功,无坚不破,唯快不破”,意思是让大家掌握优化和分析性能的方法,才能在技术的演进中不断地演变自己的策略去解决实际问题。

然后接着看了第二场,经常在知乎上看到的hax(贺师俊)演讲的《Microbenchmark for JavaScript》,首先的感觉是ppt字好大,不过感觉挺不错的,作为演讲的ppt其实字少是很适合的,作为要被看的才适合填满密密麻麻的字和图,不过字少当然更考验演讲者的功力了~

hax首先从fastify作为引子引入,之前我也在github上看到这个web框架,不过也是浅浅地看了下,以比express/koa快为噱头,JSON schema结合JSON stringify优化的产物,没有再深入看实现了,但是贺老甚至看了第一次commit的代码,以此思考作者的想法,然后引出到代码的性能测试。然后开始讲代码层级上的性能测试,讲述不同的测试方法,从console.time()到date.now()到performance API再到process.hrtime()等等,甚至由精度的问题延伸到操作系统的进程的抢占式和非抢占式,还有各种频率和统计学知识(说实话看到这里我好困2333)。这里再提一下,可以看到上图我拍到的是,“不要猜,要测”,确实作为经验不是很丰富的小开发,很容易被社区以及书籍的各种最佳实践所迷惑,殊不知有些东西是分场景,或者随着技术的发展,最佳实践可能变得没有作用,自己掌握深层优化的原因和测试方法才是最重要的。

然后就到下午了(中午20块的午餐觉得还不错~)
下午继续留在主会场听了会《从Web渲染到Web计算》,因为很困并且对一些关于图像处理讲得比较细节,所以当时没听完打算去别的会场看看~别的会场太小很挤,走马观花走了一圈,觉得大部分还是比较宏观性地讲述解决方案(个人可能还是比较喜欢贺师俊这种深剖细节的讲法吧,觉得听得很刺激~)然后又回到了主会场
接着是《PWA 带来极速离线Web》,前段时间也关注了PWA,正好可以继续学习下,腾讯演讲者从基础的PWA知识中规中矩地讲述了一下,还是挺完整的,也重点讲了下PWA比较容易坑人的生命周期以及根据不同更新频率文件实现的更新策略,也讲到了手Q客户端结合PWA一起实现的离线包互补的策略,整体还是不错的,缓存这东西确实是把双刃剑,应用不好的话不仅不能优化体验,而且将难以解决线上问题,引发各种烦人问题,对于PWA离线应用,需要掌握好生命周期、离线策略,并且要确定好降级方案(如果能解决好push更新那就更好了,手Q这边没有解决,天猫通过自己的消息通道解决了这个问题,预加载表现就很好了),而且其实对于普通的应用,并不需要离线方案,做好浏览器缓存我觉得就足够了。

接下去又连着《天猫超市Mobile Web的极致体验优化》看了下,这个演讲很细致地讲了天猫超市Mobile Web很极致的交互体验优化,记得还重点提到了WKWebView的升级带来的滚动体验的优化,还有提到了客户端的体验和动画都是很成熟的,前端确实要向它们借鉴,他们也实现了一套自己的组件库,之后开源可以看看。演讲上整体上体现出很极致的体验优化以及比较系统的整理,包括动画、操作手势性能、web可靠性等,点个赞~至于最后有人问为什么不用RN/Weex,而是直接使用纯的Mobile Web,他们觉得虽然他们业务线上很多使用Weex,但是随着web以及硬件内核的发展,web的能力在不断地增强,也不断地跟native缩小差距,所以这种纯web的方向也是他们所要关注去发展的一个方向,并且web更有利于端外投放的场景,这也确实值得我们思考。

(其实自己也漏了很多细节,从北京坐隔夜火车赶过来,中午又没睡,是真困=,=)

最后,简单小结一下
总体而言,其实刚听完觉得收获并没有想象那么大,但是现在小回想了一下,其实收获还是不少的,从node服务性能优化与测试到前端web的体验优化都有所涉及,体会到了这次大会的“匠心”主题,一个技术开发者对技术的持续打磨的精神,同时注意到这次大会演讲者“不要猜,要测”的共同的告诫,也值得作为后辈的我们去铭记~

Happy end!(抽到书包大奖一个,虽然最后还是落在杭州哈哈哈😂)

深夜写完一篇水文,欢迎大家留言交流~

欢迎关注