Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

线下活动(2018) #86

Open
ShannonChenCHN opened this issue Jan 21, 2018 · 4 comments
Open

线下活动(2018) #86

ShannonChenCHN opened this issue Jan 21, 2018 · 4 comments

Comments

@ShannonChenCHN
Copy link
Owner

ShannonChenCHN commented Jan 21, 2018

  • 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)

其他

线下活动(2017)

@ShannonChenCHN
Copy link
Owner Author

Code 技术沙龙(2018.04.07)

wechatimg206

wechatimg205

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Jul 21, 2018

美团技术沙龙 - 新思路打造移动端高效研发体系(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 构建再集成取代源码集成的方式
  • 静态检查体系
  • 自动化流程
  • 感受:
    • 当需要提高开发效率时,每个环节都要去深入了解,所以,CocoaPods 的原理和编译还是很有必要了解的
    • 除了去学习一些现有的方案,比如 CocoaPods、RN,也可以尝试自己去实现一个类似的方案(仿写、修改等等)

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Oct 2, 2018

2018 杭州·云栖大会(2018.09.22)

关键词:小程序、快应用、浏览器、web 容器、跨平台、Flutter、性能优化

这是我第一次参加云栖大会,这次特地很早就买了门票,主要是为了去感受下气氛,顺便逛一下杭州、阿里园区。

去之前只买了 22 号单天的票,也是大会的最后一天,因为那天正好是假期,而且还有移动开发专场。21 号晚上过去杭州后,在灵隐寺附近的民宿住了一晚,第二天一早便去去了云栖小镇。云栖小镇离市区有些远,从灵隐寺坐公交过去差不多花了 1 个多小时,当时坐着汽车在梅山的山间公路走了很长时间,景色蛮不错,杭州市区有这么一大片绿林,真是杭州市民的福气。

img_2426
img_2463

上午到了会展中心后直接就去了移动前端的专场,见到了传说中的天施,下午的讲座主题我基本上都不太了解,就随便选了一个 ET 大脑视觉专场,听了 1 个多小时感觉没什么意思,于是就去展馆里逛了一下午。

上午的移动前端专场有以下几个讲座:

  • 从技术到生态:打造手淘下一代开放式内核架构(天施,淘宝)
  • 淘宝轻应用开发框架 Rax2.0介绍(曹元彦,淘宝)
  • 快应用平台体系的探索之路(董红光,小米)
  • 游戏化探索:淘宝小游戏技术引擎和框架介绍(徐远同,淘宝)
  • 服务Web开发者:U4内核开发平台化探索(李英各,UC)
  • Profiling your Flutter Apps - Flutter应用性能分析(李宇骞,google)

img_2428
img_2430

1. 从技术到生态:打造手淘下一代开放式内核架构

img_2431

天施在开场的时候,提到阿里技术未来的发展目标是,阿里开放的是大家都能用的上的技术,而不仅仅是适用于阿里自己的技术。怎么实现这个目标呢,首先就是内外一体化,标准化。这一点我不太了解阿里目前的情况,但是这让我想起了 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内核开发平台化探索

img_2439

李英各首先介绍了一下 web 前端开发的角色,以及 web 开发的发展方向:

web 前端开发不会死,反而会越来越蓬勃。

img_2440

然后着重介绍了 Web 性能问题剖析,其中提到了一个观点,can't agree more:

性能优化分为不同层面:引擎框架层面、应用业务层。最近几年 web 引擎的性能已经有了大大的提升,其实,我们目前遇到的绝大多数的性能问题都是业务开发者自己造成的。

6. Profiling your Flutter Apps - Flutter应用性能分析

img_2446

Google 工程师李宇骞开场简单介绍了 Flutter 的技术架构、原理。Flutter 绕开了原生的图形框架(iOS 的 UIKit 和 CoreGraphics,Android 的 skia),而直接调用自己的 skia 框架进行图形渲染,所以拥有媲美原生的高性能。

李宇骞接着现场演示了如何分析 Flutter 应用的性能,并分享了一些 tips。Flutter 的性能分析是直接在 Chrome 中进行的,可以精确地看到每一个函数/方法的执行耗时,从演示效果上有点 Instruments (Apple)的感觉了。

从目前的业内反应来看,Flutter 并没有向之前 React Native 那样的火爆效应,毕竟 Flutter 没有像当初的 React Native 那样,具备其杀手锏足以让开发者动心,另外,在企业项目的实践开发中使用新技术具有一定的成本。

小结

  • web 开发依然是主流
  • 永恒的话题
    • 用户体验(性能优化)
    • 开发体验
  • 跨平台

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Jan 12, 2019

饿了么技术沙龙(2018.10.27)

主题:

  • 骑手活动体系建设(Python)
  • 构建分布式实时分析内存数据库的实践之路(服务端数据存储)
  • 手淘高可用实践(iOS)
  • 领域驱动设计实践(后端)

11~18年

手淘容器化

wax,Lua Patch

用户体验

  • 占用空间
  • 卡死

包 size

80% 可见??
如何监控单个页面的内存?进入页面前后的内存差值

Abort 堆栈

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant