1、前言
GMTC是什么?
GMTC全球大前端技术大会是由极客邦科技旗下InfoQ中国主办的技术盛会,关注前端、移动、AI应用等多个技术领域,促进全球技术交流,推动国内技术升级。GMTC为期4天,包括两天的会议和两天的培训课,主要面向各行业前端、移动开发、AI技术感兴趣的中高端技术人员,大会聚焦前沿技术及实践经验,旨在帮助参会者了解大前端&移动开发领域的技术趋势与实践案例。
2、正文
借知乎 果大的回答 的一句话:
切身的一个体会就是「让多个人去做同一个项目,先不讨论项目的结果如何,最终项目组里每个人成长差别非常大」,所以大家要不断地去思考做一个项目解决一个问题参加一次会议如何能让自己有更多的收获,思考能力、执行力、沟通能力、竞品分析能力、沉淀分享能力等都是我们需要去关注的点。
做技术这些年,技术不在是技术,知识不在是知识,不要停留在自己的认知世界里,多看看别人的世界,看技术前沿,看程序圈子趋势。向上,思考问题的层次,向下,编程语言的底层。
目前的国内环境,最后的大前端分享,我想就是 GMTC 了,总体来讲邀请了国内技术公司大牛,分享他们过去和未来对于某个方向技术的实践与探索,每个专场都非常有代表性,最后,学习不止于知识,你的疑问?不可能通过别人有一个完美的回答,不能一鼓子copy到自己行业的业务中,应该是通过讲师的演讲,学习解决问题的思路和方法,了解未来的方向变化,有所启发,有所改进,有所触动,有所融会贯通!
所以,希望把看过的视频,都做一些记录和感想吧,不管懂与否,这都是学习步伐的记录~
3、GMTC 北京 2018
以下内容可在 GMTC2018全球大前端技术大会 网站查看。另外,演讲视频可以在极客时间App的每日一课中观看(需会员)。
Android新技术专场
Android开发中都有哪些新技术,如何将新技术在工作中实际使用?希望通过一线工程师的技术实践分享,给大家带来更多的思考和经验参考。
《Android 研发的昨天、今天与明天》
冯森林 / 独立开发者&行业活动家
讲师简介:
前阿里巴巴无线事业部 Android 基础技术团队负责人(资深技术专家),曾就职于华为核心网,25 年软件研发经验,10 余年智能手机软件研发经验,在 Android 技术领域有深入的观察和实践。致力于在国内 Android 生态中影响和推动 Google、手机厂商、互联网公司及用户之间谅解和信任,提出《Android 绿色应用公约》,推动产业各方共同改善和保护『设备体验』(尤其是 App 的后台耗电、全局性能及隐私问题)。
演讲简介:
Android 作为一个诞生至今不到10 年的新兴移动操作系统,快速占据了全球 80% 以上的份额,但广大 Android 开发者对于它的未来仍旧充满迷惘和疑虑。如何将宝贵的资源投入到不会被快速淘汰或边缘化的技术研发中,如何在即将到来的巨大变化中抓住机遇紧跟趋势,如何提前布局未来的技术挑战在下一个弯道从容应对?本次分享将从大前端、移动应用、行业格局等视角对 Android 技术领域中过去、当下和即将到来的发展提供一个前瞻者的观察和建议。演讲涵盖用户留存、开放平台、应用架构、国际化等大家关心的细分领域。
目标听众:Android 技术团队 Leader、资深 Android 研发工程师。
听众收益:1.增进对行业发展现状与趋势的理解,获得指导未来研发资源投入的方向指引和实践建议。
2.在部分广为关注的细分领域,了解关键性技术方向和落地策略。
PPT链接:下载
《当插件化遇上Android P》
张志强 / 京东商城资深Android系统架构师
讲师简介:
京东商城资深Android系统架构师,具有9年Android开发经验,积累了丰富的开发和设计经验,2015年开始研发了京东的插件化方案Aura,目前主要负责Android系统架构、模块化、插件化平台开发工作。
演讲简介:
Android P 来了,插件化将何去何从?Android作为操作系统涉及的面比较广,不可能在所有的方面都能走在大家的需求之前,尤其是这几年,App越来越大,而相应的Android官方给出的方案一直不太符合中国的国情,先是65536问题,再是多团队协同开发,再到App如何瘦身,这些问题一直困扰着中国的开发者。国内的开发者们在经过了无数高手的实践之后,在2016、2017年插件化技术越来越成熟,发展到了顶峰,井喷了许多高质量的插件化框架,以应对大型App的开发。
2018年,Google官方也终于祭出了大杀器 – 禁止调用私有API,并推出官方的动态化框架Android App Bundles。 随着Android P的发布,使用插件化的你们做好应对方案了吗?
京东也在使用插件化方案,随着Android P发布的脚步越来越近,也正在积极努力,找一条稳妥的转型方案,期待与各位一起分享和讨论发展方向。
听众收益:加强对Android P的新特性的理解,对大型团队协同开发有更进一步的指导建议,插件化框架适配Android新系统
PPT链接:下载
《快应用开发与实现指南》
董永清 / 小米快应用前端负责人
讲师简介:
小米MIUI资深前端开发工程师,负责快应用前端框架的研发;属于MIUI战略发展下的新生态部门。具体工作内容包括:框架的架构分层设计、数据驱动、DOM布局、容器管理、调试开发、性能优化、规范制定等内容。
演讲简介:
快应用是一个当前运行于Android系统的轻量级平台,与传统Webview型的Hybrid框架相同的是,开发者使用前端语言来开发应用;不同的是,平台的实现采用原生渲染,利用原生能力,达到高性能。
本次分享按照如下思路为参会者带来快应用的介绍:
1、快应用用户体验与用户覆盖:直观了解什么是快应用
2、快应用平台实现背后的主要思路:清晰与其它平台的异同
3、第三方开发者开发与优化:如何开发快应用,调试快应用
4、快应用平台框架的原理与设计理念:架构,API等原则
5、后续优化与展望:持续优化的地方,关注开发者核心需求
听众受益:
1.了解快应用是什么、平台的能力与优势所在、有什么特点
- 熟悉快应用的实现原理、性能等优势,以及如何快速开发快应用
PPT链接:下载
iOS新技术专场
本专题将探讨iOS领域技术上的创新和技术趋势,将邀请一线互联网公司的嘉宾来分享他们创新技术的落地实践和思考。
《从简到繁:Instagram iOS团队如何随着产品一同成长》
李晨 / Instagram iOS高级工程师
讲师简介:
Instagram iOS高级工程师,负责开发高并发的多媒体聊天工具。专注移动前端与通讯类产品。 前Apple员工,负责Apple Store App的零售店功能开发。著有《iPad应用开发实战》一书。 毕业于密歇根理工大学,清华大学,北航,拥有电子工程和核工程的硕士学位。
演讲简介:
随着移动开发团队的扩大和产品功能的增加,代码库也迅速变得臃肿,并带来一系列挑战。代码耦合、代码搜寻和重用变得更难、merge conflict变得更频繁、编译速度变慢、AB试验变得繁多。以上种种,都将导致开发效率大幅降低。Instagram iOS团队为此做了诸多努力,确保工程团队扩大的同时,能产生良好的协同效应。
演讲内容包括:
1、代码模块化解决方案:IGListKit + MVVM。
Instagram产品设计风格是大量的列表。
(1) 早期大量使用了iOS原生UITableView,方便极少数工程师进行快速开发。
(2) 随着列表变得复杂,Instagram开发并开源了IGListKit。
2、大规模AB试验:
AB实验是社交产品快速迭代以及有效测量的核心工具。当团队扩大后,试验数量和相互干扰增多。
(1) Instagram通过对实验组进行空间(用户组)和时间(先后)的分离,确保试验的独立有效性。
(2) 让工程师、产品经理、数据科学家、设计师等共同参与试验决策,防止出现实验结果解读的主观偏差。
3、加快编译速度:Buck + Focus + Focus Project + Phabricator
代码解耦重用了,试验相互分离了,更多工程师能方便地协作了,代码量也增长更快了。这个时候,编译速度就会变得越来越慢——XCode不是为大型代码库所设计的。
(1) Buck:通过并行编译和增量编译,加快编译速度。
(2) Focus:随着代码量进一步增加,Buck编译依然需要大量时间。Focus的解决思路是,在服务器端预先编译好大量组件,生成ipa时直接下载这些组件。工程师只需要专注少量组件的代码,实际操作中只需要编译这部分组件。
(3) Focus Project:每个团队可以定义自己常用的一系列组件,在编译速度和工程师可以快速打开的源代码之间获得平衡。
(4) Focus解决了编译速度的问题,但工程师通过XCode搜寻代码变得困难了。解决方案是采用Phabricator,代码上云,提供便捷的浏览器搜索、代码历史查看工具。
听众收益:
了解热门社交产品如何应对代码库由小到大的挑战,如何在代码量迅速增加时确保团队开发效率,并有效进行AB试验。
PPT链接:下载
《美团客户端基于响应式的架构实践》
臧成威 / 美团 iOS 高级技术专家
讲师简介:
美团 iOS 高级技术专家,负责美团平台美团 App 客户端的基础架构设计,流程管理系统的设计实施等工作。2009年毕业后先从事嵌入式软件开发领域,2012年投身移动互联网,曾在百度、CSDN工作。热衷于函数式编程和函数响应式编程,喜欢研究各类语言和库的底层实现。
演讲简介:
客户端函数响应式编程的开发方式已经被越来越多的开发者接受,MVVM架构也是行业内普遍认可的一种开发方式。本次演讲将给出一种基于自研框架EasyMVVM的iOS应用开发解决方案,结合我们团队从ReactiveCocoa吸取经验到EasyMVVM的创造过程,从结合业务并兼顾性能的角度如何考量进行逐一的回顾。重点探讨了如何降低响应式编程的门槛、MVVM业务范式、业务模块复用等技术问题,为iOS应用开发提供一种新的可借鉴思路。
演讲主要内容包括:
EasyReact和EasyMVVM项目背景
EasyReact技术重点
(1)面向对象设计
(2)图论传播结构
(3)数据双向同步
- EasyMVVM架构重点
(1)MVVM分层理解浅析
(2)Data binding的重要性
(3)delegate模式向声明化的迁移
- 业务模块化
(1)业务模块化的重要性
(2)纵向设计与横向扩展性考虑
(3)Rubik系统介绍
- 业务范例和总结
听众收益:
提供一种新的基于面向对象设计的响应式编程思路,给与MVVM一套有效的范式约束供大家参考,分享我们在业务模块化的一些经验。
PPT链接:下载
《开源 Flix - 谈异构列表解决方案》
宋旭陶 / 美甲帮 iOS 工程师
讲师简介:
美甲帮 iOS 工程师,负责北京 Saas 部门 iOS 客户端和 Web 开发。SwiftGG 成员,开展 <T> 沙龙和 @Swift 大会活动。喜欢写一些 Swifty 的 Code。
演讲简介:
在 iOS 应用开发中,我们会遇到构建列表视图问题,特别是构建异构非复用、同构复用混杂列表场景。由此开源社区诞生了 Eureka、XLForm 等开源项目。终于我也忍不了在 dataSource 中配置各种异构 Cell,创建了 Flix 项目。本次演讲将介绍 Flix 诞生来源、设计理念、适用场景。重点探讨如何在列表视图中尽可能地复用代码和完善代码整体结构。
演讲内容主要包括:
- 列表构建痛点和 Flix 解决目标
(1) 异构非复用列表
(2) Flix 预想目标
- Flix 设计理念
(1) 非复用 Cell 构建
(2) 复用 Cell 构建
(3) 整合 Provider
- 适用场景和总结
听众收益:
提供一种复杂列表构建的解决方案,并分享一些 Swift 上泛型、协议以及类型擦除的使用要点。
PPT链接:下载
Node专场
Node为解决后端并发而生,但却无心插柳,成为大前端的基石。伴随大前端的发展,Node也发展的越来越好,越来越重要,其应用场景从脚手架、辅助前端开发(比如SSR、PWA等)的快速开发实践,到API中间层、代理层,到专业的后端开发都有非常成熟的经验。另外,前端越来越复杂,后端服务化,今日的前端要面临更多的挑战,Node全栈给大家更多可能。本专场将重点关注以下话题:
前端实践,脚手架,工程化,快速开发
API Proxy中间层实践,页面即服务概念
面向企业开发的Web框架
Node技术与性能调优
《微服务平台下基于GraphQL构建BFF的实践与思考》
龚铭 / ThoughtWorks 高级咨询师
讲师简介:
龚铭,ThoughtWorks 高级咨询师。致力于高质量软件交付,曾服务于海内外多个软件交付项目。关注软件交付中的各项敏捷实践,关注团队成长。
扎根移动开发领域多年,关注移动开发最新技术,熟悉各种移动端混合式开发框架以及最新实践。熟悉 Android 开发,学过 iOS 开发,参与过Web开发,倒腾过后台开发。一直信奉技术无边际,习惯于在各项技术之间来回切换。希望在全栈工程师的道路上高歌猛进。演讲简介:
当我们的后台服务进行微服务拆分之后,服务与服务之间的界限越来越明晰。单个微服务都在尝试关注各自关心的领域模型。然后面对着来自多个前端应用五花八门的数据请求,我们的微服务不自觉地开始腐坏,微服务中开始掺杂着各种UI层的逻辑。在这种场景下,我们决定引入 GraphQL 构建 BFF 层。在微服务下使用 GraphQL 构建 BFF 后,我们能够给前端提供更加高效而优雅的 API 调用,同时使得微服务端的逻辑大大简化。不同的 BFF 会关注各自的 UI 逻辑。前后端之间的耦合度也大大降低。
在本次演讲中,我将涵盖到如下内容:
1. 什么是 BFF 以及为什么需要引入 BFF
2. GraphQL 与 REST 的对比
3. 基于 GraphQL 构建 BFF 的实践及思考听众收益:
- 了解 BFF 的基本概念以及什么时候需要引入 BFF
- 了解 GraphQL 的特点
- 知道在工程实践中,如何把这两者结合起来
- 了解 BFF 的基本概念以及什么时候需要引入 BFF
PPT链接:下载
《阿里Node.js运维和开发最佳实践》
陈仲寅 / 淘宝前端技术专家
讲师简介:
陈仲寅,花名张挺,淘宝前端技术专家,负责淘宝 Node.js 技术体系建设和业务支撑,长期在集团 Node.js 应用治理小组对应用进行运维和安全治理,参与多次双十一大促,对大流量大压力下的 Node.js 性能调优有着非常丰富的经验。
演讲简介:
现有的 Node.js 体系下,运维和开发已经密不可分。阿里使用 Node.js 多年,已经形成了一套完善的开发和运维体系,让应用管理变的更加简单,让框架和应用开发者能够更加灵活地监控自己的应用,让运维标准化有更加直观的体验。
演讲主要包括:
应用可用性介绍
阿里的 Node.js 框架体系
开发中解耦和分层
扩展测试能力
在开发中运维,包括
(1) 增加健康检查
(2) 链路追踪
(3) 日常监控的指标
单机运维
应用上下线
集群运维
(1) 数据展示和聚合
(2) 故障演练常态化
听众受益:
一方面了解阿里集团 Node.js 运维的另一面,另一方面可以通过一些能力,可以用到自己的开发过程中。
PPT链接:下载
《Node.js 全栈开发的常见模式探究》
李子骅 (luin) / 石墨文档技术总监
讲师简介:
石墨文档技术总监,加入石墨文档以来,负责前端工程化、移动端应用、协同算法设计、后端性能优化和数据库研究等工作。曾工作于微软亚洲研究院、Rakunew(日本东京)和阿里巴巴,出版过《Redis入门指南》。Medis 和 ioredis 作者,开源爱好者:https://github.com/luin。
演讲简介:
在过去的四年里,石墨文档一直在各个场景中重度使用 Node.js,从前端构建到端到端测试,从 CPU bound 的多人实时协作运算到后端业务服务。整个过程中,Node.js 凭借其各种优势帮助我们更好地实现业务推进。这次分享将主要介绍 Node.js 在这些场景中的常见模式和优劣势,包括:
1. 前后端代码复用来提升开发效率与代码质量;
2. 复杂的产品逻辑的自动化测试;
3. 协作运算中 CPU bound 场景的性能情况;
4. 文档摘要的实现原理以及弹性伸缩方案;
5. 从 Monolithic 到微服务再到 FaaS;听众收益:
- 了解 Node.js 在 CPU bound 场景中的性能情况以及 FaaS 带来的变化;
- 了解常见的 Node.js 使用模式;
- 了解 Node.js 在各种模式中的优势与劣势,从而更好地进行选择。
- 了解 Node.js 在 CPU bound 场景中的性能情况以及 FaaS 带来的变化;
PPT链接:下载
《摩拜前端多类型 ssr 业务框架的实践优化和自研探索之路》
小春 / 摩拜客户端&前端总负责人
讲师简介:
《Vue.js权威指南》作者,目前在编写自己的新书收尾中。国内较早应用 Node.js 到生产环境(也是国内 Sails 较早的应用研习实践者)并参与翻译了 Node.js 书籍、微博上早期活跃的技术号 dailyNodejs 的发起和维护者之一。
演讲简介:
摩拜很早开始从传统的 nginx + 前端框架(vue、react)的静态架构模式转变为 node ssr + (vue、react)的服务化架构模式。最早从 nuxt(express + vue) 再到 nuxt(koa + vue)、以及国内较早将 egg 投入生产环境(egg + vue 以及 egg + react)并接入 alinode 监控体系,内部在 node docker 化也有一定的实战优化经验(多镜像版本、线上线下部署、服务监控等)、再到比较研究了以上开源的实现细节之后,开始了快速的自研 ssr 的一些尝试和思考。
1、nuxt 的应用实践和设计原理分解
(1) express、koa + vue 的并行深入实践
(2) 一路从 rc 上来的新老项目升级踩坑之路
(3) 国际化业务方案实践
(4) 高级特性详解:部分配置项说明(render 部分等)、backpack-core解析、asyncData 原理解析、middleware设计、模板解析、自动路由设计、webpack打包等
2、egg 的应用实践和设计原理分解
(1) egg + vue、react 的并行深入实践
(2) 国际化业务方案实践
(3) alinode 监控体系接入采坑实践
(4) 部分设计思路详解
3、基于 node docker 化的实战优化经验
4、自研 ssr 的一些尝试和思考
听众收益:
1、相比前端静态架构模式,ssr 的服务化架构模式更利于前端业务的能力拓展以及一些诸如 seo、白屏优化等等
2、如何快速地从优秀的 ssr 开源框架的多案例多维度实践,再到深入学习其中的设计思路开启自研探索之路
PPT链接:下载
Web框架专场
前端框架逐渐形成了React、Vue、Angular三足鼎立的形势,每一个框架都有着自己的拥趸,这些框架有哪些落地实践,让我们为你一一道来。
《Hulu基于React的框架演进》
程墨 / Hulu资深开发工程师,《深入浅出React和Redux》&《深入浅出RxJS》作者
讲师简介:
Hulu资深开发工程师,互联网行业老兵,曾服务于摩托罗拉、微软、雅虎,云鸟配送联合创始人,知乎专栏《进击的React》作者,著有《深入浅出React和Redux》《深入浅出RxJS》两书。
演讲简介:
为了适应新的组织结构和技术要求,Hulu从2016年开始将Web技术迁移到React,因为项目庞大,专门创建了一套Hulu特有的框架,至今框架经历了多次大的结构调整,有很多收获,也踩了很多坑,这次演讲就是分享期间的心路历程。
演讲提纲如下:
Hulu网站技术背景和挑战
自创基于React的框架
应用React-Server的教训
迁移至Next.js的历程
总结:框架设计的原则
听众受益
如何选择技术框架
如何在大型项目中管理React
如何跨团队合作
PPT链接:下载
《从AngularJS走向Angular》
侯凡 / 华为云DevCloud前端首席架构
讲师简介:
2010年加入华为,一直从事前端开发工作,精通Javascript/HTML/CSS/Angular/Java,负责部门前端技术栈的规划和演进。负责联合UCD部门,负责部门avenue ui组件库的规范与核心开发,统一部门所有工具的UI体验一致性,对产品体验与视觉设计有着非常丰富的经验。目前带领团队负责华为云DevCloud的整体前端业务交付以及前端架构演进与看护工作。
技术栈全面,不仅限于前端,对于Java后端、数据库、DevOps、微服务开发、移动开发、产品运营、产品设计都有深入的接触与理解。热爱音乐,爱好运动,心态开放,善于沟通,对于一切新鲜的事务保持好奇心的一个非典型程序员。
前端不仅是业务的表达,也是体验的入口,是工程与艺术完美结合的产物。演讲简介:
AngularJS和Angular是两个独立的产品,以2.0版本为分界线,不向前兼容。从1.X走向2.X,这是Angular领域中每个开发者的痛。目前仍然有大量的服务使用AngularJS开发,面临框架切换的阵痛和风险,要么停滞不前,要么直接转向VUE和React。
华为DevCloud整体12+服务,全平台历时3个月,在业务版本交付不停的情况下,完成了全服务的Angular2.0升级,并在用户无感知的情况在线上完成了无痛切换。在这个过程中,DevCloud前端团队实施了非常多的优秀实践以确保框架的平滑升级。本次演讲,将分享其中的经验,希望对大家有所帮助。演讲提纲:
1、DevCloud框架升级的背景与技术决策
2、框架升级面临的困难和挑战
3、DevCloud的Angular框架升级历程及优秀实践
4、新的挑战,Angular6
5、总结
听众收益:
1、了解合理的前端工程化方法
2、Angular的组件化编程思想
3、Angularjs1.X业务逻辑的平滑迁移方案
4、性能优化
5、前端DevOpsPPT链接:下载
《VUE组件库建设实践》
林溪 / 饿了么前端架构师
讲师简介:
饿了么前端架构师,资深技术专家,曾就职于百度,现为饿了么北京团队的前端负责人,负责移动端技术架构,以及前端技术规划和团队梯队建设等,主要研究方向为移动端技术、前端工程化、组件化、可视化以及应用层架构。
演讲简介:
组件化大行其道的今天,每一个前端团队都不可避免的要和组件或组件库有交集,开发一个适合自己业务的通用组件库或整合已有的业务组件成为业务组件库需要注意些什么,开发组件库什么样的工程化更好,如何使用可视化技术来助推组件库的入门门槛, 本次分享将介绍我们VUE组件库建设方面的一些经验。
听众收益:
- 了解组件库设计和规范方面的经验
- 了解组件库工程化的最佳实践
- 了解如何应用可视化技术创建组件库的Playground
- 组件化技术的后续发展趋势
- 了解组件库设计和规范方面的经验
PPT链接:下载
UI与动画
随着互联网的不断发展,不管未来会怎么样,但是我们可以发现,在产品开发过程中UI是非常重要的,不管是视觉还是交互都至关重要,因为这是用户体验之本,而动画在我们产品体验中也起到非常重要的作用。本专题将围绕前端UI交互与动画进行展开,和大家一起来看看当前流行的前端技术如何为产品UI与动画赋能,为产品提升用户体验,我们将邀请一线专家分享这方面的技术与实践,重点考虑整个图形渲染部分等。
《前端中的图形技术》
程劭非(winter) / 淘宝高级技术专家
讲师简介:
网名winter,阿里巴巴高级技术专家,现在在负责淘宝终端架构小组。
演讲简介:
计算机图形学是计算机的传统的领域,随着UI技术不断发展,封装好的组件很大程度替代了基础的图形学能力,尤其是前端职能兴起,使得业务的开发不再需要关注底层的图形技术。但是现代UI设计对技术的要求越来越高,移动端场景对性能的诉求也越来越高,随着这样的变化,图形技术又开始有了需求。
演讲提纲:
- 移动时代图形技术的应用场景
- 图形技术的原理
- 图形技术的基础设施
听众收益:
- 从计算机图形技术在前端中的应用获得启发。
- 学习基本的图形技术原理。
- 了解业界开源资源。
- 移动时代图形技术的应用场景
PPT链接:下载
《前端体验中的设计原理》
郑焕义 / 腾讯CDC墨子工作室Leader
讲师简介:
郑焕义,CDC墨子工作室Leader,曾先后负责QQ会员,腾讯视频等海量用户产品的网页重构工作,主导研发腾讯设计管理平台和腾讯集团投资管理平台,对C端和B端产品的前端体验均有丰富的经验和成熟的方法论体系。目前负责广东“数字政府”的前端开发工作,正努力探寻利用前端技术提升电子政务中的服务体验。
演讲简介:
随着互联网的发展和技术的不断进步,前端工程师面对复杂产品(如流程化、跨场景、跨设备的产品)时,遇到体验问题多且碎,容易陷入细节中。如何快速找出体验问题的本质,建立有效行动的支柱,是前端工程师进阶必须要建立的理论体系,本次演讲会从大量日常接触的案例中,归纳梳理前端体验领域的设计原理。
演讲主要包括:
1.前端体验中的设计原理
(1)前端体验和设计原理的定义
(2)四项设计原理
◆ 1、健壮性原则 ◇ 发送时保守,接收时开放; ◇ 举例 ◆ 2、不确定性 ◇ 无法预料的无数种可能 ◇ 举例 ◆ 3、渐进增强 ◇依赖可靠的技术,实现核心的功能 ◇ 举例 ◆ 4、通用性设计 ◇ 对所有人友好 ◇ 举例
2.现实情况
(1)项目时间 (2)开发者便利
听众受益:
1.初步了解前端体验的设计原理体系
2.对前端技术方案选型有更广度的认知
3.理解设计理念还原的重要性
PPT链接:下载
《剖析 HTML5 游戏引擎的渲染原理及动画性能优化》
王泽 / 白鹭引擎首席架构师
讲师简介:
具有多年的游戏开发及游戏引擎开发经验,目前主要负责白鹭引擎的架构设计与部分核心功能的开发与维护工作,帮助了超过上百家游戏公司优化其游戏的渲染及加载性能。目前是 TypeScript 铁杆粉丝。
演讲简介:
随着微信小游戏的爆发,HTML5游戏迎来了一轮新的高峰,从 2014 年开始白鹭引擎团队就一直致力于 HTML5 游戏引擎的开发工作。本次演讲将从游戏的渲染原理角度出发,重点探讨基于 HTML5 API 的游戏引擎的渲染模块的架构设计思路及优化技巧。
演讲提纲:
从技术角度来看,什么是 HTML5 游戏
HTML5 游戏的渲染 API 选型
(1) DOM
(2) Canvas - 2d
(3) Canvas - WebGL
游戏引擎的渲染实现方式
(1) 渲染静态内容
(2) 渲染动画内容
渲染 API 的设计
(1) 空间变换与父子节点
(2) 鼠标、触摸事件的碰撞检测
性能优化技巧
听众受益:
了解游戏引擎的原理
了解游戏渲染以及动画开发中性能优化技巧
PPT链接:下载
《如何使用UI技术提升在线看房体验》
杨永林(教主) / 贝壳找房如视事业部工程负责人
讲师简介:
微博昵称教主,贝壳找房如视事业部工程负责人,前端性能优化专家,最近一年关注图形学与三维重建技术在房产行业中的应用。
演讲简介:
前端作为一项表现层的技术,图形图像的处理是其很重要的一部分。
房屋作为一种非标品,也需要更丰富的图形信息对其做展示,以达到更有效的信息传图作用。
在过去的两年,链家在房屋图形图像方面做了一些工作,在这里为大家分享一下前端技术可以做哪些事情。
演讲大纲:
1、非标化产品线上化需要更丰富的信息展示 2、房屋作为非标产品对UI技术有什么诉求 3、前端UI技术在二维空间下的一些应用探索 4、前端UI技术在三维空间下的一些应用探索 5、如何将技术结合业务场景
听众获益
1.了解前端图形技术的一些使用场景,探寻一些实现的可能性。
2.前沿技术如何与业务相结合
PPT链接:下载
PWA专场
PWA英文全称为Progressive Web App,中文名是“渐进式WEB应用”。PWA更多的意义在于对行业的影响,它给行业带来了更多的想象力,它可能给移动互联网带来新一轮的技术变革、产品变革。PWA不仅仅和浏览器、前端技术开发相关,PWA从C端用户的角度重新定义了什么是WEB APP。
PWA是未来,它到底能带来什么好处,如何与我们现有的架构相结合?本专场包括可以落地的技术实现分享,同时也希望引起前端开发人员更多的行业性的创新思考。
《从UC内核角度谈谈PWA技术在阿里体系的实践及影响》
刘翔 / 阿里巴巴UC内核无线开发专家
讲师简介:
刘翔,阿里巴巴UC内核技术专家。负责UC内核性能优化及前端页面优化,专注于Web体验优化和PWA技术研究。与支付宝团队基于ServiceWorker打造了支付宝小程序框架,与天猫团队将手淘的Web页面体验优化到极致,推进PWA技术在阿里巴巴集团业务的落地。
演讲简介:
本次分享将围绕以下几方面展开,希望能给大家带来对PWA的进一步思考:
- PWA的核心能力
(1) Service Worker,独立的JS线程,与文档无关的生命周期,离线更新资源的能力。
(2) Reliable
SW Cache、Fetch、Push、Navigation Preload、Background Fetch、Background Synchronization、 CompositorWorker 这些能力如何让Web变得更可靠?- PWA的优秀实践
很多页面用上PWA之后,效果并没有想象的那么好,和重构之前基本持平,那么,如何才能发挥PWA的真正效果?怎么才能在国内环境下玩转ServiceWorker Push预加载?
(1)从内核的角度分析,为何普通的用法无法带来性能的大幅提升。
SW的启动耗时分析
SWCache与HttpCache的关系和优劣
(2)SW缓存主文档的实现和效果
(3)SW Push预加载的实现和效果
(4)SW独立线程的应用- PWA带来的影响
(1)逐步给前端开放浏览器内核基础能力,甚至是操作系统能力,比如缓存、推送、添加桌面图标、下载、图片解码、渲染等等
(2)前端正变得无所不能,很多事情都可在Web实现,比如SW、WebGL、WebRTC、WebAR/VR等等听众受益:
1.了解PWA的核心能力和关键优势。
2.了解PWA相关的优秀实践,了解PWA可以做什么和如何做得更好。
3.了解PWA对Web和前端产生的影响。PPT链接:下载
《跨容器高性能的离线化方案在美团的实践和探索》
于秋 / 美团点评智能支付部前端负责人
讲师简介:
美团点评前端技术专家,曾先后负责部门基础技术服务和整个智能支付部门前端团队,对前端工程化以及架构有自己独特的认识。乐于尝试各种新技术,结合业务场景,探索落地方案。业余时间喜欢在知乎上写写文章,潜水看看海底世界。
演讲简介:
为了提升部门业务的页面性能,我们需要在多个不同的移动App容器里面实现自己的离线化方案,同时由于App不是自家的,所以不能借用目前流行的离线包之类的想法,只能从纯Web来思考。最终我们自己基于 Service Worker 的 PWA 方案在离线化上起到了核心作用,针对目前能够支持 Service Worker 的设备较为有限的环境背景,我们在踩过PWA无数坑之后,实现了结合 Service-Worker + JS loader 的兼容性 Web 资源离线化方案。在实现资源的离线化缓存之后,我们还尝试了降低资源的更新开销,提升了资源加载速度,节省用户流量。
提纲:
1、项目背景
(1) 多容器 美团 X5 UC SW 兼容性
(2) 用户场景,缓存周期取决于使用周期,缓存利用率
2、离线化思考
(1) 一般离线化方案
(2) App端的离线化方案
3、PWA破局思路
(1) PWA核心能力SW
4、缓存策略方案
(1) 使用不同的缓存策略
(2) 合理的缓存周期与缓存回收控制
5、资源更新优化方案
(1) 更小的成本实现资源更新,流量节省
6、前端延伸 – 基于Golang的Diff服务
7、容错方案
8、成果总结
听众收益:
提供基于PWA的离线化新思路,并在字符级更新,场景策略结合方面加入了新的想法,同时在技术细节上能有以下收获:
(1) 熟悉 Service Worker 的生命周期
(2) 熟悉 Progressive Web App 的离线存储,以及缓存回收机制的最佳实践
(3) 熟悉如何进行 Service Worker 调试
(4) Service Worker 实现 Web 静态资源离线化
(5) Lighthouse 页面加载性能的审计工具的使用
(6) 熟悉资源字符级更新实现原理
PPT链接:下载
《在 PWA 中使用 App Shell 模型提升性能和用户感知体验》
潘宇琪 / 百度高级研发工程师
讲师简介:
潘宇琪,百度高级研发工程师。负责研发 Lavas PWA 解决方案,帮助开发者快速搭建 PWA 应用,解决接入问题。配合团队推进 PWA 在百度内部的推广落地,热爱研究前端新技术与分享。
演讲简介:
在构建 PWA 应用时,使用 App Shell 模型能够在视觉和首屏加载速度方面带来用户体验的提升。另外,在配合 Service Worker 离线缓存之后,用户在后续访问中将得到快速可靠的浏览体验。在实践过程中,借助流行框架与构建工具提供的众多特性,我们能够在项目中便捷地实现 App Shell 模型及其缓存方案。最后,在常见的 SPA 项目中,我们试图使用 Skeleton 方案进一步提升用户的感知体验。
演讲提纲:
- App Shell 模型
在 PWA 中,使用 App Shell 模型将通用的资源与动态内容分离,可以实现对于用户的快速响应。配合 Service Worker 实现 App Shell 的预缓存之后,在弱网甚至离线环境依然能给予用户可靠的浏览体验。另外,借助流行框架与构建工具的先进特性,开发者不必从头实现 App Shell 的全部细节。
(1) 介绍 PRPL 模式和 App Shell 模型思想
(2) 介绍应用该模型后,在用户体验上带来的提升效果
用户浏览站点时,带来近似 Native App 的视觉效果
提升首屏加载速度
(3) 介绍在实际项目开发中,如何借助框架和构建工具实现该模型
(4) 介绍在不同架构(SPA、MPA、SSR)下的 Service Worker 通用预缓存方案
- Skeleton 方案
为了进一步提升用户感知体验,在 SPA 中可以使用 Skeleton (骨架屏)减少白屏时间。我们将介绍两种生成方案的实现思路,以及在灵活可用性、展现速度上的优化方式。
(1) 构建阶段的生成方案,包含以下两种:
额外编写组件,使用框架的 SSR (服务端渲染)功能
自动化生成,使用 Headless Chrome 渲染真实页面内容,随后使用占位符进行替换
(2) 解决 SPA 中多页面差异性问题。根据不同页面路由展现不同内容
(3) 优化展现速度。异步加载样式,避免阻塞以进一步减少白屏时间
听众收益
了解 App Shell 模型的思想,感受应用该模型后对于用户体验的提升效果
了解使用已有流行框架工具实现 App Shell 的推荐方式
了解不同项目架构下使用 Service Worker 缓存 App Shell 的通用方案
了解 SPA 中的 Skeleton 方案,能够使用现有生成工具在项目中应用
PPT链接:下载
终端AI
AI技术通过各种智能终端离我们的用户更近了,它除了满足用户各种各样的需求,如智能翻译、语音指令等,还能不断提高我们的研发质量,如UI自动化测试框架、图像/视频的智能识别等。在本专题下,我们将看到各个技术团队是如何结合终端+AI技术,带来更好的用户体验的。
《基于AI的网易UI自动化测试方案与实践》
熊博 / 网易质量保障中心测试专家
讲师简介:
熊博,毕业于华中科技大学,曾就职于百度。2014年加入网易游戏,经历了手游测试从无到有的体系构建,负责过迷你西游、梦幻西游手游版、天启联盟等多款手游测试管理及测试工具开发等工作。在移动端自动化测试、性能测试、专项测试等领域具有丰富的经验。目前在工具组担任测试专家,专注于测试工具开发。
演讲简介:
AirtestProject是网易研发的UI自动化测试方案,并于今年3月在GDC大会上和Google合作发布。 Airtest创新性的采用图像识别技术进行App UI元素定位,并结合AI技术进行3D等复杂元素识别。本次演讲将详细介绍AirtestProject背后的技术细节及自动化最佳实践,并分享我们在App自动化和AI结合领域的探索。大纲如下:
移动端测试面临的挑战
(1) 移动设备碎片化
(2) App版本多,迭代快
开源自动化测试方案-AirtestProject
(1) UI自动化测试工具的设计初衷
(2) AirtestIDE-集成化自动化编辑器
(3) 底层框架Airtest和Poco实现原理
AI在App元素识别中的应用
(1) 利用OpenCV进行图像识别
(2) 利用机器学习进行复杂3D元素的识别
自动化在开发流程中的最佳实践
(1) 网易内部自动化测试与持续集成实践
(2) 大规模集群测试平台
AI与App自动化结合领域的探索
(1) 业内目前的研究及成果
(2) 利用AI实现全自主自动化测试的探索
AirtestProject项目未来发展
听众收益:
深入了解UI自动化测试方案AirtestProject及其原理
分享我们在App自动化和AI结合的探索实践
在日常App测试中低成本的引入自动化测试,提升测试效率
PPT链接:下载
《AI在叮咚智能音箱中的演进和应用》
施国强 / 灵隆科技研发中心架构师
讲师简介:
京东商城前台产品研发部技术委员会技术专家,科大讯飞技术委员会专家,灵隆科技软件架构师。国内最早从事智能音箱产品开发,将讯飞的智能语音等AI技术应用到智能音箱的产品中,代表的软硬件结合的产品有叮咚智能音箱、讯飞智能音箱X1。
演讲简介:
2017年全世界范围内迎来了新一轮人工智能的热潮。人工智能聚焦的其中一个热点就是智能音箱。作为国内最早从事智能音箱研发的人员,亲身经历了AI技术近几年来在终端设备上的应用和演进。本次分享将介绍叮咚智能音箱系列产品在近几年的迭代中,所应用到的AI技术、技术的演进过程,以及未来可能应用到的技术。所涉及的范围包括:语音识别技术、TTS合成、语音唤醒、声纹、中英文评测等。
演讲提纲:
1、目前的智能音箱能做什么
点歌、闲聊、家居控制、助手服务、购物…
2、智能音箱应用到哪些AI相关技术
语音唤醒、语音识别、TTS合成、声纹、中英文评测
3、以上技术点的演进
4、未来还有哪些新技术可以应用
听众收益:
1、了解智能音箱在提供传统音箱的功能外,还能提供哪些功能
2、以目前国内的技术水平,智能音箱能智能到什么程度
3、未来一段时间,还有哪些AI技术能落地到智能音箱的产品上
PPT链接:下载
注:由于讲师所在企业限制,不对外公布
《从云到端: 百度EasyDL核心技术与应用实践》
谢永康 / 百度AI技术生态部技术负责人
讲师简介:
毕业于复旦大学, 机器学习和自然语言处理研究方向。2009年加入百度, 现任百度AI技术生态部经理, AI开放平台技术负责人。负责百度AI开放平台, EasyDL定制化模型训练和服务平台以及百度AI市场等多个平台的整体技术架构。有十余年的人工智能, 大数据和机器学习相关算法和工程架构经验。特别对深度学习及相关应用有丰富的实践。先后在百度凤巢关键词推荐, 百度日文搜索, 百度统计等团队负责研发和技术架构与管理工作。
演讲简介:
EasyDL是百度AI开放平台的子平台, 它所满足的是各行业用户从自身业务出发, 对深度学习模型的定制化需求, 并提供从数据到接口的一站式服务。本次演讲将和大家分享该平台背后采用的核心技术, 包括核心深度学习框架PaddlePaddle, AI Workflow的设计与实现, 服务端用于模型训练效果提升的Auto Model Search技术等, 另外, 将特别展开设备端本地计算的技术细节。最后, 还将结合零售、工业制造、互联网内容审核、动植物研究等场景分享真实应用案例。
演讲提纲
- 项目背景
(1) 百度AI开放平台与EasyDL介绍
(2) EasyDL与一般机器学习平台的差异
- EasyDL服务端核心技术
(1) 深度学习框架PaddlePaddle
(2) 分布式引擎AI Workflow设计与实现
(3) Auto Model Search算法与实现
- EasyDL设备端核心技术
(1) 模型转换
(2) 端的GPU优化
(3) 模型体积与量化函数
(4) NEON及汇编的使用
- EasyDL应用及案例分享
(1) 能力方向与规划
(2) 案例与效果分享
听众收益点:
听众通过这个分享, 能了解到百度EasyDL的核心技术, 提供的定制化服务方向, 并且获得快速将AI赋能到业务场景的能力。
PPT链接:无
注:由于讲师所在企业限制,不对外公布
工程化
前端工程化是前端业务以及技术架构复杂度提升导致的必行之路,然而工程化并不是普适的技术或者理论,业务类型、场景、技术架构甚至团队组织架构均是决定工程化具体形态的必要因素。换句话讲,工程化是与实践密不可分的。本专场我们通过分享业内一些经过实践检验的工程化方案,希望能够为大家在前端工程化的探索道路上提供借鉴和帮助。
《英语流利说前端持续交付工程实践》
龚振杰 / 英语流利说Android架构负责人
讲师简介:
龚振杰,目前是英语流利说Client Infra & Beyond团队Android架构负责人,构建并奠定了流利说Android项目基础架构与开发体系,热衷于开源,以及新技术知识的探索与技术讨论,是流利说LingoChamp上超过6K Star的File Downloader(okdownload)项目负责人。曾分别就职于微信Android开发团队与支付宝架构团队,爱好挑战自己、不断学习与尝试新鲜事物,喜欢听有声书电台与公园跑,爱好自由。
演讲简介:
无论是初创公司,还是像Facebook、Google这样的已经有一定规模开发人员的大公司,其实都面临着一些类似的问题,比如如何让远端的代码质量更高?如何让版本管理更加灵活可追溯?如何让问题暴露在发版之前?如何让上线的应用赋有更高的品质?在其中的众多环节中,业界已有许多可选技术方案,在流利说快速发展的过程中,我们通过将交付前的每个关键点系统化的平铺出来,对比各大厂商的做法进行逐个攻克,从而最终形成了我们自己的一套从代码提交到最终交付的行而有效的高效的解决方案,这套方案使我们打通了整个客户端应用交付前的节操控制体系。
本次演讲将分享流利说大前端针对应用交付前各个关键痛点针对性的解决方案,对比各大厂商,从代码提交、审查、扫描、解析报告等方面切入,借助Gitlab CI/CD平台,Docker以及自研的OkCheck、OkCoverage、OkReport等组件提供行而有效的持续交付工程实践的系统性方案。听众受益:
1.如何从众多的可持续开发的架构体系中进行选型
2.如何从代码提交到最终交付的各个关键环节让工程师在潜移默化中提高代码的质量PPT链接:下载
《51信用卡前端研发基础体系建设与工程化演进》
李阳 / 51信用卡基础架构组负责人
讲师简介:
李阳,毕业于北京工业大学,长时间专注于前端领域,完整经历了ie6时代到无线时代,也在不同规模团队待过,先后就职于去哪儿网、阿里巴巴,和现在所处的中小型互联网公司-51信用卡。
在大厂高度成熟的前端工作流中,经常思考离开了这些环境还能不能正常的组织代码,正好有机会负责51信用卡几乎从零搭建前端工程化体系,对这个话题有了亲身的实践和不一样的理解。演讲简介:
51信用卡前端团队在两年内人数从10+扩展到60+,业务和人员的快速扩充过程中,形成了一套前端工程化实践,其中既有业内的热门方案踩坑,也有一些特殊的最佳实践,特给大家分享出来,希望能够给对工程化感兴趣的同行们带来思考。
演讲主要包括:
- 基础研发流程
(1)基础技术栈
(2)构建工作流
(3)配套工具链路 - 前后端分离
(1)基于Nginx的前后端分离方案
(2)统一跨域解决方案 - 发布体系
(1)自动化git分支管理的演进历程
(2)结合Jenkins打造前端在线编译体系
(3)前端编译时代带来的新可能
听众受益:
1.了解高速发展的中型互联网前端团队工程化演进历程,为类似阶段的公司提供一定的借鉴。
- 51特色的深入实践和大量的踩坑经验,可以为听众带来在前端工程化方向的思考。
- 基础研发流程
PPT链接:下载
《Twitter Web前端工程化: Move fast with confidence》
胡天海 / Twitter Web高级工程师
讲师简介:
胡天海,毕业于美国卡耐基梅隆大学,现Twitter高级工程师、Twitter.com技术专家。提供Web平台上的解决方案,专注于提升开发的效率和体验。对于开发体系中编译、测试、发布、监测等各个环节有深入的思考。
演讲简介:
有一句名言叫“Move fast and break things”, 倡导尽可能提高开发速度,不怕犯错。然而,随着公司体量变大,“break things”的代价也越来越无法忽视。在Twitter Web团队里,我们倡导“Move fast with confidence”。然而,怎样构建开发架构体系使团队对新代码有“confidence”?怎样在保证“confidence”的情况下依然贯彻“move fast”?本次演讲将结合Twitter Web的前端工程化实践,围绕这个主题进行深入的探讨。
演讲提纲:
搭建快速反馈的工作流
开发,唯快不破
提升开发速度的三重境界将一切自动化
让代码再飞一会
从提交到发布,Twitter Web的自动化实践不冷酷的代码审查
当我们在谈代码审查时,我们在谈些什么
代码审查的的记与忌
醉翁之意,比酒更多发布之后的那些事
是终点,更是起点
监控与预警
以史为镜
听众收益:
- 了解国外大型互联网公司前端开发工程化的核心理念和最佳实践
- 从深入具体的案例中对提高前端的开发效率和质量产生新的启发
PPT链接:无
注:由于讲师所在企业限制,不对外公布
《后工程化时代的通天塔》
侯振宇 / 支付宝前端技术专家
讲师简介:
侯振宇,目前带领团队负责支付宝内一站式研发平台的架构和商家相关的业务。全栈学院讲师。曾任 UnitedStack 前端负责人兼产品经理。关注 Web 框架、研发效能、设计。
演讲简介:
工程化通常都会经历两个阶段,工具化和自动化。第一个阶段中,通过创造足够多的工具能让一些比较繁琐的、重复性强的工作变得容易起来。有了足够多的工具后,自然就会朝着研发中各个环节的自动化上努力。在我的团队工程化实践中,对其中的一些难点做了技术上的突破,甚至将设计也纳入到自动化的环节中。这些突破将在此演讲中分享给大家。
同时,在完成了自动化之后,如何进一步提升研发效能仍然是我们要思考的问题。我们在探索中发现,通过设计结构化的语言,是能够将“需求”这最初的一环也纳入到整个研发工程化体系中的。并且可以预见将需求纳入之后,现行的人工智能技术可以以极小的成本接入其中,很快就能在 web 领域实现让机器写代码。
此次演讲的整体大纲如下:
- 工具化和自动化时代的关键问题
(1) 研发体系的概览
(2) 自动化中的关键环节——运行时框架
(3) 将设计纳入自动化的实现
(4) 前后端的新定义
- 后工程化时代的突破
(1) 现阶段关于机器写代码的几个关键问题
(2) 结构化的需求语言
(3) 关键指标的监控
(4) 可展望的机器生成 web 应用场景
听众收益:
从研发体系的角度重新看工程化
了解解决自动化中关键问题的方法
了解突破 web 研发本身瓶颈的探索方向
PPT链接:下载
跨平台专场
作为开发者,我们总是在追求效率和性能上不断探索和实践,这也是企业生存之道。效率和性能往往是一个矛盾点,为了效率我们探索的通用方案会带来冗余性能损耗、为了性能我们需要针对特定环境专项优化而失去通用性以至于效率折损。跨平台解决方案,以此寻求效率和性能的平衡。正如C#中用Xamarin开发Android、iOS应用;浏览器中的WebAssembly;天然支持跨平台的Hybrid技术;基于javascript开发原生应用的React Native、Weex等,都是在追求效率与性能的平衡。对于企业以及团队而言,选择合适的开发语言及框架、跨平台中UI复用、不同平台API高扩展性、基于效率之上性能最优等,都一直围绕着跨平台技术和解决方案展开探索。
相约GMTC 北京2018『跨平台专场』,和技术专家一起交流跨平台技术方案及应用实践,分享跨平台技术方案的性能挖掘,同时也会关注新兴平台的代码复用等问题。
《跨平台2D渲染对象模型与数据可视化实践》
吴亮(月影) / 360技术委员会委员,奇舞团负责人,《JavaScript 王者归来》作者
讲师简介:
月影,先后就职于百度、盛大创新院、360。目前担任360技术委员会委员,360前端技术委员会主席,奇舞团负责人,知名前端技术专家,w3ctech顾问。多年来从事前端开发和技术团队管理,著有《JavaScript 王者归来》。
演讲简介:
为支持360数据可视化项目,研究跨平台的2D渲染模型,主导设计了Sprite.js开源库,建立基于Canvas的跨平台渲染对象模型。支持Node服务端、Web端、小程序以及其他第三方平台的2D图形绘制与渲染。采用缓存、批次渲染以及其他优化手段优化性能。使用Babel编译,引入最新的ESNext语言特性。
本演讲介绍Sprite.js以及2D渲染模型的技术实现细节,讨论一些优化思路和优化手段,介绍这些技术在360数据可视化项目的落地,对于有2D渲染、动画效果以及跨终端需求的同学应该有借鉴意义。
PPT链接:下载
《基于Cocos的高性能跨平台应用开发方案》
潘伟洲 / 腾讯高级工程师
讲师简介:
潘伟洲,腾讯高级工程师,曾先后负责小Q机器人二代及ABCmouse开发工作,对自然语言处理、跨平台应用开发有着丰富的实战经验。业余时间开发了开源中文智能音箱dingdang-robot,同时也是博客引擎Hexo的活跃开发者之一。
演讲简介:
跨平台应用开发已成为现在越来越主流的客户端开发形式。本次演讲将给出一种基于Cocos的高性能跨平台应用开发解决方案,结合我们团队使用 Cocos 对原本 Hybrid 形式的产品的改造过程,从技术选型、基础组件储备,再到改造过程中就如何提升跨平台开发效率以及产品性能所做的尝试和所踩过的坑,逐步进行总结回顾。重点探讨了开发过程中遇到的跨层交互、ScrollView 性能优化、内存优化等技术问题,为跨平台应用开发提供一种新的可借鉴思路。
演讲主要包括:
ABCmouse项目背景
项目具体实践
(1)系统架构
(2)研发流程
(3)Cocos层
- 通用组件开发
(4)Native层
- 音频播放:多端统一播放组件 - WebView:预加载,直出,JS打包
(5)跨层交互的技术问题
- Native、Cocos 界面过度 - local reference table overflow 问题
性能优化
高性能的 ScrollView 实现
内存优化(图片压缩、图片格式、缓存、内存管理、属性动画、自动图集)
效果对比和总结
听众收益:
提供一种新的基于Cocos的跨平台应用开发的思路,并在跨层交互、组件性能优化、内存优化等方面提供了具有参考价值的实践经验。
PPT链接:下载
《基于HTML5开发高性能跨平台APP》
李德兴 / APICloud技术负责人
讲师简介:
李德兴,APICloud终端引擎及相关核心模块的技术实现者。一直从事浏览器、JavaScript引擎及相关中间件技术,参与过多个基于浏览器的移动中间件引擎的开发工作。有丰富的App架构及开发经验。热爱新技术,熟悉HTML5及W3C规范,对HTML5及浏览器技术的实际应用有深入研究并付诸大量实践。
演讲简介:
Html5具有天然的跨平台特性,基于Html5混合技术架构的跨平台APP如今已然成为主流。本演讲将向大家分享我们在大规模使用Html5进行跨平台APP开发过程中,遇到过哪些坑,并讨论如何优化,将HTML5技术高效地应用于APP开发中,希望能给企业在业务快速落地过程中提供参考。
提纲
1、跨平台技术为什么越来越火
1)开发者的烦恼 企业的焦虑
2)主流的跨平台技术方向:中间语言编译方向 HTML5标准技术方向
3)为什么选择HTML5
2、HTML5在跨平台APP开发中的实践
1)系统架构
2)功能问题
3)性能问题
4)优化:性能优化、渲染优化、加载优化、数据交互优化、适配优化
5)模块化复用
3、如何选择HTML5跨平台APP技术方案
1)核心要素
2)支撑体系
4、HTML5技术跨平台应用在APICloud中的实践
听众受益:
1、了解HTML5技术在APP开发领域的应用情况
2、HTML5在移动端应用过程中的一些实践技巧
3、帮助企业或团队在APP项目推进过程中对技术方案选型提供参考PPT链接:下载
《基于Google Flutter的移动端跨平台应用实践》
王树彬 / 阿里巴巴闲鱼无线技术专家
讲师简介:
毕业于浙江大学,2009年加入阿里巴巴,现任阿里巴巴闲鱼架构负责人,负责闲鱼从端到云的整体架构升级。有十余年互联网研发经验。曾负责移动端LBS技术,是淘宝位置归一、地理围栏等技术的开拓者,为个性化、O2O等业务提供基础能力。也曾负责淘宝的商家系统,建立商家十亿级大数据下的实时在线查询、挖掘服务。
演讲简介:
Flutter是Google开源的跨平台框架,是Google下一代操作系统Fuchsia的界面语言。通过自建绘制引擎,达到原生的绘制性能及很好的双端一致性,为跨平台统一编程提供了一种新的可能性。
闲鱼通过与Google团队紧密合作,将闲鱼部分页面迁移到Flutter。在将Flutter应用于大规模生产环境的过程中,闲鱼积累的实践经验和心得,分享给大家。此外,闲鱼突破Flutter的标准用法,实现Flutter与Native在同一个App中混合开发,解决了混合栈管理、混合工程优化、兼容性适配等问题,使现有应用可以平滑渐进式迁移,希望为大家提供参考。
演讲提纲:
- 项目背景
(1)Google开源项目Flutter介绍
(2)为什么使用Flutter
- Flutter通用实践
(1)Flutter的研发流程和体验
(2)UI开发,自定义组件
(3)Native通用平台能力集成
(4)用Texture对接自定义视频播放器及图片库
(5)性能监控及调优
- 混合开发及渐进式迁移实践
(1)Flutter与Native混合栈管理
(2)混合工程及编译优化
- Flutter应用效果
(1)性能与动态性
(2)Beta阶段的Flutter的成熟度
- 小结
听众受益点:
1.Flutter特点,了解跨平台开发的一种新的可能性。
2.Flutter线上大规模应用的实践经验及注意事项。
3.了解基于自绘制引擎的跨平台框架的设计思想及优劣势。
PPT链接:下载
注:由于讲师所在企业限制,不对外公布
《携程大规模应用React Native的工程化实践》
赵辛贵 / 携程无线研发总监
讲师简介:
赵辛贵,携程无线研发总监。2013年加入携程,主要负责App基础框架研发相关工作,关注App开发框架、性能、质量、效率和新技术。
先后负责和参与携程Native、Hybrid和React Native框架设计、工程模块化拆分解耦、Android插件化动态加载、无线持续交付平台等项目。目前重心主要在React Native框架在公司的推广和研发支持、以及公司内部其它独立App的框架和工程架构升级。
演讲简介:
演讲摘要:
React Native从2015年开源,到现在3年多时间,在开源社区的推动下,发展的已经相对成熟。
优秀的框架性能、活跃的社区、成熟的React生态、以及友好的开源协议,是跨平台开发框架的不二选择,适合业务的大规模使用。
各大厂商从开发效率和用户体验角度考虑,准备在现有App中大量使用React Native框架的时候,会遇到各种各样的问题。携程从2016年中开始着手React Native的调研引入,到现在70+业务Bundle的大规模使用,一路走来,我们积累了些经验。
本次GMTC大会,将会分享一些我们的实践经验,希望能够为大家在规模化使用React Native的探索上提供借鉴和思路。提纲为:
1.使用现状介绍
(1)业务使用现状
(2)业务团队为什么会使用
(3)工作流介绍
2.如何支撑业务团队研发
(1) 工具链支持
(2) 开发框架组成
(3) 打包格式的演进
(4) 发布的优化
(5) 线上性能与错误的监控
(6) 故障排查
- 实践经验
(1) 性能问题与LazyRequire方案
(2) 依赖库的管理
(3) Android稳定性问题
(4) RN版本升级与多版本运行
(5) 多App支持
(6)一套代码对H5的支持
听众受益:
如何在规模化团队中推广使用RN
规模化团队中使用RN常见的问题及其解决方案
使用RN开发的一些最佳实践
PPT链接:下载
性能优化与监控
对于端上的性能监控与优化,也一直是热门话题,让我们来看看业界的优秀实践。
《LinkedIn移动应用的性能优化之道》
廖锦幸 / LinkedIn中国研发部资深工程师
讲师简介:
现就职于LinkedIn中国,职场业务线iOS技术负责人。有丰富的移动架构设计和项目开发经验,在 iOS 基础设施建设方面有一些钻研和实践。包括构建了赤兔移动端高可用的即时通讯系统、Tracking SDK、性能监控体系等,主导了 LinkedIn China 应用层框架、Swift优化等项目。此前曾任职于豆瓣,从零到一参与构建了豆瓣主App iOS客户端。
推崇可持续发展,认为工程应解决当下的问题,也考虑长远的未来。认同数据驱动,崇尚自动化,一切重复的劳动都是对人类智慧的浪费。热爱分享,希望能与社区一起进步。
演讲简介:
终端性能极大地影响着用户体验。庞大的项目规模和用户群体、复杂的用户使用环境,带来诸多性能上的挑战,线上稳定性、端上使用性能、编译性能、应用包体积等。本次演讲将分享LinkedIn的性能技术体系和工具,及其在大型移动应用中的优化实践。
演讲大纲:
架构优化。性能上的问题很多是项目规模带来的,而合理的架构能够化繁为简,降低问题复杂度。工程架构组件化和标准化,提高了代码的复用度,大幅减少了问题种类。
实时监控。我们对应用Crash、网络链路耗时、数据模型解析、图片解码及处理等关键指标都做了监控,通过实时的Dashboard了解线上性能情况。
专项优化。以实际案例剖析如何通过精简数据模型、合并网络请求、高效布局等手段来优化页面的加载时间和流畅度。
效果分析。我们基于LiX和XLNT等工具来做AB实验和性能优化效果分析,从而形成“监控—>定位—>优化—>验证”的闭环。
听众收益:
通过LinkedIn的实践经验,对移动App的性能监控、定位、优化、验证的全过程有系统的认识和思考。
了解大型项目如何优化应用架构,降低性能问题的复杂度。
PPT链接:下载
《大前端时代前端监控的最佳实践》
彭伟春(六猴) / 阿里巴巴前端技术专家
讲师简介:
彭伟春(六猴),阿里巴巴前端技术专家,现就职于阿里国际用户体验事业部,阿里云ARMS前端监控技术负责人,阿里开源同构框架 Beidou(https://github.com/alibaba/beidou) 作者,在前端、Node性能领域有着深入的研究和丰富的实战经验。
演讲简介:
海量用户规模、跨端用户环境、全球业务部署,给前端监控带来不少新的挑战,本次演讲将从前端监控最前沿的思考,到前端监控系统的架构,再到具体的案例分析,体系化地讲述前端监控的点点滴滴。
演讲大纲
1.前端监控的重要性:很多web性能优化领域大师都讲过,You Cannot Optimize what you cannot measure,而这里提到的measure tool就对应着监控系统。监控系统让一切性能优化可被量化,并跟业务点击率、跳失率等数据产生关联。
2.大前端时代前端监控的新变化:浏览器进入多TAB时代已经多年,PV统计的古法还够用吗?SPA伴随MVVM开发模式的盛行也变得更加流行,那SPA页面的PV该如何统计?首屏时间一个看似跟业务逻辑强耦合的关键时间,监控平台如何实现通用采集?一个日志采集SDK如何实现跨多端如browser/react native/weex/nodejs端的数据采集?前端监控 + AI = ?等等一系列大前端时代新衍生的前端监控问题,我们都会在本章进行探讨并解答。 3.阿里云ARMS前端监控系统架构:我们将会从日志采集域、日志处理域、数据可视化展现域、告警域四个维度详细的介绍阿里云ARMS前端监控系统架构。在日志采集域,我们会重点介绍Performance/ResourceTiming/AJAX/Fetch/JS Error等监控指标的采集原理,以及如何加速前端日志上行。 4.经典案例分享:通过实际案例讲述前端监控如何为双11保驾护航,如何及时反馈Lazada东南亚六国切流过程中线上前端系统稳定性大盘,以及如何进行长期的多个迭代的性能优化追踪。 听众收益 1.了解大前端时代前端监控的新变化:除了SPA页面的PV统计、跨端的前端监控、MVVM时代下通用的首屏渲染时间采集等等,前端监控还可以给业务带来更多可量化的价值,甚至还可以更加智能化 2.了解前端监控系统的架构,对前端日志采集SDK设计、分布式实时流计算架构、全球化部署、监控告警等领域有更深刻的认识 3.通过阿里的实践经验,对前端的JS ERROR监控、性能优化、线上问题定位、验证的全过程有系统的认识和思考
PPT链接:下载
《爱奇艺APP极致体验之路》
陈杉 / 爱奇艺移动客户端技术总监
讲师简介:
10年Android端开发经验,爱奇艺移动端技术总监,负责爱奇艺APP安卓客户端以及架构团队,加入爱奇艺三年间,致力于推动爱奇艺APP打造极致的用户体验,加入爱奇艺前就职于美满电子科技,负责Google TV项目的开发。
演讲简介:
移动互动网的发展已经从早期拼速度,拼商业模式创新进入了拼体验,拼内功的下半场,爱奇艺APP为了能够在激烈竞争的中国移动视频行业脱颖而出,在打造极致用户体验方面投入了极大的精力,通过本次演讲,希望分享爱奇艺APP的一些经验和心得。
演讲提纲:
- 什么是极致的用户体验
- 移动开发全程监控
- 基础体验 VS 业务开发
- “动态化”与基础体验的平衡
- 移动监控智能化尝试
- 爱奇艺APP性能优化实践二三事:功耗,开播速度,包大小等
听众收益:
- 如何打造极致的用户体验
- 开发团队如何平衡体验与业务发展的冲突
- 爱奇艺APP性能优化的一些实践
- 什么是极致的用户体验
PPT链接:下载
《美团客户端监控与异常排查实践》
何定旭 / 美团点评资深工程师
讲师简介:
Android技术专家,美团点评Android基础设施组负责人,Android热更新Robust作者
演讲简介:
客户端线上质量是业务的生命线,客户端线上质量直接影响业务的发展,仅依赖于Crash系统与客服反馈等传统的渠道无法感知真实的客户端线上质量,因此我们需要全方位的监控来真实反应客户端的线上质量。本次演讲分享了美团点评全方位的客户端监控与异常排查经验,重点探讨了如何快速发现问题、如何进行异常分析与处理、如何分钟级排查异常与如何动态排查异常等一系列技术挑战与难点。
演讲提纲:
1、背景
(1)监控价值
(2)数据驱动
2、监控与报警
(1)全场景(定位、登录、下单、支付等)
(2)监控维度(业务监控、性能监控)
(3)实时报警
3、异常分析与处理
(1)自动携带异常辅助信息
(2)异常信息自动聚合
(3)异常自动初步分析
(4)触发降级策略(自动、精准、动态)
4、异常排查挑战
(1)异常分类
(2)如何解决无日志异常
(3)如何解决小概率异常
(4)如何动态排查异常
5、成果与总结
听众收益:
提供建设集快速发现与快速排查于一体的监控思路,通过分享我们在监控与异常排查方面的经验,提供可借鉴的建设思路与方案,支撑并驱动业务高速稳定发展。
PPT链接:下载
编程语言
编程语言专场会关注 Swift、ES7/8、Kotlin、Dart这些语言的特性和应用,这些是目前大前端领域在用或者趋势性的语言。
《Swift Outside the Apple Ecosystem》
Mattt Zmuda / Flight School创始人
讲师简介:
Mattt is the founder of Flight School, a new book series for Swift developers with English and Chinese language editions. He spent the last 3 years at Apple as a technical writer, contributing to The Swift Programming Language, Swift Package Manager, and Swift.org. Before that, Mattt founded NSHipster, a weekly publication for iOS and macOS developers, and maintained several open source libraries, including AFNetworking and Alamofire.
Mattt Zmuda是Flight School的创始人,作为技术作家,他在苹果公司工作了3年,为Swift编程语言,Swift Package Manager和Swift.org做出了贡献。在此之前,Mattt成立了iOS和MacOS开发者每周出版物NSHipster,并维护了几个开源库,包括AFNetworking和Alamofire。
演讲简介:
The Swift programming language was released by Apple in 2014. At the time, it was positioned as a successor to Objective-C for making iOS and apps. However, thanks to extensive contributions from the open-source community as well as companies like IBM and Google, Swift has expanded beyond the App Store into a variety of new applications.
In this talk, I will discuss recent and upcoming developments in Swift, and how they can be used for machine learning, web development, scripting, and systems programming.Among the topics I’ll discuss are Swift for TensorFlow, Swift-NIO, concurrency, interoperability with language runtimes, and ABI stability.
Key Takeaways:
Discuss recent and upcoming developments in Swift, and what they mean for developers.
Understand why Swift is uniquely positioned to become an important language outside Apple’s development ecosystem.
Learn how to get started with Swift and contribute to its development.
Swift编程语言于2014年由Apple发布。当时,它被定位为Objective-C的后继版本,用于制作iOS和应用程序。但是,得益于开源社区以及IBM和Google等公司的广泛贡献,Swift已经超越App Store扩展到各种新应用程序。
在这次演讲中,我将讨论Swift中近期和即将发生的事态发展,以及它们如何用于机器学习、Web开发、脚本编写和系统编程。
我将要讨论的主题包括Swift for TensorFlow,Swift-NIO,并发性,与语言运行时的互操作性以及ABI稳定性。
关键要点:
1.讨论Swift近期和即将到来的发展,以及它们对开发人员的意义。
2.理解为什么Swift具有独特的定位,成为Apple开发生态系统之外的重要语言。
3.学习如何开始使用Swift并为其发展做出贡献。
PPT链接:下载
《领略 Kotlin 协程的力量》
张涛 / 饿了么资深 Android 工程师
讲师简介:
网名 kymjs,饿了么资深 Android 工程师,“开源实验室”博主,Kotlin 技术推广者。2012 年开始从事 Android 开发,带过团队,做过架构,写过应用,做过开源社区。目前在饿了么商户端负责应用模块化平台与插件化平台的设计和开发。 三年前开始接触和使用 Kotlin 语言,具有丰富的 Kotlin 开发经验。
演讲简介:
开发者越来越关注异步编程效率的问题,Kotlin 用协程(coroutine)新颖地解决了这个问题,并且可以无缝结合到 Android 代码中。本次分享将带领听众从一个小例子开始,自顶向下的理解 Kotlin 协程是什么,协程的本质与工作机制,如何快速的使用协程,如何使用协程改造自身的项目,从而在实践中理解是什么使得协程在Android上如此优秀。
演讲提纲:
1.协程是什么
1.1 协程是怎么来的
1.2 为什么协程可以提升执行效率
- 通过Kotlin在JVM使用协程
2.1 启动协程
2.2 async/await
2.3 取消/暂停
2.4 为Android项目引入协程
- Kotlin 的协程实现
3.1 协程库在Android上的实现
3.2 挂起点与执行段
3.3 协程的状态机切换
听众受益:
理解 kotlin 协程的基本原理
了解 kotlin 协程的适用场景
懂得如何在项目中使用协程优化现有代码
PPT链接:下载
《V8、JavaScript 的现在与未来》
迷渡 / 前端开发工程师
讲师简介:
迷渡(justjavac),前端开发工程师, 8 年前端开发经验。曾经是连续创业者,目前是一名自由开发者。正在出版《代码之谜》。 JSON API 中文规范维护者, Flaurm 中文社区创始人。平时混迹于 GitHub ,参与众多开源项目。精通 one,学习 another,关注 next。
演讲简介:
作为一个花了 10 天时间开发出来的语言,谁也未曾预料到 JavaScript 现在如此火热。ES3 规范出来之后,TC39 花了十年时间,几乎没有任何改变。之后,ES6(ES2015) 又花了四年才得以实现。
自 ES6 出来之后,TC39 精简了提案的修订过程,以满足现代化开发的需求。这使得提案更快、更早,而且我们也不用等待新版本的规范出来就可以使用。
本次演讲将介绍 ECMAScript 的最新特性,以及目前还未纳入规范但是很有用的新提案。并基于 V8 引擎分析对新规范的实现细节以及针对 Chrome、Node.js 的性能优化。
演讲提纲如下:
1. ECMAScript 及 V8 引擎简史
2. 目前 V8 引擎针对 JavaScript 的性能优化
3. TC39 的最新提案以及应用场景
4. 编写高性能 JavaScript 代码的技巧和原则听众收益:
- 了解 JavaScript 的新特性、新提案
- 学习如何编写高性能 JavaScript 代码
- 通过实例代码分析 JavaScript 的性能
- 了解 JavaScript 的新特性、新提案
PPT链接:下载
注:由于讲师所在企业限制,不对外公布
音视频专场
直播方兴未艾,短视频风靡网络,在线教育互动直播风口重起,音视频是大前端的重要子领域,音视频如何优化,如何做好实时处理,如何落地应用场景是我们关注的问题。
《揭秘微视:视频特效与非线性编辑技术内幕》
柯灵杰 / 腾讯SNG高级工程师,微视技术负责人
讲师简介:
腾讯微视技术负责人、高级工程师、腾讯学院认证讲师、QCon全球软件开发者大会及@Swift开发者大会演讲嘉宾。
他还是多项国家发明专利第一发明人。项目经验丰富,曾参加过微视、QQ、Qzone、微云、企鹅MV、闪咖等项目的开发,在视频特效、视频编辑领域有着丰富的经验。
他主导开发的开源组件,在腾讯内被多个项目使用,获得公司内多项优秀组件奖,并成为腾讯官方开源项目,获得超过一千的star。现在受邀正在编写一本关于视频特效与实时渲染相关的书籍。
演讲简介:
随着计算机图形图像技术的迅速发展,数字视频技术逐渐成熟,以数字视频处理为核心的非线性编辑视频处理系统已成为制作影视节目、数字多媒体的主要工具。然而随着移动互联网的兴起,视频拍摄与传播门槛的降低,人们迫切需要一种更为智能和方便的视频拍摄和编辑工具。短视频类的App渐渐成为了人们拍摄、编辑、分享视频的主流。
提纲:
视频整体流程与框架设计
视频的采集与优化
(1)清晰度优化
谈谈如何运用降噪、超级采样、增亮等技术手段,使采集到的视频具有更高的质量。
(2)滤镜与调色技术
LUT调色滤镜的技术原理、使用方式、以及优缺点。
(3)基于人脸识别的人像效果优化
使用人脸识别技术,获得人的脸部信息,从而有针对性的进行美白、磨皮、瘦脸乃至五官调整,提高人物的拍摄质量。
(4)增强现实技术与粒子特效
随着AR技术的蓬勃发展,在视频拍摄中使用基于增强现实技术的特效已经变得十分普遍。本部分将会从AR技术的基本原理,到粒子渲染的实践及性能优化方面,介绍如何搭建一个基于AR的粒子特效系统。
- 视频编辑及处理技术
(1)视频特效技术
视频特效一直是视频编辑技术的重要组成部分之一。本部分将介绍如何设计并开发视频各式各样的特效,比如分裂、幻影、老电影等等。
(2)时间轴与分段特效
视频的非线性编辑技术,正是现代数字视频编辑技术区别于早期视频编辑技术的重要指标,而时间轴及分段特效管理正是这套系统的核心。本部分将介绍视频编辑系统中的时间轴及分段特效的技术框架设计及运用。
(3)动态封面
随着短视频的发展,简单的静态封面已经不能满足用户的需求,而更加美观的含有更多信息量的动态视频封面应运而生。本部分将主要介绍如何生成动态封面,以及通过视频编辑的信息优化动态封面的技术。
- 未来的发展
(1)从游戏引擎到特效引擎
(2)AI与视频标签
(3)超分辨率
听众受益:
(1)了解视频的相关原理、技术及优化方案
(2)理解视频特效的原理和方案
(3)了解视频编辑技术及框架的设计
PPT链接:下载
《WebAssembly在音视频领域的应用》
和君 / TutorABC大前端部门负责人
讲师简介:
10余年前后端研发及管理经验,曾就职于沪江网、途牛网等互联网公司。擅长大型前端项目架构,前端工程化,前端及Node.js服务端性能优化等。现负责TutorABC大前端部门,以及音视频教学平台 "Tutormeet+" 的浏览器端和客户端相关工作,致力于打造在线教育领域的WebRTC高性能富交互前端解决方案。
演讲简介:
WebAssembly技术历经3年的发展已经日臻成熟,主流浏览器厂商都已提供了对Webassemly的支持。WebAssembly技术的引入大幅提升了浏览器端一些计算密集型的场景(如:音视频领域,3D游戏)的性能,利用WebAssembly技术的特性在浏览器端与WebRTC相结合实现更加丰富的音视频呈现效果,分享内容包含基于WebAssembly的实现视频Filter ,面部检测与关键点识别,并结合在线教育K12教学场景提升音视频互动性。可以预见WebAssembly能让音视频技术和Web前端开发更完美的结合在一起。
演讲提纲:
1. WebAssembly技术介绍
(1) WebAssembly诞生的背景
(2) WebAssembly的原理、运行机制及适用场景
(3) WebAssembly当前发展的现状WebAssembly开发及应用
(1)WebAssembly相关工具链的介绍
(2)WebAssembly的开发、调试、调优
(3)和传统JS的性能对比结合WebAssembly提升在线课堂音视频的互动性
(1) 实现基于facial detection,facial alignment的教学体验的提升
(2) 在浏览器端实现基于面部跟踪的虚拟面具
(3) WebAssembly如何与既有的前端工程结合
(4) 开发时的一些技巧和最佳实践WebAssembly的展望及预期
(1) 开发WebAssembly可能遇到的坑
(2) WebAssembly未来发展Roadmap
听众收益:
1.了解WebAssmebly的原理、应用及发展趋势
2.帮助听众了解当前浏览器已具备媲美Client端及移动端Native App的能力
3.借助WebAssembly,提升音视频在终端的表现能力PPT链接:下载
《AR在直播系统中的应用》
李超 / 沪江网架构师
讲师简介:
近三年一直从事教育直播系统的研发工作,之前有6年的音视频会议系统的研发经验。10多年的软件开发经历,8年多的音视频直播行业相关经验,6年多的团队管理经验。丰富的Linux开发经验,对Linux内核做过深入分析。参加并设计了多个高负载,大并发服务器架构。
演讲简介:
随着 AR 技术越来越成熟,尤其是苹果的 ARKit 技术更新之快,超出了人们的想像。可以说现在 AR 技术已经从之前的象牙塔走入了可以实际应用的阶段。
AR 技术应用到在线教育领域有着得天独厚的优势。而将其引入到直播系统中将会大大加强人们在在线学习中的感受,这势必会引起一场新的在线教育的技术"革命"。
AR的核心就是视频+视频分析(场景理解)+ 虚拟物品,而直播核心是 音视频+传输。从中我们也可能看出,只要在直播系统中加入 场景理解 + 虚拟物品,就可以构造出 在线直播AR系统。
当然,要想真正的构建出一套非常好的,适合于人们学习的,有特点的 AR教育直播系统,我们还必须付出巨大的努力才能取得成功。
我所讲的主题就是 AR 系统该如何使用,如何引入到现有的直播系统中。AR的优势及引入直播系统中的难点都将在本次主题中向大家一一介绍。
大纲:
1. AR/VR的介绍与区别
2. AR技术现状与应用
3. AR核心算法介绍
4. AR运行机理
5. ARKit Demo讲解
6. ARKit 与 ARCore 迥异
7. ARCore Demo讲解
8. 直播系统中引入 AR的基本流程与难点
9. 直播系统与引入 AR Demo演示听众收益:
- 了解 AR 的现状及基本使用。
- 了解 AR 如何与直播系统结合,并知道其中的难点 。
- 了解 AR 的现状及基本使用。
PPT链接:下载
主会场
《开场》
孟夕 / GMTC大会主编
讲师简介:
孟夕,GMTC大会主编&总负责人
演讲简介:
开场&GMTC内容设计解读
PPT链接:无
《GraphQL and Apollo: A complete data management solution for modern Apps》
Sashko Stubailo / Apollo GraphQL leader
讲师简介:
Sashko has been working on open source developer tools for the last 5 years. Most recently he has been leading open source GraphQL tool development at Apollo, after writing the very first versions of Apollo Client. Previously, he has worked on JavaScript build tooling, reactive UI frameworks, and data visualization.
Sashko在过去的5年中一直致力于开源开发者工具的研发。他编写了Apollo客户端的第一个版本,之后一直在Apollo领导开源的GraphQL开发。此前,他曾从事JavaScript构建工具开发,反应式UI框架和数据可视化工作。
演讲简介:
Brief introduction
Modern frontend frameworks like React, Vue, and Angular have solved a lot of the problems developers used to have with building complex user interfaces. It's easier than ever before to structure your code with components, create great animations, and create consistent design systems. Unfortunately, these frameworks don't have a clear opinion on how you load and manage data, whether it's client-side state or a result coming from a backend API.
In this talk, I'll go over how GraphQL and Apollo could be the first full-stack system for data management. With GraphQL as a language for specifying data requirements and Apollo as a set of technologies to orchestrate getting that data to the right place, you can build apps using React or any other framework in a fraction of the time it used to take.
First, we'll go over what makes data management difficult in modern apps. Then, we'll go over how GraphQL provides a valuable base for describing APIs and fetching data. We'll look into how Apollo takes advantage of that base to make it easy to implement all of the data management features you need in your app. Finally, we'll talk about how to incrementally adopt these technologies into your existing architecture to start getting the benefits of GraphQL and Apollo without having to modify your current APIs.
Key takeaways:
How GraphQL and Apollo fill in the data management gaps in today's modern frontend frameworks like React, Vue, and Angular
What you can easily do with GraphQL and Apollo, and how it compares to previous approaches like REST APIs and Redux
How to get started implementing GraphQL and Apollo in your existing React + Redux + REST app to start getting a better developer experience and faster performance right away
演讲题目:GraphQL和Apollo:现代App的完整数据管理解决方案
摘要:
React,Vue和Angular等现代前端框架解决了开发人员用于构建复杂用户界面的许多问题。使用组件构建代码,创建出色的动画和创建一致的设计系统比以往任何时候都容易。不幸的是,这些框架对于如何加载和管理数据没有明确的建议,无论是客户端状态还是来自后端API的数据都没法很好的管理。
在这次演讲中,我将介绍GraphQL和Apollo如何成为第一个用于数据管理的全面系统。使用GraphQL作为指定数据需求的语言,Apollo作为一组技术来协调将数据安排到正确的位置,您可以在短时间内完成React或任何其他框架构建应用程序的任务。
首先,我们将回顾一下在现代应用中数据管理困难的原因。然后,我们将继续介绍GraphQL如何为描述API和提取数据提供有价值的基础。我们将研究Apollo如何利用该基础,轻松实现您应用中所需的所有数据管理功能。最后,我们将讨论如何逐步将这些技术应用到现有架构中,以开始获得GraphQL和Apollo的优势,而无需修改当前的API。
听众受益:
GraphQL和Apollo如何填补当今现代前端框架(如React,Vue和Angular)中的数据管理空白
您可以轻松使用GraphQL和Apollo,以及它如何与之前的方法(如REST API和Redux)进行比较
如何开始在现有的React + Redux + REST应用程序中实施GraphQL和Apollo,以便马上获得更好的开发人员体验和更快的性能
PPT链接:下载
《大前端趋势之下的驱动力》
邹达 / APICloud联合创始人兼CTO
讲师简介:
邹达,10年浏览器引擎及移动应用引擎开发经验,参与过国内外多款浏览器引擎、JavaScript引擎和移动应用引擎的开发工作,混合开发技术的倡导者和布道师,是国内最早一批进行Web与Native技术融合的实现者。JavaScript全栈工程师,是APICloud云端一体平台的技术架构设计者,对于大规模、高并发的云端服务开发有着丰富的实战经验。
演讲简介:
大前端时代下的融合发展,离不开强大中台的支撑,更需要大量开发经验的积累,而面对大前端未来的技术变革,APICloud联合创始人兼CTO邹达,将从“API赋能”以及“混合开发崛起”两方面展开阐述,剖析如何实现API的聚合化、标准化与前端化,分享在混合开发技术实际应用和发展中,产品化、平台化和生态化的重要发展阶段。
PPT链接:下载
《使用Flutter快速构建集美观与高性能于一体的移动应用》
于潇 / Google Flutter团队高级工程师
讲师简介:
谷歌高级工程师,现专职于Flutter框架的开发。于过去7年中先后致力于不同移动平台的软件开发。加入谷歌后,曾负责过YouTube安卓前端的开发,创建了YouTube每天服务数亿观看小时的客户端播放模块, 并显著提高YouTube平台视频的综合播放速度,成功实现每天减少数百年总延迟时间的成果。
演讲简介:
Sharing engineering resources across multi-platform development has been a well-known and vexing challenge for the software industry in both small and large enterprises.
Multiple generations of solutions of diverse approaches has also come to the market in the past years as a testament to our devotion in the search for a better development workflow.
In this track, we’ll explore the radical new angle Google’s Flutter framework is taking in tackling this issue as well as its take on changing mobile UI development in general.
As a fellow engineer, the speaker will also share the impact this new framework is having for his daily development workflow.
如何合理分配多平台软件开发中的工程资源长期以来一直是各种规模的软件公司所面临的一个难点。在过去的几年中科技行业也出现过多种针对这个问题的解决方案。在这个演讲中,我将与各位一起探索谷歌研发的Flutter针对这类问题的创新思路、解决方式及其发展进程,同时我们也将系统了解Flutter对移动界面开发领域的影响与改善。
同样作为移动软件开发者的演讲人也将与大家分享Flutter给他日常工作中带来的启发与灵感。
演讲提纲:
1.当前移动软件开发中的阻碍
2.Flutter的项目背景与研发设计路线
3.Flutter的性能与特点
4.系统构架
5.Flutter的使用体验
(1)热更新
(2)UI组建
(3)软件设计的表达能力
(4)系统平台的适应能力
(5)软件集成
(6)运行性能
(7)用户界面测试
6.社区
听众收益:
1.了解当今移动软件终端用户与软件开发行业市场的需求
2.了解Flutter针对以上需求的解决方式与路线
3.了解Flutter的系统结构与开发使用体验
PPT链接:下载
《Cloud Studio Beta 2.0 发布》
张海龙 / CODING 创始人&CEO
讲师简介:
张海龙,技术创业者,十多年来一直在技术圈、开发工具领域耕耘, 2014 年创办 CODING ,给企业用户提供 SaaS 软件研发管理工具,将代码编写、代码托管、一键部署、协作管理等工具一体化,让整个开发过程都可以在浏览器中实现。
演讲简介:
现场将发布 Cloud Studio Beta 2.0 版本。Cloud Studio 将打造开发环境的生态系统,开发者在 Cloud Studio 里编辑好的环境可以保存上传到市场,其他开发者可以使用你配置的环境进行开发,并为此付费。现场演示下一代的研发工具,展现 Cloud Studio 带来未来的想象空间。
听众受益:了解并直观感受 Cloud Studio 及 Cloud Studio 未来的发展方向。
PPT链接:下载
《基于多项目的离线缓存实现方案》
刘弟新 / 掌众集团技术总监
讲师简介:
刘弟新,先后服务于宇龙、百度,拥有7年智能手机移动端操作系统开发经验,在平安金融科技有3年的互联网金融科技的系统架构开发经验。2017年加入掌众后,现任海外产品技术负责人。
演讲简介:
海外多个项目因网络环境不乐观,导致离线缓存技术迫切需要应用。针对多项目特点,我们实现了离线缓存打包、更新、应用等方案,本次演讲将分享:
1、为什么需要离线缓存?
2、离线缓存的方案介绍。
3、项目离线缓存方案设计。
4、我们遇到了哪些问题?如何实现解决?PPT链接:下载
《前端团队的成长性探讨》
高磊 / 百度Web前端技术部总监
讲师简介:
高磊,现百度Web前端技术部总监,有近10年的Web前端技术开发、管理经验。所负责的技术团队经历了Web前端几代技术变革,参与了几乎所有搜索前端相关项目,在性能优化、开发效率、工程化架构选型上都有丰厚的产出。从2016年开始,致力于繁荣Open Web生态的相关工作,推进MIP、PWA以及其他Web前沿技术在国内的落地。
演讲简介:
前端工程师在互联网发展中不可缺席,同时大多数的前端工程师团队也会有天花板低、个人作为前端角色成长后期受限的问题。作为从业11年的前端工程师以及多年的前端工程师团队管理,通过以下内容希望能给大家带来一些新的思考角度:
1、前端团队职责的思考;
2、技术与业务的结合;
3、个人与团队,个人与企业之间如何更加高效的合作。
听众收益:
前端工程师个人能力发展方向及路径的思考。
前端团队在业务导向下发展路径的思考。
PPT链接:下载
注:由于讲师所在企业限制,不对外公布
大话多终端/跨平台开发、HyBrid App、AR(解决方案专场)
随着移动技术和互联网技术的多元化发展,移动应用程序出现在诸多领域,移动应用开发成为 一个关键问题。本次GMTC解决方案专场,聚焦跨平台应用开发落地实践、多终端架构设计、AR技术、前后端分离等话题,在实战经验中剖析移动创新技术的突破,共同解读技术解决方案与趋势。
《多终端应用下的架构设计》
赵泽彬 / 国双科技可视化平台敏捷BI部前端负责人
讲师简介:
赵泽彬,毕业于山东大学,就职于国双科技技术部,可视化平台敏捷BI部前端负责人,国双前端技术委员会主席。对可视化应用在产品和架构设计上有深入的研究和丰富的实践经验。
演讲简介:
主题摘要:
如何在业务面向不同终端、产品快速升级迭代过程中在技术上形成高效支撑,研发效能得到释放,是一直以来思考的问题。 本次演讲会从多终端业务演化的视角,分享如何通过对技术架构的调整,实现从业务到技术上的沉淀,使得产品的迭代速度得到提升,研发团队效能得以释放。听众受益:
多终端同构业务下的架构设计
团队技术成长与业务发展结合的思考
PPT链接:下载
《如何开发优质Hybrid App》
尚德聚 / APICloud前端技术负责人
讲师简介:
APICloud前端技术负责人,APICloud开发技术的资深实践者。主要负责处理解决项目中的疑难技术问题,APICloud实战技术的深入研发及技术培训和技术普及工作。曾参与《30天App开发从0到1》书籍实战案例的编写工作,并带领APICloud技术团队完成多个不同领域的App开发工作,对使用Hybrid技术开发App有着丰富的实战经验。
演讲简介:
主题摘要:
在快速迭代的互联网战场中,高效开发一款低成本产品,是每个应用开发团队获胜的关键法宝。此时,选择合适的应用类型和开发模式则至关重要。作为 Native App和Web App的“混血儿”,Hybrid APP以其开发效率高和开发成本低等特点,逐渐成为当今主要的一种移动应用开发模式。 APICloud APP开发团队致力于开发优质的Hybrid App,本次演讲将针对Hybrid App的性能问题,讲解APICloud对移动端Hybrid App的性能体验优化方法,并分享APICloud对于如何开发出一款优质Hybrid App的一些经验心得。本次演讲将分享:
1、正确认知Hybrid App
- Hybird App不是万能的
- 哪些应用项目适合使用Hybrid App技术进行开发
2、 Hybrid App开发前需要做哪些工作
3、提高Hybrid App性能体验的开发原则
- 图片的处理优化
- 按钮的处理优化
- 列表的处理优化
- 原生UI控件与页面HTML元素间的平衡处理
- 屏幕的动态适配
- 逻辑运行性能优化
- Web Worker的使用
- 数据的处理优化
- 灵活运用Native和web技术
4、注意提高Hybrid App的应用数据安全
5、开发人员的自身技术修养
听众受益:
1、加深对Hybrid App的全面了解
2、了解移动端Hybrid App的性能体验优化方法
3、了解Hybrid App的应用安全处理
PPT链接:下载
《基于Djinni的跨平台C++移动开发的实践分享》
蒋伟 / RingCentral铃盛软件资深研发负责人
讲师简介:
RingCentral铃盛软件资深研发负责人,负责Glip Mobile项目,带领团队完成Glip Mobile项目快速迭代开发,并荣获第14届Stevie® Awards国际企业奖移动通信类金奖。
2006年毕业后从事Mobile开发领域,曾在中兴通讯、Orange、西祠胡同等任研发经理。热衷于函数式编程、DevOps、持续集成。
演讲简介:
主题摘要:
如何选择一个节约开发成本的跨平台方案并且不牺牲用户体验,这是很多技术负责人的一道难题。
RingCentral是统一通信服务全球领导者,本次演讲将以其旗舰通信工具Glip移动客户端为例,分享研发团队的在做“统一通信解决方案”时如何在不牺牲用户体验的前提下,从技术选型、基础组件、项目集成,真正实现了写一次代码,跨平台使用,从而大幅提高产品的性能、可用性及维护能力。
Djinni 是Dropbox开源的一个用来生成跨语言的类型声明和接口绑定的工具,主要用于 C++ 和 Java 以及Objective-C 间的互通。RingCentral从2015年中开始研究djinni,至今90%的业务逻辑实现了代码复用,逻辑共享,本次GMTC大会,我们会分享一些实践经验,为大家在选择跨平台方案上提供一条全新的思路。
本次演讲将分享:
1、Glip Mobile项目产品背景
- RingCentral主要业务
- Glip mobile的战略意义
2、Djinni跨平台方案
- Djinni是什么
- 为什么选择djinni
- 系统架构
- 开发流程
3、通用能力组件介绍
- 网络
- 数据库
- 日志
- crash监控
4、实践经验
5、性能优化
听众受益:
1、提供了一套全新的移动App跨平台的解决方案
2、djinni常见的问题以及解决方案
3、使用djinni的开发最佳实践
PPT链接:下载
《AR技术在58速运中的应用》
马健 / 58速运移动研发部总负责人&架构师
讲师简介:
2008年从大学毕业后一直从事互联网工作,先后在2008.6-2010.10:清华世纪教育有限责任公司,2010.10-2012.6:搜狐及58同城工作,2012-2017年在58同城,现在在58速运,平时爱好新技术的研究,在对物流行业有一定了解后,加入58速运公司,尝试使用技术来改变同城货物运输的流程,提高运输的效率。
对移动端开发有深入的了解,对手持设备在未来的发展有着积极乐观的看法,也相信移动设备在未来生活中会发挥更大的作用。
演讲简介:
主题摘要:
在智慧物流行业中,解决货物与货车的匹配是一个比较麻烦的问题,尤其是在58速运这样一个以解决同城货物运输的业务里,能够精确实现两者的匹配不仅提高货车空间的使用率,也提高了整个运输的效率;
通过AR技术,结合图片为货车进行一次精确的测量,同时将货车空间与之进行对比,能够解决上述的问题;
方案支持安卓和iOS两个平台,采用EasyAR和ARKit引擎,对货物进行了分析和测量,实现货物与货车空间的匹配。
本次演讲将分享:
1、从AR看虚拟和现实的界线
2、AR的空间感知
1)SLAM定位
2)体积的识别
3、AR的渲染
1)模型的建立
2)模型的渲染
4、MarkLess识别
5、AR与58速运的结合
听众受益:
1、了解AR的发展;
2、了解智慧物流的业务痛点;
3、了解AR引擎的使用。
PPT链接:下载
Node.js、前后端分离实战(解决方案专场)
随着移动技术和互联网技术的多元化发展,移动应用程序出现在诸多领域,移动应用开发成为 一个关键问题。本次GMTC解决方案专场,聚焦跨平台应用开发落地实践、多终端架构设计、AR技术、前后端分离等话题,在实战经验中剖析移动创新技术的突破,共同解读技术解决方案与趋势。
《去哪儿网 Node.js 实践及性能监控方案》
兴百放 / 去哪儿网前端业务方向负责人
讲师简介:
兴百放,曾就职于高德。2014年加入去哪儿网,经历了各种前后端分离方案的实践。负责去哪儿网APP端 Hybird 方向的业务支撑,以及在公司内部推动 Node.js 技术体系建设。目前专注于 Node.js 性能和监控方向的一体化解决方案。
演讲简介:
主题摘要:
去哪网很早就开始在前后端分离方面做了很多不同的尝试,包括从前端(Javascript)到后端(Java)完全项目分离,到前端写部分页面逻辑(Java),然后同步到后端(Java),再到前端使用 Node.js ,后端完全提供数据的生产等一系列方案。现在内部正在尝试使用 eggjs 作为项目框架,结合 React SSR 做页面同构渲染,首屏直出。
同时,在应用发布、应用部署、机器监控、应用监控、性能监控等方面也做了一些实践,从而建立一套完整的健全的生态体系。
本次演讲将分享:
去哪儿网三种前后端分离方案。
Node.js + SSR
- Node.js 发布和部署
- Eggjs 实践以及插件开发
- React SSR 实践
- 应用监控
- 后端应用指标(系统错误数,接口指标)
- 前端日志错误统计(js/css/image/自定义错误)
听众受益:
1、了解去哪儿网前后端分离的解决方案。
2、分享我们在 Node.js 方面所做的一些探索,包括发布、部署、性能、监控。
3、分享在 SSR 方面所做的一些尝试。
PPT链接:下载
《前后端分离在APICloud的实践》
申成波 / APICloud大客户技术总监
讲师简介:
资深全栈开发人员。曾参与APICloud网站的前端架构开发工作及多个大型项目的全栈架构开发工作。对于项目开发的敏捷化和规范化有深入理解,并对前端技术保持大量的好奇心,积极参与前端新技术在内部的推广落地。
演讲简介:
主题摘要:
从当前来讲,前后端分离相关的实践日渐成熟,并且成为互联网项目开发的业界标准使用方式。但是整体上的分离,因为相关框架的完善还会隐藏大量细节。本次分享主要介绍APICloud网站架构开发时的技术挑战,及实践前后端分离所做的一些思考。
本次演讲将分享:
- 基础类库的选择
- 路由相关思考
- Node对前后端分离带来的思考
- https遇到的坑
- 架构的后续
- 对比当前的前后端分离实践
听众受益:
1、更好的理解前后端分离
2、更清楚地认识到现在的SPA框架为我们处理那些细节
3、对架构有比较清晰的认知
PPT链接:下载
4、思考
工作5年来,一直投身于 iOS 开发,而这5年来移动开发一直再追赶web前端和后端开发的技术栈和思想,近2年大家直接说:“大前端”,移动开发真正变成了“UI”前端的开发,而web前端借助 Node 开始转了后端开发?正是借着这些变化,我一直在思考,一直在疑问,直到看了一些 GMTC 课程,就像命悬一线的人一下子打通了任督二脉,练习武功不再于形式,需要提升认知的境界!这是一个神奇的世界,一个最好的时代!最“坏”的时代!
正如上述,观看演讲和PPT时,至少要看懂题目,如果没有看懂,就提前准备相关知识,否则有一些技术或专场可能完全听不懂!渐渐的学习未知的世界~
参考
- GMTC2018全球大前端技术大会
- GMTC北京2018幻灯片下载合集
- GMTC全球大前端技术大会(北京站)2019
- GMTC北京2019PPT下载合集
- GMTC 2019 全球前端技术大会 | MySlide - 专注PPT分享,追随SlideShare和SpeakerDeck的脚步
- 参加 GMTC 2019 全球大前端技术大会你有什么收获? - 知乎
- 如有疑问,欢迎在评论区一起讨论!
- 如有不正确的地方,欢迎指导!
> 注:本文首发于 [iHTCboy's blog](https://iHTCboy.com),如若转载,请注来源