线下活动(2018)
ShannonChenCHN opened this issue · 4 comments
- Code 技术沙龙 - AI (2018.01.14)
- WOWO 英语沙龙(2018.01.21)
- 饿了么技术沙龙 - 移动专场(2018.03.10)
- WOWO 英语沙龙(2018.03.11,话题:灵异事件,老师:Cathy)
- WOWO 英语沙龙(2018.03.25,话题:减肥,老师:Cathy)
- Code 技术沙龙(2018.04.07)
- 美团技术沙龙 - 新思路打造移动端高效研发体系(2018.07.21)
- 2018 杭州·云栖大会(2018.09.22)
- 饿了么技术沙龙(2018.10.27)
- 2018 携程技术峰会(2018.11.23)
其他
美团技术沙龙 - 新思路打造移动端高效研发体系(2018.07.21)
因为我目前主要的技术实践是 iOS 开发,所以关注的是第一个和第三个 topic。
Picasso
- 本质上跟 RN 的原理一样,用 TypeScript(实际上就是 JS)开发,然后用 web 引擎去解析,调用原生的代码
- Picasso 跟 RN、Weex 的区别:
- 比 RN 更轻量
- 布局理念不同:RN 用的是前端的思路,也就是 css + flexbox;而 Picasso 采用的是用 DSL 写视图渲染信息,然后再通过 JSCore 传给原生去渲染,传到原生这边时已经是原生这边可以直接用的 UIColor、UIFont、frame,所以说 Picasso 的布局主要是基于原生的思维方式
- 特点:
- 动态化
- 号称是性能非常好,甚至比直接用原生写还要好(不知道怎么得出这个结论的)
- 开发调试时支持 live reload
- 我的一些猜测:
- Picasso 框架仅仅是一个 UI 框架,在动画、IO 操作、网络编程、页面间通信等方面都不支持
- Picasso 相比 RN 来说,更加轻量,功能更贴合美团自家的业务,所以主要适合用来写活动页
- 延伸阅读
持续集成
- 提高持续集成的效率
- 主要耗时
- pod install 生成工程
- 解决依赖管理问题:消除间接依赖,只有扁平依赖,只取最新版本的库(所有的第三方库都是自己管理)
- 自定义 podspc 解析工具,提高解析效率
- 多线程下载 pods,缓存依赖包、备份下载源
- 编译链接
- 采用 lib 构建再集成取代源码集成的方式
- pod install 生成工程
- 主要耗时
- 静态检查体系
- 自动化流程
- 感受:
- 当需要提高开发效率时,每个环节都要去深入了解,所以,CocoaPods 的原理和编译还是很有必要了解的
- 除了去学习一些现有的方案,比如 CocoaPods、RN,也可以尝试自己去实现一个类似的方案(仿写、修改等等)
2018 杭州·云栖大会(2018.09.22)
关键词:小程序、快应用、浏览器、web 容器、跨平台、Flutter、性能优化
这是我第一次参加云栖大会,这次特地很早就买了门票,主要是为了去感受下气氛,顺便逛一下杭州、阿里园区。
去之前只买了 22 号单天的票,也是大会的最后一天,因为那天正好是假期,而且还有移动开发专场。21 号晚上过去杭州后,在灵隐寺附近的民宿住了一晚,第二天一早便去去了云栖小镇。云栖小镇离市区有些远,从灵隐寺坐公交过去差不多花了 1 个多小时,当时坐着汽车在梅山的山间公路走了很长时间,景色蛮不错,杭州市区有这么一大片绿林,真是杭州市民的福气。
上午到了会展中心后直接就去了移动前端的专场,见到了传说中的天施,下午的讲座主题我基本上都不太了解,就随便选了一个 ET 大脑视觉专场,听了 1 个多小时感觉没什么意思,于是就去展馆里逛了一下午。
上午的移动前端专场有以下几个讲座:
- 从技术到生态:打造手淘下一代开放式内核架构(天施,淘宝)
- 淘宝轻应用开发框架 Rax2.0介绍(曹元彦,淘宝)
- 快应用平台体系的探索之路(董红光,小米)
- 游戏化探索:淘宝小游戏技术引擎和框架介绍(徐远同,淘宝)
- 服务Web开发者:U4内核开发平台化探索(李英各,UC)
- Profiling your Flutter Apps - Flutter应用性能分析(李宇骞,google)
1. 从技术到生态:打造手淘下一代开放式内核架构
天施在开场的时候,提到阿里技术未来的发展目标是,阿里开放的是大家都能用的上的技术,而不仅仅是适用于阿里自己的技术。怎么实现这个目标呢,首先就是内外一体化,标准化。这一点我不太了解阿里目前的情况,但是这让我想起了 Web 浏览器的发展史,也是各大厂商各有各的标准,结果受苦的是广大开发者和用户。
接着介绍了手淘的发展史,开放式内核演进。说实话,这其中大部分的内容我都没听太懂[捂脸]。
天施表示,淘宝的接下来的方向是做生态,要从一个 app 变成一个母体,也就是说,淘宝不再是一个简单的 app,而是可定制的、可编程的平台,一个创新的孵化器,就像微信小程序这样。中间还提到了一个店铺装修的例子,倒让我想起了我们团队前段时间做的酒店店铺装修,我在想,如果我们能够把店铺装修的能力赋给运营、甚至商家自己,这样的产品是不是更有生命力?
从淘宝的发展过程不难看出,技术架构的演进源于实际业务需求的发展,同时技术的进步也促进了产品的创新。
2. 淘宝轻应用开发框架 Rax2.0介绍
Rax2.0 是一个前端框架,这个框架的目标是:
- 平民化:减低技术门槛
- 高体验
- 可移植
元彦在介绍 Rax1.0 时,提到了 DSL 的演进,他们将 DSL 层从 React 改成了 Vue。这一点上,由于对前端开发不算熟悉,所以我不太理解 React 和 Vue 在语法层面上有什么明显的差异性。
另外,元彦介绍了下他们开源的一个前端应用构建工具——飞冰,这个工具提供了丰富的模板,可以快速搭建中后台应用。
最后介绍了 Rax 的性能优化,提到了异步绘制和 web worker ,这里跟移动端原生的性能优化有异曲同工之处。
3. 快应用平台体系的探索之路
快应用与 web app 、pwa 的区别在于,pwa 仍然是一个由浏览器引擎渲染的,而快应用是使用 js 引擎解释、原生渲染的,类似于 React Native、小程序的机制,只不过快应用是系统别的容器。
不同于传统 app 的先下载再使用 ,快应用是使用即分发。坐我旁边的小米员工还用小米手机给我演示了快应用的使用,打开应用商店,搜索想要的快应用,可以直接打开使用,还可以添加到桌面。
快应用有不逊于原生的体验,又无需下载,使用方便,看上去很适合初创型产品。用小米员工的话来说,微信小程序只能依托于微信,而快应用是系统级别的小程序。
但是,微信小程序正式因为只依赖于微信,所以既可以在 Android 平台上使用,又可以在 iOS 上使用,而快应用只是在部分 Android 手机上才能支持。除非你给开发者和用户足够的诱惑,快应用才能真正有属于自己的市场。
4. 游戏化探索:淘宝小游戏技术引擎和框架介绍
这里主要介绍了一下淘宝小游戏的使用场景、引擎性能测评。
值得注意是的,涉及到渲染性能时,基本上都会涉及到多线程、异步渲染。
5. 服务Web开发者:U4内核开发平台化探索
李英各首先介绍了一下 web 前端开发的角色,以及 web 开发的发展方向:
web 前端开发不会死,反而会越来越蓬勃。
然后着重介绍了 Web 性能问题剖析,其中提到了一个观点,can't agree more:
性能优化分为不同层面:引擎框架层面、应用业务层。最近几年 web 引擎的性能已经有了大大的提升,其实,我们目前遇到的绝大多数的性能问题都是业务开发者自己造成的。
6. Profiling your Flutter Apps - Flutter应用性能分析
Google 工程师李宇骞开场简单介绍了 Flutter 的技术架构、原理。Flutter 绕开了原生的图形框架(iOS 的 UIKit 和 CoreGraphics,Android 的 skia),而直接调用自己的 skia 框架进行图形渲染,所以拥有媲美原生的高性能。
李宇骞接着现场演示了如何分析 Flutter 应用的性能,并分享了一些 tips。Flutter 的性能分析是直接在 Chrome 中进行的,可以精确地看到每一个函数/方法的执行耗时,从演示效果上有点 Instruments (Apple)的感觉了。
从目前的业内反应来看,Flutter 并没有向之前 React Native 那样的火爆效应,毕竟 Flutter 没有像当初的 React Native 那样,具备其杀手锏足以让开发者动心,另外,在企业项目的实践开发中使用新技术具有一定的成本。
小结
- web 开发依然是主流
- 永恒的话题
- 用户体验(性能优化)
- 开发体验
- 跨平台
饿了么技术沙龙(2018.10.27)
主题:
- 骑手活动体系建设(Python)
- 构建分布式实时分析内存数据库的实践之路(服务端数据存储)
- 手淘高可用实践(iOS)
- 领域驱动设计实践(后端)
11~18年
手淘容器化
wax,Lua Patch
用户体验
- 占用空间
- 卡死
包 size
80% 可见??
如何监控单个页面的内存?进入页面前后的内存差值
Abort 堆栈