HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

评论

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

python好用的函数或库

AIWeker

Python 人工智能 5月月更

实践GoF的23种设计模式:建造者模式

华为云开发者联盟

Go 设计模式 GoF 建造者模式

5分钟速览证券行业财富管理转型新趋势

易观分析

证券市场

墨天轮最受DBA欢迎的数据库技术文档-SQL优化篇

墨天轮

MySQL 数据库 oracle postgresql

疫情时代如何提高办公效率?

小炮

服务器运维省钱省事省心安全就用行云管家!

行云管家

服务器 行云管家 服务器运维

中国联通改造 Apache DolphinScheduler 资源中心,实现计费环境跨集群调用与数据脚本一站式访问

白鲸开源

大数据 开源 Apache DolphinScheduler workflow apache 社区

加盟自助洗车需要营业执照吗

共享电单车厂家

自助洗车加盟 加盟自助洗车

自助洗车加盟都要注意哪些事项

共享电单车厂家

自助洗车加盟 自助洗车机厂家 自助洗车品牌

网站开发进阶(三十六)String.getBytes()方法中的中文编码问题解决总结

No Silver Bullet

编码 5月月更 getBytes

开发板上新抢先知!居然可以用来跑游戏?

HarmonyOS开发者

开发板 HarmonyOS

一个小操作,SQL查询速度翻了1000倍。

TiDB 社区干货传送门

Github首次开放,一天遭狂转 50w 次,大厂内部不外传的 100 万字 Java 面试手册

爱好编程进阶

Java 程序员 后端开发

给大家科普下如何加盟自助洗车

共享电单车厂家

自助洗车加盟 自助洗车怎么加盟 如何加盟自助洗车

文章插图汇总

武师叔

如何制作网站的在线帮助中心

小炮

帮助中心

全球云服务支出持续攀升,中国云安全市场进入黄金期

行云管家

云计算 网络安全 公有云 云服务 云平台

购买自助洗车机时都要注意哪些

共享电单车厂家

自助洗车机多少钱 自助洗车机价格 自助洗车加盟 购买自助洗车机

Consul的基本使用与集群搭建

神农写代码

用上这个 Mock 神器,让你的开发爽上天!

Liam

前端 前端开发 Postman Mock Mock 服务

Redis命令HSCAN踩坑指南

Qunar技术沙龙

dba

GitHub上标星120K,Alibaba官网发布了这份Java全栈知识体系手册

爱好编程进阶

Java 程序员 后端开发

龙蜥正式开源 SysOM:百万级实战经验打造!一站式运维管理平台 | 龙蜥技术

OpenAnolis小助手

开源 操作系统 龙蜥社区 SysOM 系统运维SIG

网站开发进阶(三十三)中文字符编码问题解决总结

No Silver Bullet

异常 5月月更 中文编码

JavaScript class类的基本使用方法你知道吗

CRMEB

手把手带你用Zabbix进行操作系统监控

博文视点Broadview

揭秘百度智能测试在测试自动生成领域的探索

百度Geek说

测试

第1章-Spring的模块与应用场景

码匠

Java Spring Framework

【国产免费】分布式作业批处理ETL平台TASKCTL变量属性设置

敏捷调度TASKCTL

大数据 DevOps 分布式 自动化运维 TASKCTL

FPGA(3)--VHDL及原理图--4位全加器

爱好编程进阶

程序员 后端开发

开家自助洗车房需要投资多少钱

共享电单车厂家

自助洗车加盟 开自助洗车店多少钱 开家自助洗车房

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