JSConf 2017 第二天

利用 Autopilot 容器化 Node.js 微服务

Wyatt Lyon Preul

讲的是用Autopilot Pattern创建NodeJS微服务。
正常套路:微服务好啊blablabla,用docker创建微服务可以这样这样这样,我们做了一个吊炸天的东西可以干这个干这个和干这个。

Um…差不多就是这么个意思,讲的内容就不细说了,想了解Micro Service的话肯定会经过这些内 容,至于Autopilot Pattern这个东西,没用过,不评价。(以后可以用下试试)

无服务器架构与API

朴灵

朴灵老师的talk,说是serverless & API其实是function as a service。(废话,怎么可能没有server,只是你不用去写server)

这里的无服务器架构其实把一堆function作为部署的最小单位,每一个function部署到对应的API Gateway下面,由云服务提供商提供真正的server把它跑起来。他们管这个叫做函数式计算

这么做的好处是节省了运维成本,基本运维上该做的云服务提供商已经帮你做掉了,然后最重要的是可伸缩性强,可以以真正细化到每个API等级的流量来计算成本。

也有现场Demo(用的自家阿里云,还是广告啊喂!),最简单场景的hello world写起来确实比较简单,一个js文件里面export一个function,一个yaml文件配置API Gateway就可以deploy了。

总的来说其实也是推广自家产品,都是套路…
我相信这种模式对于需要快速开发与部署的业务需确实适用,不过也有一些(我感觉的,可能不存在的)潜在问题(现场讲到的问题是如何解决依赖系统的压力和…忘了,看了PPT再补充)。我能想到的:比如把粒度做得如此小,怎么管理各部分之间的依赖,不同业务之间的共享依赖怎么处理;比如怎么合理部署这么一堆function,server虽然是不用写了,但是YAML肯定会写的很复杂吧…招个YAML工程师?

从 REST 到 GraphQL

Jonas Helfe

入门级的GraphQL教程(安利),但是这个老大会说中文诶,一半英文一半中文讲的!
具体内容就不说了,比较简单,文档级别。

说说GraphQL这个东西,虽然它是一个Specification,可以用任何语言实现,但是确实非常适合作为前端工程师的玩具(为什么?因为大部分现有后端都是REST,他们不改啊!)。在前后端分离的NodeJS这一层,把后端不愿意干的脏活干掉。这样前端既能不用发一堆请求去请求数据,后端又能愉快地写他们的更加纯粹的RESTful。

中间还提到了一个现状,深有体会:很多公司在真正实践的时候并不是实践的纯REST,因为纯REST对前端实在不够友好,想获取一个页面的数据需要茫茫多的请求。实际很多公司的做法是按View(页面)区分接口,但是这样就失去了RESTful的灵活性,而且不能同时支持多端开发。这个问题是真真实实存在的,我们一部分接口的划分也确实就是这么做的。

OK,GraphQL可以排到后面要研究的东西的前3了,这波安利我服好吧!

通过React Storybook实现visual testing驱动开发

Joel Arvidsson

其实没怎么get到点,大概意思就是以React Storybook为基础,基于Story进行开发,然后再用LOKI进行可视化测试。

应该是安利LOKI的吧。

这个PPT风格我喜欢!


好吧,后面的除了PWA都提不起兴致,干脆去排队参加workshop了(没的报名要排队,幸好轮到我了…)
本来以为是听大佬们吹逼,抱着蹭WI-FI的态度去的(会场网实在太差了,有句MMP不知…),但是没想到这确实是个很好的workshop…

Node Foundation Workshop

简单来说,这个workshop的目的就是教会你怎么给NodeJS提交PR。

  • “我擦,这还用教?”
  • “没错,就是需要教!”

整个workshop的流程是你先把nodejs fork一份(说实话我一开始不知道情况,听到要fork一份有点懵逼),clone下来,然后build,test(这个过程时间有点长)。然后他们(几个NodeJS的Member,确实有大佬在内,比如张秋怡)会给你一张小纸条,上面写着给你的任务,就像这样:

(很简单对吧…)
然后你修改好代码,本地跑个测试,然后就可以提交PR了。
做完这些后,他们会丢给你一个网站:nodetodo.org/next-steps,你就可以去上面找你后面可以做的事情了。

整个过程很简单,感觉萌新也能完成。所以这个workshop的重点在于告诉你:给NodeJS贡献代码没有你想象的那么难,只要你想,每个人都可以为NodeJS变得更好做贡献!(其实是为了拉你入坑,咳,咳…)

这里其实有些感想,国内开发者拿来主义确实严重(自己也是),愿意给开源项目贡献代码的人太少(当然尤其是国外的开源项目)。其实给开源项目提交代码没有想象中的那么难,可以从很简单的地方入手,由浅入深。即便是加一个UT或者改点文档也是很有意义的事情。并且你会发现,当你写了一段时间UT后,肯定不会止步于写UT,而是会慢慢接触更多的代码,贡献涉及的区域也会慢慢扩大。然后就加入组织、加入委员会、升职加薪走上人生巅峰(滑稽)。

总之,这种workshop简直太有意义了,多一些这样的安利,少一些吹逼不好吗?


今年的就这样吧,明年继续不继续参加,看心情。