第12届d2主会场分享笔记

第一次参加D2,收获当然是有的,中了一支圆珠笔……只能眼睁睁地看着别人抱着键盘回去。不说了,还是大概地捋一下主会场的分享,先来一篇流水账吧。

轻舟

简单讲就是,用尽可能少的研发周期,获得更多的用户体验,把APP开发简单地分为5个步骤:

  1. 初始化:云端一键配置,免去繁琐的手动搭建环境工作
  2. 本地开发:使用轻舟的IDE,支持基于Weex和Rax的开发方式,提供了ui库,实现插件系统,达到灵活定制的目的,提供了一些使用频率较高内置插件
  3. 打包:一键打包,提供相应的开发调试工具
  4. 提交APP store
  5. 更新

QA环节

问:是否考虑支持RN
答:以后可能会提供支持,不过由于license的问题,暂时不会考虑。

总结

看上去很牛逼,不知道用起来怎么样,现场演示的时候出现了布局上的bug,还是比较明显的。

React同构解决方案(beidou)

开场讲了一下SSR之于CSR,刚开始我还以为这就是嘉宾的”解决方案”,听到后面发现其实干货还是挺多的,除了SSR对比CSR的那些优势外,传言这个解决方案还通过采用下面这些策略将渲染性能提高了100倍:

  1. 可定制SSR模块
  2. 针对生产环境的优化
  3. 使用Babel-preset对诸如const语句的优化
  4. 定义可缓存模块
  5. 升级react16,node8

QA环节

其实没有什么印象深刻的提问。有一个是问router之间如何保存状态的,其实感觉提问者并没有搞清楚使用SSR的时机,貌似还在知乎上吐槽了嘉宾答非所问。

总结

分享很棒,促使我想去了解beidou,不过有一些开发者还是得从提升自己水平的角度对待问题,而不是寄希望别人,自己水平不行并不是别人必须帮你的理由。

Microbenchmark for JS

贺老是通过一个引子,循序渐进地引出目前benchMark.js当前存在的问题,最后抛出自己正在做针对这些优化的测试框架,具体:

  1. console.time 不稳定,需”提前准备”
  2. new Date().getTime和Date.now的精度问题,依赖外部日期
  3. performance.now()在Web上这种方案比较不错,精度达到5us且不依赖外部日期
  4. process.hrtime() Node端的api,有返回ns级别的精度,不过嘉宾表示怀疑

终极的测试方案大概意思则是利用方差,置信区间等统计学方法提高测试结果的可信度

总结

贺老的ppt太扎眼,不过对一个问题的深挖精神真的是探为观止,忍不住蹦出一个词”极客”,而且非常符合这次D2的”匠心”。

从Web渲染到Web计算

嘉宾讲得比较快,主要就是介绍WebAR相关,自己对里面有些东西也只是稍微有点涉猎,算是外行,有以下几个印象比较深刻的点:

  1. webview向客户端发送图像的一些方法和其中的性能对比,偏向于使用异步的方式提升帧率。
  2. 解决客户端计算结果和当前相机不同步的问题,避开了前端做跟踪计算的时掉帧严重的问题。
  3. 尝试使用WebAssembly提高计算能力,实现了一个基于sobel的demo,看上去还算流畅。

QA环节

这场没人提问,估计这个主题大部分在场前端没怎么听懂。

总结

WebAssembly是个好东东,嗯。。不明觉厉。。

天猫超市 极致Mobile Web

总体感觉就是对天猫超市交互上的缺陷做了一个总结,并给出了一些解决方案。最后安利了团队自己开发的原生组件库。

问题和对应的解决方案:

  1. 实现粗糙:制定静态和动态规范,使用视觉与最终完成的比对工具
  2. 缺乏可靠性:预加载,利用sw+webPush实现提前更新,提供重试机制和统一异常提示,增加手势识别避免误操作
  3. 操作体验差:提升响应速度,实时反馈…
  4. 交互缺乏统一设计语言:统一设计语言

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,更新等问题。

  1. 介绍了cacheStorage,和对缓存溢出情况的几种处理方式
  2. 介绍了web push,提出sw模拟离线包概念,并与传统离线包进行了对比,看样子是完爆的赶脚
  3. 开源计划:
    a. 通过配置一键生成sw文件
    b. 相关webpack plugin
    c. 忘了…

QA环节

这次是主会场提问最多的,不过貌似都是问的具体问题的解决方案,没有哪个提问是印象深刻的。

总结

对PWA了解比较少,不过嘉宾台上比较稳。关于PWA,得抽时间做个小demo出来,体验一下SW,不然快跟不上节奏了?

支付宝无线效率工具建设

这部分其实没怎么记,主要就是介绍了支付宝无线团队开发的的4个效率工具,还有嘉宾对这种工具开发的观点

  1. 联动DNS,注册调试域名
  2. 搭建IOS模拟器
  3. 真机不插线调试
  4. AnyProxy

QA环节

这场貌似没有人提问

总结

这场分享,给我印象最深的不是这4个效率工具,因为类似的需求场景比较少。印象最深的是嘉宾提出的3个观点:

  1. 走产品化道路:需要以产品的思维去开发,不然很难大范围使用。
  2. 个人价值:业务无法满足自己的成就感,需寻找挑战,实现自我价值
  3. 紧贴业务:提出了做工具最好与业务耦合,提高生产效率,不盲目追求开源
0%