第一次参加D2,收获当然是有的,中了一支圆珠笔……只能眼睁睁地看着别人抱着键盘回去。不说了,还是大概地捋一下主会场的分享,先来一篇流水账吧。
轻舟
简单讲就是,用尽可能少的研发周期,获得更多的用户体验,把APP开发简单地分为5个步骤:
- 初始化:云端一键配置,免去繁琐的手动搭建环境工作
- 本地开发:使用轻舟的IDE,支持基于Weex和Rax的开发方式,提供了ui库,实现插件系统,达到灵活定制的目的,提供了一些使用频率较高内置插件
- 打包:一键打包,提供相应的开发调试工具
- 提交APP store
- 更新
QA环节
问:是否考虑支持RN
答:以后可能会提供支持,不过由于license的问题,暂时不会考虑。
总结
看上去很牛逼,不知道用起来怎么样,现场演示的时候出现了布局上的bug,还是比较明显的。
React同构解决方案(beidou)
开场讲了一下SSR之于CSR,刚开始我还以为这就是嘉宾的”解决方案”,听到后面发现其实干货还是挺多的,除了SSR对比CSR的那些优势外,传言这个解决方案还通过采用下面这些策略将渲染性能提高了100倍:
- 可定制SSR模块
- 针对生产环境的优化
- 使用Babel-preset对诸如const语句的优化
- 定义可缓存模块
- 升级react16,node8
QA环节
其实没有什么印象深刻的提问。有一个是问router之间如何保存状态的,其实感觉提问者并没有搞清楚使用SSR的时机,貌似还在知乎上吐槽了嘉宾答非所问。
总结
分享很棒,促使我想去了解beidou,不过有一些开发者还是得从提升自己水平的角度对待问题,而不是寄希望别人,自己水平不行并不是别人必须帮你的理由。
Microbenchmark for JS
贺老是通过一个引子,循序渐进地引出目前benchMark.js当前存在的问题,最后抛出自己正在做针对这些优化的测试框架,具体:
- console.time 不稳定,需”提前准备”
- new Date().getTime和Date.now的精度问题,依赖外部日期
- performance.now()在Web上这种方案比较不错,精度达到5us且不依赖外部日期
- process.hrtime() Node端的api,有返回ns级别的精度,不过嘉宾表示怀疑
终极的测试方案大概意思则是利用方差,置信区间等统计学方法提高测试结果的可信度
总结
贺老的ppt太扎眼,不过对一个问题的深挖精神真的是探为观止,忍不住蹦出一个词”极客”,而且非常符合这次D2的”匠心”。
从Web渲染到Web计算
嘉宾讲得比较快,主要就是介绍WebAR相关,自己对里面有些东西也只是稍微有点涉猎,算是外行,有以下几个印象比较深刻的点:
- webview向客户端发送图像的一些方法和其中的性能对比,偏向于使用异步的方式提升帧率。
- 解决客户端计算结果和当前相机不同步的问题,避开了前端做跟踪计算的时掉帧严重的问题。
- 尝试使用WebAssembly提高计算能力,实现了一个基于sobel的demo,看上去还算流畅。
QA环节
这场没人提问,估计这个主题大部分在场前端没怎么听懂。
总结
WebAssembly是个好东东,嗯。。不明觉厉。。
天猫超市 极致Mobile Web
总体感觉就是对天猫超市交互上的缺陷做了一个总结,并给出了一些解决方案。最后安利了团队自己开发的原生组件库。
问题和对应的解决方案:
- 实现粗糙:制定静态和动态规范,使用视觉与最终完成的比对工具
- 缺乏可靠性:预加载,利用sw+webPush实现提前更新,提供重试机制和统一异常提示,增加手势识别避免误操作
- 操作体验差:提升响应速度,实时反馈…
- 交互缺乏统一设计语言:统一设计语言
QA环节
问:为什么不考虑使用weex或者RN?
答:1. 借助wk和u4内核体验接近native;2. 需要跨端解决方案;3. 阿里以广泛使用weex,需要探索一种差异化的道路。
其他两个,一个吐槽了一下猫超的交互。另外一个提问者貌似没有注意听分享,主要就是多页面切换时候状态保存的问题,嘉宾分享也有提及,这种情况uc做了内核层面的优化。
总结
除了一些具体提升性能的解决方案,分享嘉宾建议在交互方面多借鉴native优点,追求对交互细节的打磨。
PWA 带来的极速离线APP
这场听得比较朦胧,虽然对worker比较熟悉,但是还没有实践过PWA
1.serviceWorker的能力:
a. 页面请求代理
b. 接收后台push
c. 管理离线Cache资源
d. 新开或切到某个页面
这部分主要讲了实际开发中能遇到的坑点和sw的生命周期详解,坑点如严格同域,https,更新等问题。
- 介绍了cacheStorage,和对缓存溢出情况的几种处理方式
- 介绍了web push,提出sw模拟离线包概念,并与传统离线包进行了对比,看样子是完爆的赶脚
- 开源计划:
a. 通过配置一键生成sw文件
b. 相关webpack plugin
c. 忘了…
QA环节
这次是主会场提问最多的,不过貌似都是问的具体问题的解决方案,没有哪个提问是印象深刻的。
总结
对PWA了解比较少,不过嘉宾台上比较稳。关于PWA,得抽时间做个小demo出来,体验一下SW,不然快跟不上节奏了?
支付宝无线效率工具建设
这部分其实没怎么记,主要就是介绍了支付宝无线团队开发的的4个效率工具,还有嘉宾对这种工具开发的观点
- 联动DNS,注册调试域名
- 搭建IOS模拟器
- 真机不插线调试
- AnyProxy
QA环节
这场貌似没有人提问
总结
这场分享,给我印象最深的不是这4个效率工具,因为类似的需求场景比较少。印象最深的是嘉宾提出的3个观点:
- 走产品化道路:需要以产品的思维去开发,不然很难大范围使用。
- 个人价值:业务无法满足自己的成就感,需寻找挑战,实现自我价值
- 紧贴业务:提出了做工具最好与业务耦合,提高生产效率,不盲目追求开源