地点:大宴会厅3

专题:前端进阶

重点聚焦在前端性能优化、质量提升和工程化。

by Kevin Cheung

AutoDesk
Software Architect

AutoCAD is a computer-aided design desktop software application that was first released in 1982. With the advent of the internet age, there comes a need to extend AutoCAD's capabilities to the browser. However, the massive, complex, and constantly changing code base makes it impractical to rewrite everything in JavaScript. Therefore, the question remains: Can we really find an elegant way to leverage AutoCAD on the Web?

Enter WebAssembly! A compilation target for languages such as C/C++ that runs on modern browsers. For the first time in history, legacy code bases can now run on the Web at near native speed with the help of the Emscripten compiler. Nevertheless, there are mismatches between the programming paradigms of the desktop and Web world which greatly complicate the porting effort. Some of these include the use of synchronous blocking calls and shared memory on the desktop.

The goals of this session are two-fold. Firstly, the solutions for overcoming the above challenges will be explored in the context of existing Web APIs. Secondly, both the build time and performance implications of porting such a large code base will be addressed as well. As such, this talk will be helpful for developers who aspire to reuse their legacy software on the Web.

by 杨凯(亚顿)

阿里巴巴
高级前端专家

从虚拟机到容器化,从 SOA 到微服务,我们正在走向更加轻量化、更具灵活性的解决方案。在该背景下,当我们面临项目发布时,仍需要部署应用和安装依赖的各种软件,关心究竟需要多少台服务器以支撑线上浏览。有没有一种更轻量的架构,使我们从这些繁琐的工作中解放出来,从 DevOps 转向 NoOps?

对于前端开发人员,采用 Serverless 理念对 BFF 层进行改造,使这一切成为了可能,零配置即可完成项目的发布上线,同时极大的降低运维成本。除此之外,还将分享作为前端开发人员,在基于 Serverless 理念的基础上,针对开发者的开发以及用户的使用体验上做的一系列探索和创新实践经验。

演讲提纲:

  1. 介绍什么是 BFF,前端为什么需要 BFF 以及其目前存在什么痛点
  2. 介绍 Serverless 及 FaaS、BaaS 的基本理念
  3. 介绍前端是如何结合 Serverless 理念,应用在 BFF 中以提高生产力
  4. BFF in Serverless 的应用场景及实际案例分析

听众受益:

  1. 什么是 BFF,其在前后端分离背景下存在的缺陷是什么
  2. 什么是 Serverless,为什么说 Serverless = FaaS + BaaS
  3. Serverless 对前端的价值是什么,前端如何应用

by 程柳锋

腾讯
高级工程师、IVWEB团队成员

NOW 直播、腾讯直播团队从十余人的前端小团队迅速发展成为40人的大前端团队。在这期间,业务百花齐放,随之而来的是团队的开发、发布和协作等一系列问题:业务项目越来越多,且类型不同,如活动类、组件类; 技术栈各异,如 React 项目、ReactNative 项目、Node.js 项目、小程序项目等;规范、约束难以统一,如 Git 提交规范、Javascript 规范等;发布链路长,缺乏一键部署、版本自动升级的能力。

本次主题将依托腾讯 NOW 直播产品,谈谈我们从项目创建、本地开发、打包构建、到发布的整个链路的思考和实践,团队工具链、规范等开发配套设施的建设。以及在这个过程中,遇到的一些问题和挑战。

演讲提纲:

  1. 本地开发:基于 CLI/GUI 的开发方式和工具的插件化可插拔设计;
  2. 发布:腾讯前端发布系统演变历程和基于 CI/CD 的发布链路设计;
  3. 工具链:组件平台、监控平台、数据 Mock 服务、图片压缩等常用工具整合;
  4. 规范:Git、JavaScript、Readme、CR 和发布 CheckList 等各类规范制定和实施方法;

听众受益:

  1. 项目创建、本地开发、打包构建、发布的前端工作流最佳实践;
  2. 如何高效的制定团队开发规范并实施落地;
  3. CLI、GUI 工具的开发思路和实用技能;
  4. 搭建适合业务团队的前端工程体系。

by 黄建磊(宁家)

钉钉
桌面前端负责人

钉钉(DingTalk)是中国领先的智能移动办公平台,由阿里巴巴集团开发,免费提供给所有中国企业,用于商务沟通和工作协同,目前注册用户超过1亿,注册组织超过750w家。如此规模体量,对我们的技术架构、开发效率、稳定性提出了巨大的考验。

曾有人说过,前端的框架稳定性是3个月,架构稳定性是6个月,语言稳定性是1年。听起来可能有点激进,但是,从某种程度上也反应了前端领域所面对的问题域和环境在不断的变化。桌面前端也未曾避免。

钉钉桌面端也同步经历了 Angular1.x 的 SPA 1.0 时代到 NW.JS 的2.0时代。今天钉钉进入 3.0 时代——Hybird App 模式,基于 Chromium Embedded Framework (CEF) 的混合 App。网络,数据交给 Native C++ 处理,交互 UI 密集型,追求高开发效率的场景用前端来承接。

复杂异步数据流之间的竞争和协作一直是企业级应用要面对的第一大问题。区别于普适前端应用的面向接口编程,企业级应用的最大特点是领域模型驱动开发,交织错乱的现实业务逻辑通过领域模型进行数字化建模,领域模型之间的竞争和协作又可以映射到异步数据流之间的竞争和协作。而钉钉,在面对这个难题时,依托 Rxjs 强大的响应式编程模型,构建通用、场景等不同粒度的业务流模型,再通过 redux-observable对React tree 之外的副作用进行管理,解决这个问题的同时,也沉淀了业务场景,大大提升了架构的扩展性。

企业级应用的稳定性要求堪比金融级。钉钉是业务工作的基础设施,如果钉钉不稳定,对企业的工作伤害会非常大。同时,在钉钉开发团队,我们提倡的是 TDD,我们的测试同学只有3个,而迭代速度保持每三周一个版本。那我们该如何保障稳定性呢?从自测驱动开发,到严格的 CR 机制,再到分阶段监控模型,通过完善我们的质量保障体系,确保钉钉稳定性。

最近两年,前端领域最火的词应该是‘小程序’吧?这个中国人原创的技术体系,极大的提升了开发者的体验和效率,扩展了生态,帮助用户获得更好、更安全的产品。钉钉也不例外,确切的说钉钉桌面端也不例外。钉钉是国内少有的拥有小程序桌面端的应用,越来越多的业务使用小程序,这也为我们带来了新的课题,现有的 Hybird 应用如何可以快速的赋能小程序动态化?在此基础上,我们提出了逻辑编排的概念,将其与 UI 进行独立。

演讲提纲:

  1. 钉钉桌面整体架构
  2. 钉钉桌面前端
  3. 整体架构
  4. 复杂异步数据之间的竞争和协作---基于Rxjs的数据流模型
  5. 稳定性治理---基于分阶段监控的330模型
  6. 赋能小程序---逻辑编排层的思考和实践
  7. 挑战和规划

听众受益:

  1. 了解桌面前端的技术衍变;
  2. 了解企业应用的复杂性;
  3. 了解前端在处理复杂应用的方法论和具体实践。

交通指南

© 2019 Baidu - GS(2018)5572号 - 甲测资字1100930 - 京ICP证030173号 - Data © 长地万方
想要批量报名或更多优惠?
立即联系票务报名小助手豆包
或致电:010-84780850