Chameleon/kəˈmiːlɪən/,简写CML,中文名卡梅龙;中文意思变色龙,意味着就像变色龙一样能适应不同环境的跨端整体解决方案。

CML 即 多端

支持平台:web、微信小程序、支付宝小程序、百度小程序、android(weex)、ios(weex)、qq 小程序、字节跳动小程序、快应用、持续更新中

一端所见即多端所见——多端高度一致,无需关注各端文档。

基于多态协议不影响各端差异化灵活性

背景

研发同学在端内既追求 h5 的灵活性,也要追求性能趋近于原生。面对入口扩张,App 客户端、微信小程序、支付宝小程序、百度小程序、Android 厂商联盟快应用、其他类小程序,单一功能在各平台都要重复实现,开发和维护成本成倍增加。迫切需要维护一套代码可以构建多入口的解决方案,滴滴跨端解决方案 Chameleon 终于发布。真正专注于让一套代码运行多端。

设计理念

软件架构设计里面最基础的概念“拆分”和“合并”,拆分的意义是“分而治之”,将复杂问题拆分成单一问题解决,比如后端业务系统的”微服务化“设计;“合并”的意义是将同样的业务需求抽象收敛到一块,达成高效率高质量的目的,例如后端业务系统中的“中台服务”设计。

而 Chameleon 属于后者,通过定义统一的语言框架+统一多态协议,从多端(对应多个独立服务)业务中抽离出自成体系、连续性强、可维护强的“前端中台服务”。

跨端目标

虽然不同各端环境千变万化,但万变不离其宗的是 MVVM 架构思想,Chameleon 目标是让 MVVM 跨端环境大统一

多端高度一致

深入到编程语言维度保障一致性,包括框架、生命周期、内置组件、事件通信、路由、界面布局、界面单位、组件作用域、组件通信等高度统一

丰富的组件

在用 CML 写页面时,chameleon 提供了丰富的组件供开发者使用,内置的有button switch radio checkbox等组件,扩展的有c-picker c-dialog c-loading等等,覆盖了开发工作中常用的组件。

丰富的 API

为了方便开发者的高效开发,chameleon 提供了丰富的 API 库,发布为 npm 包chameleon-api,里面包括了网络请求、数据存储、地理位置、系统信息、动画等方法。

自由定制 API 和组件

基于强大的多态协议,可自由扩展任意 API 和组件,不强依赖框架的更新。各端原始项目中已积累大量组件,也能直接引入到跨端项目中使用。

基于强大的多态协议,充分隔离各端差异化实现,轻松维护一套代码实现跨多端

智能规范校验

代码规范校验,当出现不符合规范要求的代码时,编辑器会展示智能提示,不用挨个调试各端代码,同时命令行启动窗口也会提示代码的错误位置。

渐进式跨端

既想一套代码运行多端,又不用大刀阔斧的重构项目?不仅可以用 cml 开发页面,也可以将多端重用组件用 cml 开发,直接在原有项目里面调用。

先进前端开发体验

Chameleon 不仅仅是跨端解决方案。基于优秀的前端打包工具 Webpack,吸收了业内多年来积累的最有用的工程化设计,提供了前端基础开发脚手架命令工具,帮助端开发者从开发、联调、测试、上线等全流程高效的完成业务开发。

项目地址

官方网站:https://cmljs.org/
github地址:https://github.com/chameleon-team

关注微信公众号:互联网架构师,在后台回复:2T,可以获取我整理的教程,都是干货。

猜你喜欢

1、GitHub 标星 3.2w!史上最全技术人员面试手册!FackBoo发起和总结

2、如何才能成为优秀的架构师?

3、从零开始搭建创业公司后台技术栈

4、程序员一般可以从什么平台接私活?

5、37岁程序员被裁,120天没找到工作,无奈去小公司,结果懵了...

6、滴滴业务中台构建实践,首次曝光

7、不认命,从10年流水线工人,到谷歌上班的程序媛,一位湖南妹子的励志故事

8、15张图看懂瞎忙和高效的区别

9、2T架构师学习资料干货分享

推荐一个滴滴开源的跨端整体解决方案!相关推荐

  1. 前端 domparser未定义怎么解决_开源|wwto:小程序跨端迁移解决方案——微信转其他小程序...

    开源项目专题系列 (二) 1.开源项目名称:wwto 2.github地址: https://github.com/wuba/wwto 3.简介:wwto是58同城推出的一种小程序跨端迁移解决方案,可 ...

  2. 希望大家推荐一个javaweb开源框架

    为什么80%的码农都做不了架构师?>>>    希望大家推荐一个javaweb开源框架 最近想深入学习javaweb 求推荐 转载于:https://my.oschina.net/z ...

  3. 跨端物料解决方案-织网

    文末福利:淘系前端团队 618 实践小册 NO.1 背景 随着行业业务发展,需求不断增多,并且各个行业业务各自为政,没有通用化的动力和需求,导致模块无法通用化,复用度低. 小程序成为行业运营趋势,多端 ...

  4. 穆利堂[推荐]河南郑州房地产CRM管理系统软件整体解决方案.穆穆-movno1

    [推荐]河南郑州房地产CRM管理系统软件整体解决方案.穆穆-movno1 穆穆-movno1 <!-- /* Font Definitions */ @font-face {font-famil ...

  5. android 开源fc模拟器_星标 4.5K!又一个跨端框架,腾讯开源内部跨端统一开发框架:Hippy...

    点击上方"Github中文社区",关注 看遍Github好玩的项目 大家好,我是Hub哥,每天带你学习(假装了解)一个牛逼,又很碉(沙雕),又不失节操的项目. 今天我在Github ...

  6. 腾讯开源内部跨端框架 Hippy,打磨三年,日均 PV 过亿

    12月20日,腾讯开源跨端框架 Hippy. 在腾讯内部,Hippy 已运行3年之久,跨 BG 共有 18 款线上业务正在使用 Hippy,日均 PV 过亿,且已建立一套完整生态.相较于其他跨端框架, ...

  7. java开源运维平台_推荐一个:开源自动化运维开发平台(IT Automatic Develop Platform)...

    ELVES IT Automatic Develop Platform Elves为光宇游戏运维团队开源的一套自动化运维开发平台(IT Automatic Develop Platform),面向开发 ...

  8. 推荐一个 yyds 开源项目任务管理工具

    大家好,我是宝哥! DooTask 是一款轻量级的开源在线项目任务管理工具,提供各类文档协作工具.在线思维导图.在线流程图.项目管理.任务分发.即时IM,文件管理等工具. 功能特性 可查看日历提醒事项 ...

  9. 推荐一个做分享的多端集成方案MobTech/shareSDK

    开发者文档:http://www.mob.com/wiki/detailed?wiki=ShareSDK_chanpinjianjie&id=14 这个还提供了其他功能,我只用到过他的分享 首 ...

  10. 推荐一个Android开源项目-AisenWeiBo

    Aisen微博是前同事写的一个新浪微博客户端,现在他绝对是Android大牛了, 想学习微博API使用和Material Design的朋友都可以学习一下他的代码. GitHub传送门:AisenWe ...

最新文章

  1. 【创新应用】小图像,大图景:AI彻底改变了显微镜技术
  2. JVM系列之:Contend注解和false-sharing
  3. 什么是SAP CRM里的Sales Bundle?
  4. [Jobdu] 题目1499:项目安排
  5. 【CodeForces - 1105C】Ayoub and Lost Array(线性计数dp)
  6. 一次阿里巴巴面试……
  7. 使用dmidecode获取常用的硬件信息
  8. 操作系统--文件管理
  9. python线程池和多线程
  10. 43 RBF神经网络
  11. 前端json格式转换
  12. 《工业设计史》 绪论
  13. multisim安装
  14. SQLite开源库LitePal
  15. 使用蒙特卡罗法解决道填图题目
  16. 中国itunes ip 记录
  17. 塞班s60v3手电筒sisx_塞班s60v3闪光灯手电筒软件可以发给我吗?谢谢!
  18. 驱动篇:底层驱动移植(四)(摘录)
  19. 游戏服务器列表为空,游戏服务器列表为空
  20. 从零开始学习Windows WDF驱动程序开发

热门文章

  1. 网站设计整体策划流程
  2. 数据中心局部高热处理方案
  3. empty判断0会出的问题
  4. DOM 的一些知识记载
  5. 苹果Mac白噪音软件:Noise Machine
  6. macOS Monterey Finder 的新功能
  7. js基础——function类型
  8. Flutter第七期 - 布局总结篇
  9. 2019最强Python书单,喜欢看书的小伙伴看这里!
  10. Linux shell 根据时间批量删除指定文件夹下的文件