写点什么

去哪儿网跨端小程序开发实践谈

  • 2019-08-15
  • 本文字数:1132 字

    阅读完需:约 4 分钟

去哪儿网跨端小程序开发实践谈

ArchSummit深圳2019大会上,钟钦成(司徒正美)讲师做了《去哪儿网跨端小程序开发实践谈》主题演讲,主要内容如下。


演讲简介


两年前,微信小程序横空出世,及小米直达号联合其他手机商摇身一变,推出快应用,在这个互联网寒冬中,去哪儿网敏锐抓住机会,迅速推出去哪儿微信小程序与快应用,以一套代码加语法宏的方式进行开发, 取得不俗的收益,日收入百万级别。


一年前,其他小程序也冒出来了,显然这意味新的商业机会,但旧的开发方式已经无法进行下去(宏里面太多分支),因此去哪儿网开发了自己的转译框架 nanachi,实现一套代码运行于 N 个平台(微信,QQ 轻应用,头条,抖音,钉钉 E 应用,支付宝,百度,快应用,H5)。


本次分享介绍研发心得,大家耳熟能详的转译部分(babel 的 API 的调用)会略过,但会展示更加有用的信息,及在框架无法 hold 住的情况下处理措施。


演讲提纲


1、框架的研发细节


  • React 代码如何转换成小程序的代码

  • React 组件实例如何匹配相同页面上相同位置的小程序实例,实现数据的同步与视图的刷新

  • API 的兼容与 Promise 化

  • 针对个别平台的标签差异开发出补丁组件,在编译阶段无感支持这种标签

  • 样式单位的转译

  • 对事件进行统一委托,解决传参与 bind(this)与数据上传


2、框架外的技术文案(需要开发人员手动添加额外代码,或进行某方面的约束)


  • 针对平台的限制或体积的限制,需要将某个页面或频道放到 webview 中,开发出智能 webview 方案

  • iconfont 的跨平台处理

  • 根据不同平台打包业务代码

  • 拆库开发,方便多条业务线同时开发

  • 通过与各大公司的技术人员洽谈,协商加入某些 API,减轻兼容难度

  • 如何设计跨端的目录结构

  • 快应用的兼容问题


听众受益


1、对项目负责人来说,了解一下各种小程序的收益情况(微信>快应用>支付宝>百度),了解兼容难度,市面上有各种号称非常不错的转译框架,其实只能解决 60%的问题,于是才有了各种补丁方案,如何在框架无能为力的情况进行自救。从项目实施来讲,我的建议有三点:


  • 必须有 backup 方案

  • 如果决定上线,必须提前研发,不一定等到推广费到位,因为坑多

  • 加强与大公司技术人员的沟通


2、对开发者,可以了解到众多平台的差异与相应的解决方案。


讲师介绍


钟钦成(司徒正美)


去哪儿 架构师


网名司徒正美,拥有 11 年纯前端经验,涉猎多种语言与设计模式,精通 DOM 与 JS 各种黑魔法,精通选择器引擎、模块加载器、MVVM。著有《JavaScript 框架设计》一书,去哪儿网平台事业部前端架构师,人民出版社 Web+DB Press 中文版编委会编委!


开发过选择器引擎,前端模板,富文本选择器,甘特图 H5,多套 UI 库。主要开源项目有:mass、avalon、anujs、jsx-parser、fetch-polyfill、nanachi 多端小程序转译框架。












完整演讲 PPT 下载链接


https://archsummit.infoq.cn/2019/shenzhen/schedule


2019-08-15 00:0016859

评论

发布
暂无评论
发现更多内容

架构实战营:模块一作业

Geek_93ffb0

「架构实战营」

区块链等技术将为中欧跨境电商带来革新以及助力城市产业转型升级

CECBC

焱融 YRCloudFile 连获两项重量级认证,展现强劲存储实力!

焱融科技

云计算 分布式 云原生 高性能 文件存储

漏洞检测方法如何选?详解源代码与二进制SCA检测原理

华为云开发者联盟

安全 漏洞 软件成分分析 源代码SCA检测 二进制SCA检测

你看到什么是因为要你看到什么

mtfelix

28天写作

1-1聚合架构第二讲:企业架构的认知历程

钰湚—付晓岩

企业架构 软件工程 数字化转型 软件架构 业务架构

低代码平台是伪需求?不好意思,你的同行已经靠它完成转型升级了!

J2PaaS低代码平台

低代码 低代码开发 低代码开发平台 低代码平台

如何对Android 11进行网络状态监听

Changing Lin

12月日更

浪潮云跻身中国政务大数据管理平台市场领导者位置

云计算 云计算运维

安全第二话

张老蔫

28天写作

青藤:一招制敌!微隔离,让勒索软件不再横行

青藤云安全

低代码实现探索(五)前端组件图形化脚本

零道云-混合式低代码平台

架构训练营-模块一作业

zhongwy

架构实战营

【架构实战营】模块六

衣谷

架构实战营

普普通通的Route

Time-sun

flutter

6.《重学JAVA》--数据类型

杨鹏Geek

Java 25 周年 28天写作 12月日更

如何处理工作与生活之间的冲突?

石云升

28天写作 职场经验 12月日更

TypeScript 之模板字面量类型

冴羽

JavaScript typescript 翻译 大前端

7个连环问揭开java多线程背后的弯弯绕

华为云开发者联盟

Java 多线程 工作内存 主内存

震惊!大势已来!!区块链的真正价值是什么?

CECBC

基于RPA的自动化优先,正在成为广大组织的主流管理思维

王吉伟频道

RPA 机器人流程自动化 业务流程管理 自动化优先 业务流程自动化

选课排课软件原生开发选课排课小程序模式源码开发

风行无疆

低代码实现探索(三)后台模型执行设计

零道云-混合式低代码平台

低代码实现探索(四)前端组件核心模型

零道云-混合式低代码平台

拆分电商系统为微服务

Beyond Ryan

基于云的技术架构设计实践 - 第3篇

hackstoic

签约计划第二季 业务安全

华为云数据库GaussDB(for Influx)揭秘第二期:解密GaussDB(for Influx)的数据压缩

华为云开发者联盟

数据库 时序数据库 GaussDB(for Influx) 时序数据 数据压缩

实用机器学习笔记六:数据清理

打工人!

机器学习 算法 学习笔记 12月日更 实用机器学习

如何建成有效的前端效能度量体系

benyasin

大前端 研发效能 研发度量 研发提效

谈谈创业感想

wood

创业 28天写作

聚合架构第一讲:开篇啦

钰湚—付晓岩

企业架构 软件工程 数字化转型 软件架构 业务架构

去哪儿网跨端小程序开发实践谈_ArchSummit_钟钦成(司徒正美)_InfoQ精选文章