赞
踩
https://github.com/wuba/wwto
3.简介: wwto是58同城推出的一种小程序跨端迁移解决方案,可以近乎零成本将微信小程序转为其他小程序,提升开发效率、降低维护成本。目前已经投入了我们的生产环境中使用,包括微聊、云账号。 wwto于2020年3月份开源,具备以下特点:为什么需要wwto
在微信 小程序的大火大热背景下,各大互联网公司相继加入小程序流量混战,陆续推出了自己的小程序平台。 但目前开发者面临了困境: 各个大厂的小程序均有自己的语法结构、API体系等,开发者需要把同一个应用分别开发N次,效率低下,在不同平台间迭代功能繁琐。 为了提升开发效率、改善开发体验,以58 TEG技术实力,开发了一整套小程序迁移解决方案, 取名wwto( wuba wechat mini-program to other mini-program)。一套代码、多端适用,为业务方赋能,用技术手段造福小程序开发者。 对比业界现有微信转其他小程序的工具antmove,wwto不仅支持小程序的转换,还支持插件的迁移。对比多端统一开发框架taro,wwto无需引入框架和框架带来的风险,比如更新维护比原生小程序团队滞后甚至停滞、框架支持不了但原生小程序能支持的功能、性能肯定也会有损耗、额外的学习成本等。项目架构
wwto分为3层结构:编译层、运行层和集成层,架构图如下所示: 1. 编译层 编译层:将微信小程序语法结构集中处理,编译成目标小程序的语法体系。 流程图如下: 2. 运行层 运行层:以微信小程序的API为基准分别适配目标平台的API,抹平不同小程序之间的差异。 适配规则: 1. 微信拥有的API,但其他平台没有对应的情况:由于平台之间的不兼容,降级为空方法; 2. 其他平台和微信接受的参数名不同,做参数映射; 3. 其他平台和微信API的返回值不同,做结果封装或结果映射; 4. 一样的API不作处理。 适配过程: 首先,小程序内部全局对象替换为对应平台的全局对象;其次,设立一个平台的特定标识,如has_ali_hook_flag,用于辨别目标平台;最后编写兼容。 3. 集成层几种典型的问题
核心优势
开源意义&未来规划
开源意义: 目前小程序生态日渐繁荣和完善,很多公司都推出了各个平台的小程序,多端小程序的开发和维护都耗时耗力,此项目可以帮助开发者快速从微信小程序生成其他平台的小程序。未来规划:wwto会进一步的提高转换平台的支持力度,保证转换功能稳定可用。同时在社区的共同建设下,会提供更多平台的转换支持,更多新特性&API的转换支持,完善小程序的开发者社区生态。
如何贡献&问题反馈
在小程序标准化统一落实之前,wwto继续履行着跨端迁移的使命。 而 开源则只是wwto贡献社区的一小步,我们现向广大开发者发出诚挚的邀请,与我们一道共同建设,为小程序开发的效率提升与优雅迁移不断努力。 您可以在 https://github.com/wuba/wwto 了解项目源码 、使用方法、启动方式等。欢迎提交 PR 或者 Issue,向我们反馈建议和问题。 作者简介 李中秋,58同城 基础体验技术部 前端资深开发工程师,主要负责前端工具链建设、通用中台系统的开发。 想了解更多开源项目信息? 与项目成员零距离交流? 扫码加小秘书微信 一切应有尽有 微信号 : jishu-58 添加小秘书微信后由小秘书拉您进项目交流群 live沙龙活动直播2020年58技术沙龙活动在线直播第一弹——《大数据平台建设实践与探讨》系列第四期已准备就绪,欢迎你强势围观!
详情?请戳?图片查看,3月14日本周六19:00,老时间,我们不见不散。
END
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。