写点什么

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

  • 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:0016838

评论

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

中台和多云管理是伪问题?运维要集体下岗了吗?

火线安全

DevOps 云原生 云安全

融云直播 SDK 升级,让直播「PK」起来

融云 RongCloud

直播 IM 场景化

OpenHarmony 3.1 Beta版本关键特性解析——探秘隐式查询

OpenHarmony开发者

OpenHarmony 隐式查询

内存之旅——如何提升CMA利用率?

OpenHarmony开发者

内存 OpenHarmony

译文《Java并发编程之volatile》

潘大壮

并发编程 volatile 后端 Java EE

Linux云计算之linux grep命令详解

学神来啦

云计算 Linux 运维 grep

安全Linux 内核提权漏洞分析

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

百度希壤元宇宙平台上线首个汽车数字展厅,领克探索汽车营销新方式

百度开发者中心

雄安新区设立四周年,看天翼云以数字底座托起未来之城

天翼云开发者社区

VuePress 博客之 SEO 优化(六)站长工具

冴羽

Vue 前端 vuepress SEO 博客搭建

墨天轮访谈 | Pika数据库陈磊:云时代下,键值数据库是否会被替代?

墨天轮

数据库 KV存储引擎 国产数据库

恒源云(GpuShare)_这个春天,GpuShare与你同行

恒源云

抗疫

限量独家!濒危动物数字藏品免费发放!

百度开发者中心

开学季 | 飞桨AI Studio课程学习,小白也可以成为一名优秀的算法工程师!

百度开发者中心

公有云市场百舸争流!天翼云稳居第一梯队,进入领导者象限

天翼云开发者社区

QoS 设计:车联网平台消息传输质量保障|车联网平台搭建从入门到精通 04

EMQ映云科技

物联网 IoT mqtt coap emq

以太坊的扩容革命:ETH2.0

不登山的小鲁

以太坊 扩容 Ethereum eth eth2.0

融云互联网通信安全揭秘之链路安全

融云 RongCloud

网络安全

春分耕种时,AI“现身”田间地头

百度开发者中心

天翼云成为首个加入openGauss社区的运营商云

天翼云开发者社区

信通院推出数字化赋能者新标准天翼云获评数字化转型赋能服务集体

天翼云开发者社区

Docker Build时的安全问题

火线安全

Docker 云原生 云安全 docker build

DevOps落地思考

火线安全

DevOps 云原生 云安全 DevOps认证

跑马灯带你深入浅出TextView的源码世界

vivo互联网技术

android 源码分析 TextView

多场景推进 服务网格在联通的落地实践(下)

百度开发者中心

企业在线产品宣传册应该如何设计?

小炮

产品宣传手册

一文来了解关于分布式锁的那些事儿

Linux服务器开发

redis 分布式 分布式锁 Linux服务器开发 Linux后台开发

Gartner发布中国IaaS PaaS市场服务报告,天翼云强势入选

天翼云开发者社区

Rust 用于移动开发的几种方式

非凸科技

Java c++ Python rust 量化

2022年最热门的招聘技术技能是什么,您绝对想不到

禅道项目管理

项目管理 开发技能

长连接网关技术专题(七):小米小爱单机120万长连接接入层的架构演进

JackJiang

网络编程 websocket 即时通讯 网关 长连接

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