参加 2017 JS Conference是怎么样的体验(D2)
Day2, 今天换到了前排侧边的位置,换一个视角看演讲。
使用Autopilot容器化微服务
这个哥们设计的slide很好玩,写了一个漫画系列介绍出现请求失败的定位问题,引入微服务的优点,而且介绍他写的sample库可以实现本地和云上一致的部署方式,现场演示了本地启动启动多个微服务的例子,而且可以实现伸缩部署(手动),可视化和日志功能。对于研究怎么写一个node服务容器还是很有意义的。
Serverless & API
第一次看到朴(piao)灵老师,阐述了FaaS是一个趋势(和上个主题类似),用cnpm下载的折线图说明服务可伸缩的重要性,mico serveice是多么好用,安利了‘他们’阿里云的FaaS服务是多好,并且现场在阿里云部署了一个 ‘续一秒’的node api服务。并且大致介绍了怎么实现lamda服务的scalable,而且承诺之后会完成一个微信相关的服务,可以实现在公众号自动回复。
1 | Application -| Service Group -| Micro Service (Function) |
REST => GraphQL
这个哥们绝对是惊喜,开场就是一口熟练的中文,ppt做的也很用心。了解到现场很多人都没有使用过GraphQL,强烈安利了一发, 讲了开发GraphQL主要分三步, 定义模型(schema)、类型定义, 和resolver。现场演示了使用GraphQL Launchpad, CodeSandbox 重构代码,对比传统调用restful api, 使用graphql可以省很多代码。最后安利了他们apollp team的很多开源工具。人也很nice,我看到会后他的github上就有pdf供下载,之后补上(记录的时候没有wifi啊)。
上午下午基本是个分界线,
第一个瑞典的嘉宾介绍了测试的必要性,很多冗余的话,关于Storybook实际有关系的就几个Slide,其他的Slide都是很有趣的动图,而且大部分都是关于猫的图片。第二个芬兰的兄弟来自wiredcraft,宽泛的介绍了API开发过程中需要生产化需要考虑的点,分享了一些心得(比如入口加id做追踪),后半部分就没什么印象了。 基于nodejs开发物联网应用
, 讲师临时换了张老师(穆客),阿里node核心团队,说物联网目前主要的应用领域安防例子,感慨了当年开发物联网应用(写汇编,看别人写的遗留代码)的灰色记忆;黄玄带来的关于PWA的演讲还是可圈可点,安利了下三星产品对SW的友好支持,下面是一些笔记
PWA
- 用好Service Workor, lifecycle (install, active) is an Extendable Web Manifesto(interface) with waitUntil, running (Fetch, Push, Message) store data into Cache Storage (Origin Storage: 同源)
- 更新缓存,和重启SW会引入很多问题,因为有的时候起了Worker没立即生效,需要一些hack,有时候需要强制更新缓存,又和code splitting有关系;有时候缓存需要维护,定期更新(自定义更新算法)
- 不错的工具, SW-Precache,sw-precache-webpack-plugin sw-toolbox, Workbox
- PRPL原则, Push/Preload, Render, Pre-cache, Load, Code Splitting, Streaming Web App
- PWA, 不用深究其意义,为了更好UE
想一想
总结下这次大会JS相关的关键词,SSR, AOT, IoT, Serverless, JS在物联网的涉足面开始铺开了(微信群也有大量关于物流行业的应用),云服务的趋势是微服务化,最大程度的节省运维的支出,把sclale的粒度细化到function,把API的定制能力交给前端, 应用优化方面可以考虑从服务器渲染和编译时优化上面。