使用Chameleon制作移动端多平台前端开发入门

版权声明:技术交流群:758191639 作者支付宝18696232390喜欢的可以打钱! https://blog.csdn.net/u014131617/article/details/86689472

1.概念

1.介绍

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

2.背景

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

3.设计理念

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

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

4.跨端目标

不同各端环境千变万化,万变不离其宗的是 MVVM 架构思想,Chameleon 目标是让MVVM跨端环境大统一。
在这里插入图片描述

5.学习全景图

在这里插入图片描述

6.开发语言

从事过网页编程的人知道,网页编程采用的是HTML + CSS + JS这样的组合,同样道理,chameleon中采用的是 CML + CMSS + JS。

JS语法用于处理页面的逻辑层,与普通网页编程相比,本项目目标定义标准MVVM框架,拥有完整的生命周期,watch,computed,数据双向绑定等优秀的特性,能够快速提高开发速度、降低维护成本。

CML(Chameleon Markup Language)用于描述页面的结构,我们知道HTML是有一套标准的语义化标签,例如文本是 按钮是。CML同样具有一套标准的标签,我们将标签定义为组件,CML为用户提供了一系列组件。同时CML中还支持模板语法,例如条件渲染、列表渲染,数据绑定等等。同时,CML支持使用类VUE语法,让你更快入手。

CMSS(Chameleon Style Sheets)用于描述CML页面结构的样式语言,其具有大部分CSS的特性,并且还可以支持各种css的预处语言less stylus。

通过以上对于开发语言的介绍,相信你看到只要是有过网页编程知识的人都可以快速的上手chameleon的开发。

2.安装

1.安装环境

安装构建环境

npm i -g chameleon-tool

安装成功后,执行 cml -v 即可查看当前版本, cml -h查看命令行帮助文档。

2.创建项目与启动

执行 cml init project
输入项目名称
在这里插入图片描述
等待自动执行npm install依赖
切换到项目根目录执行cml dev
会自动打开预览界面 预览界面如下:

在这里插入图片描述

3.目录与文件结构

├── chameleon.config.js                 // 项目的配置文件
├── dist                                // 打包产出目录
├── mock                                // 模拟数据目录
├── node_modules                        // npm包依赖
├── package.json
└── src                                 // 项目源代码
    ├── app                             // app启动入口
    ├── components                      // 组件文件夹
    ├── pages                           // 页面文件夹
    ├── router.config.json              // 路由配置
    └── store                           // 全局状态管理

官方文档https://cmljs.org/doc/quick_start/quick_start.html

猜你喜欢

转载自blog.csdn.net/u014131617/article/details/86689472
今日推荐