2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

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

评论

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

反垄断之下 区块链迎来新生?

CECBC

区块链

久等了,Rancher 2.5中文文档新鲜出炉

Rancher

容器 k8s

北漂七年Java开发的一路辛酸史:面试腾讯、阿里、美团、字节后的一点心得

Java架构之路

Java 程序员 架构 面试 编程语言

JustSwap交易所系统APP开发|JustSwap交易所软件开发

系统开发

【mybatis-plus】什么是乐观锁?如何实现“乐观锁”

Java架构师迁哥

区块链发展的3个必经阶段究竟是什么

CECBC

去中心化

京东技术解密

田维常

京东

如何使用数据仓库?

数据社

数据仓库 七日更

一直在云上的星空联盟,“真”上云了

亚马逊云科技 (Amazon Web Services)

云计算 AWS

第十周课后练习

晴空万里

极客大学架构师训练营

2021年阿里、腾讯、百度、华为、京东、美团和滴滴最新Java面试题汇集!

Java架构之路

Java 程序员 架构 面试 编程语言

字节跳动开源云原生机器学习平台 Klever

字节跳动技术团队

学习 字节跳动

金融知识图谱的构建与应用

DataFunTalk

AI 知识图谱

第五周作业

胡益

附PPT丨广东移动智慧中台能力运营实践

dbaplus社群

中台 中台战略

Spring源码高级笔记之——Spring AOP应用

Java架构师迁哥

Presto入门

Albert

presto 七日更

字节跳动自研「BVC2.0」视频编码器在 MSU 2020 中获得四项第一

字节跳动技术团队

字节跳动 视频编码

亚马逊 CTO 预测 2021 将改变世界的八大技术趋势:云加速向边缘推进

亚马逊云科技 (Amazon Web Services)

云计算 AWS

职责链模式

soolaugust

设计模式 七日更 职责链模式

大厂offer直通车:并发编程28题+JVM21题+Redis 16题+Java集合22题

Java架构之路

Java 程序员 架构 面试 编程语言

微服务网关的技术架构

积极&丧

第五周学习心得

cc

第十周学习总结

晴空万里

极客大学架构师训练营

星环科技作为信通院隐私计算联盟成员亮相2020数据资产管理大会

星环科技

大数据

一个月吃透这份阿里高级专家的《Java500道面试手册》成功拿下了腾讯offer!

Java架构之路

Java 程序员 架构 面试 编程语言

第五周命题作业

cc

浅谈优秀工程师的成长因素

数据社

程序员 七日更

“区块链+”产业生态雏形已现 安全监管逐步完善

CECBC

区块链 区块链生态

史上最全1000道Java高频面试题:集合、IO流、多线程、网络、算法、Git、设计模式、springboot

Java架构之路

Java 程序员 架构 面试 编程语言

面试被问:JDBC底层是如何连接数据库的?

田维常

JDBC

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