链氪巴士
  1. 首页
  2. 站点导航
  3. 文章
  4. 快讯
  5. 软件
  6. 书刊
  7. 关于

didi/chameleon:一套代码运行多端的跨端解决方案

Chameleon(简写CML,中文名卡梅龙)是一个跨端整体解决方案。它旨在让一套代码在多端(如web、各种小程序、安卓和iOS的weex等)运行且一端所见即多端所见。开发语言采用CML + CMSS + JS,CML用于页面结构描述,CMSS用于样式描述,JS用于逻辑处理。它...

访问官网 →

【Github】项目名:didi/chameleon – 一套代码运行多端的跨端解决方案

项目简介

Chameleon(简写CML,中文名卡梅龙)是一套跨端整体解决方案。它的目标是让一套代码能够在多端(如web、微信小程序、支付宝小程序、百度小程序、android(weex)、ios(weex)、qq小程序、字节跳动小程序、快应用等)运行,做到一端所见即多端所见,多端高度一致,无需关注各端文档。其基于多态协议,在不影响各端差异化灵活性的基础上,从多端业务中抽离出“前端中台服务”。

核心技术

开发语言方面,采用CML + CMSS + JS的组合。其中,CML(Chameleon Markup Language)用于描述页面结构,有一套标准标签(组件)且支持模板语法,类似HTML并支持类VUE语法;CMSS(Chameleon StyleSheets)用于描述样式,具备大部分CSS特性并支持css预处理语言;JS用于处理逻辑层,定义标准MVVM框架,拥有完整生命周期、watch、computed、数据双向绑定等特性。Chameleon采用与Vue一致的组件化方案、单文件组织方式、生命周期,数据响应能力对齐Vue,数据管理能力对齐Vuex。

它提供了丰富的组件(如buttonswitchradiocheckbox等内置组件和c – pickerc – dialogc – loading等扩展组件),还提供丰富的API库(发布为npm包chameleon – api,涵盖网络请求、数据存储、地理位置、系统信息、动画等方法)。基于多态协议可自由定制API和组件,各端原始项目组件可直接引入跨端项目。同时具备代码规范校验功能,编辑器和命令行启动窗口会对不符合规范代码进行提示。

项目总结

Chameleon是一个很有潜力的跨端解决方案,不仅能实现一套代码多端运行,还在多方面保障了开发的便捷性和多端的一致性。欢迎大家在评论区留言讨论这个项目的更多可能性或者分享使用经验。

项目地址

GitHub链接直达