Chameleon - 滴滴出品的一套代码多端运行的小程序开发工具
开发一套代码,多个小程序平台运行,又多了一个优秀的选择。
小程序多端开发工具
Chameleon 是由滴滴出品的小程序开发工具,主要解决微信、头条、抖音、QQ、百度等平台各自推出自己小程序以及配套的开发规范,导致前端开发者地狱般的开发痛点。Chameleon 统一了跨端开发的标准协议,开发者只需要使用一种规范进行开发即可编译到多个平台。
Chameleon 的名字也很有意思,中文意思是变色龙,寓意就像变色龙一样能适应不同环境的跨端整体解决方案。
Chameleon 特性
- 开发效率高。独创强大的跨多端语法检查功能,拥有业内优秀工程化设计
- 可维护性好。独创多态协议,轻松维护一套代码实现跨多端
- 渐进式接入。一键导出原生组件,无污染引用原生组件
- 扩展性强。基于多态协议,可扩展任意底层接口,不强依赖框架的更新
- 基础库丰富。统一的 CML Native SDK,丰富的组件、API 库
- 多端高度一致。统一的代码、界面交互、开发流程,多层次高度统一
开发体验和选型建议
目前各个公司都在推出自己的小程序,以抢占更多流量入口,导致了跨端开发的严重碎片化。面对入口扩张,主端、独立端、微信小程序、支付宝小程序、百度小程序、安卓厂商联盟快应用等,单一功能在各平台都要重复实现,开发和维护成本成倍增加。
虽然不同各端环境千变万化,但万变不离其宗的是 MVVM 架构思想,离不开 HTML + CSS + JS 。同样道理,chameleon 中采用的是 CML + CMSS + JS,同时,CML 支持使用类VUE语法,让使用 Vue 的开发者更快入手。
目前 chameleon 被商用在滴滴包括打车、顺风车、代驾、青桔单车等多个业务线上,像芒果TV、百度视频等大流量平台也在使用。代码开发一次,多个平台运行,是前端开发者的梦想。但现实往往是开发一次,到处调 BUG。
面对多端运行的产品需求,我一直是 uni-app 忠实拥趸,不同的是 uni-app 对编译到安卓和 iOS 有更强劲的支持,但为了抹平这些开发标准,uni-app 的团队做了很大的努力,文档很详细,阅读量也非常大,实际开发中也存在不计其数的问题,小部分借助官方文档和社区解决,大多都需要自行研究解决。
chameleon 内置了丰富的组件,整体风格类似滴滴,这些组件整合各端组件共有属性,是通用的,当然也可以自行开发组件。初步上手体验 chameleon,如果只开发小程序,文档量较小、规范限制严格从而更快更稳定的角度来看,觉得可以考虑转为使用 chameleon。
免费开源说明
Chameleon 基于 Apache-2.0 协议进行分发和使用,任何个人或商业机构都可以免费下载开发使用,包括商用。