题外话
Google开发者大会在9-20到9-21在上海如期举办,作为为数不多在大陆举办开发者大会的国际一线互联网公司,大会的内容和质量还是很令人期待的。当初抱着试一试的心态,在微信公众号上填写了申请表,没想到能够收到邀请函。毕竟作为工作不到两个月的小菜鸟,其实是没有抱太大期待能够审核通过的。既然有这个机会,自然希望能去看一看的。于是收到邀请函当天,就和老大申请了调休,订了机票定下了行程。
其实大会的议程很早就在官网公布出来了,简单浏览了一下,其实大会的重点还是AI,涉及到前端生态的内容并不如想象中的多,而且和目前的技术积累和主攻方向还是有比较大的差别。但是作为开发者的信仰公司之一举办的大会,前去感受下顶级互联网公司的技术氛围和研究方向也是值得的。
主要内容
PS:楼主不太喜欢拍PPT,所有没有太多现场的演讲照片,所以大家凑合看下。
今年的大会主要议程还是围绕新技术、商业化、工具几个场景展开,其中涉及到前端生态主要是Flutter、AMP、PWA、Lighthouse和Puppeteer,其他还有一些偏知识型的技术分享。大会的议程可以在官网查看到,也可以在各大视频网站或直播平台查看回看。
其中,Flutter主要介绍了即将发布的Flutter Release Preview 2的新特性、部分设计思想、最佳实践以及在合作企业中的一些应用。AMP和PWA部分,有三场演讲。主要是找了一些合作伙伴来聊了一下AMP或PWA在商业上带来的促进和变化以及迁移到AMP带来的挑战。而在开发者工具部分,主要介绍了Lighthouse和Puppeteer,这两部分主要是技术实践和推广。下面从这个三个方面,记录下大会的主要内容和自己的感悟,希望可以给没能来现场的同学一些参考。
(跨平台)Flutter
Flutter部分主要介绍了下Flutter的工作方式、设计思想和一些最佳实践,以及在国内公司的实际应用。作为Google最新推出的跨平台开发工具,Flutter作为Google站在巨人的肩膀上设计开发的工具,在设计层面就解决了很多之前RN难以规避的问题,比如List渲染的性能问题,主要还是Google自己开发了一套GDI,抛弃了RN采用的层层编译的方式,在程序运行时既不需要webview也不需要操作系统的底层控件,通过自己的基于Skia的GDI来绘制UI。这也是Flutter在设计和工作方式上和RN、Weex等跨平台工具上最大的不同。Flutter理论上可以在支持的设备上实现120FPS,而RN只承诺到60FPS。
不过目前Flutter还处于Beta阶段,社区生态还不够完善,有很多东西还需要继续完善。但是作为开发者,很多人已经跃跃欲试了,截止到-9-26,在Github上Flutter最新的Stars已经达到了38232个,还处在飞速增长中,作为还在Beta版本的工具是很难得的,作为对比目前已经发布3年多的RN的Stars数是约70000个。可以看到社区也是非常活跃的,基本处于每天更新的程度。Issue的解决速度也非常快。
作为开发者,如果团队有比较强大的开发实力,并且目前在跨平台开发方面遇到难以解决的性能瓶颈,可以尝试现在就开始使用Flutter。而对于广大普通开发者,可以试试自己做一些业务APP来试水,待工具和社区生态更成熟以后再切入也不晚。
在大会上也介绍了目前国内是应用Flutter到生产环境最多的地区,比如腾讯的NOW直播、阿里的闲鱼等团队都在Flutter上面有积极的尝试和丰富的实践。
(性能与速度)AMP&PWA
AMP&PWA其实已经不算新了,这次Google主要是推广介绍,还邀请了一些合作伙伴分享了向AMP改进的一些心得和收益。技术上主要的分享就是淘宝的国外版本,AliExpress(速卖通),还有央视国际视通、京东,欧莱雅和米兰网在AMP在商业实践上的一些经验。
AMP其实通过一套特有的规则来优化网页的加载和运行,但是需要使用AMP专有的标签和组件,在个性化定制方面肯定是要有所牺牲的。但是换来了速度上的提升和SEO上的优待,目前已经有超过15亿个AMP网页。
目前市场上主流的浏览器都对PWA有了完整的支持,但是在国内的话总体感觉应用还不是太广泛。大会会也提到了,目前PWA主要还是应用在网络连接速率缓慢和设备性能低下的地区和国家,国内的公司对PWA的热情似乎不太高。
(开发者工具)Lighthouse&Puppeteer
在辅助开发工具的创造上,Google一直是走在业界最前列的。从Chrome自带的开发者工具开始,Google创造的开发者工具就一直是WEB开发人员必备的工具。这次额外介绍了Chrome的无头浏览器Puppeteer和网页性能评测工具Lighthouse。
作为Google官方的无头浏览器,Puppeteer几乎可以模拟任何你在Chrome中可以进行的操作。模拟前进、后退、刷新,模拟用户点击和滑动,自动化表单提交、键盘输入,网页截图、导出PDF,爬取SSR网站内容等等。可以说比爬虫工具更完善了。而且,Chrome官方团队维护的工具,在功能上肯定是尽量像Chrome靠齐,可以说是开发者的福音了。
而最新的Lighthouse3.0,则可以更全面的测试和评估你的网页性能,还能像ESLint一样给出代码中存在的问题,提供最佳实践,并可以生成报告导出,集成到持续部署工具中,观察每一次发布对网页性能带来的影响,让开发者全方位的掌控网页的运行状况。
在最新的Chrome中,你可以在Audits下找到Lighthouse,当然你也可以通过命令行工具使用,通过命令行工具你可以方便的将Lighthouse集成到持续集成系统中。
其他
整体来说,大会的质量还是很高的。也很有Google特色,穿插了大量的现场Coding环节,让开发者感觉很亲切。作为科技公司里对技术最有追求的几家公司之一,在前端方面的积淀确实很深厚。无论是新技术、新标准还是新的辅助开发工具,Google都是走在整个业界的最前列,期待国内公司也能够有这样的追求,并朝着这个方向去努力吧。不然真的很难吸引到真正优秀的人才,在长期的竞争中必然会处于下风。从使用工具到改进反哺工具,再到创造工具,还有很长的路要走。
作为一个小菜鸟,也会继续努力,严格要求自己,希望有朝一日也能像Google工程师那样的来介绍自己设计创造的工具。
有任何疑惑加群QQ786276452
对前端的技术,架构技术感兴趣的同学关注我的头条号,并在后台私信发送关键字:“前端”即可获取免费的架构师学习资料
知识体系已整理好(源码,笔记,PPT,学习视频),欢迎免费领取。还有面试视频分享可以免费获取。关注我,可以获得没有的架构经验哦!!