查看原文
其他

【新开源报道 26】滴滴开源基于 Vue.js 的移动端组件库 cube-ui

2017-12-01 开源最前线
开源最前线(ID:OpenSourceTop) 猿妹 整编

综合自:https://didi.github.io/cube-ui/



继 6 月份开源 Android 端插件化框架 VirtualAPK 后,滴滴近日又开源了第二个项目 —— 基于 Vue.js 实现的移动端组件库 cube-ui 。 


移动端组件库 cube-ui


授权协议:Apache

开发语言:JavaScript

操作系统:跨平台

开发厂商:滴滴

Github:https://didi.github.io/cube-ui/


cube-ui 简介


cube-ui 是由滴滴开源的基于 Vue.js 实现的移动端组件库。


cube-ui 具有如下功能特性:

● 质量可靠:由滴滴内部组件库精简提炼而来,历经考验,并且每个组件都有充分单元测试,为后续集成提供保障。

● 体验极致:以迅速响应、动画流畅、接近原生为目标,在交互体验方面追求极致。

● 标准规范:遵循统一的设计交互标准,高度还原设计效果;接口标准化,统一规范使用方式,开发更加简单高效。

● 扩展性强:支持按需引入和后编译,轻量灵活;扩展性强,可以方便地基于现有组件实现二次开发。



cube-ui 基础组件


Button:按钮,提供了各种类型、样子、状态以及图标。

Checkbox 复选框:复选框,可设置其状态、传入特殊 class 以及复选框图标位置。

CheckboxGroup 复选框组:复选框组就是一组复选框,主要用来选择一组可选项;有垂直和水平两种样式。

Loading 加载中:加载,提供了可自定义大小的加载动画。

Tip:提示,用于弹出提示气泡框。通过在 Tip 组件上添加 ref 属性,获得对于组件的引用,然后调用 Tip 组件向外暴露出来的 show、hide 方法来控制组件的显示或隐藏。



cube-ui 弹层组件


Popup 弹层:底层弹层组件,主要用于基于此组件实现上层组件封装,只提供了基础功能:指定类型、是否有背景层、显示内容(HTML)以及是否居中。

内置所有的弹层类组件都是基于此组件实现,包括:Toast、Picker、TimePicker、Dialog、ActionSheet。

Toast:Toast组件主要用于非模态信息提醒,如显示时间设置,无需用户交互。

Picker组件:Picker组件支持多列选择器及数据联动。

TimePicker组件:TimePicker组件提供了常用的日期选择功能。

Dialog:Dialog模态框组件,提供了多种样式及交互形式。

ActionSheet:ActionSheet操作列表提供了两种常见的样式,灵活可控内容。



cube-ui 滚动组件


Scroll 滚动:滚动列表,提供了优质的原生滚动体验,便捷的配置项和事件,是一个基于better-scroll进行封装的组件。

Slide 幻灯片:轮播图,提供了常见的轮播及swipe的功能,也是一个基于better-scroll进行封装的组件。

IndexList 索引列表:索引列表,提供了列表索引的功能,也是一个基于better-scroll进行封装的组件。


滚动类组件都是基于 better-scroll 实现,而 Scroll 组件就是对 better-scroll 的封装。



cube-ui 其他模块


除了组件之外,cube-ui 还有一些特殊的模块。

style:样式部分,如果你是在按需引入使用的场景下,那么建议在入口文件处也要引入这个模块,因为它包含基础的 reset、基础通用样式以及内置 icon。

create-api:有些时候,开发者可能也需要自己封装的组件支持 API 式调用,此时可以通过引入 create-api 模块或者通过全局的 Cube.createAPI 接口来达到封装目的。

better-scroll:组件库依赖的一个库,为了避免重复引入问题,我们暴露出了这个模块。



快速上手


安装



cube-ui 搭配 webpack 2+ 支持后编译和普通编译 2 种构建方式(默认使用后编译),使用前都需要修改应用的依赖和配置。


使用


全部引入,一般在入口文件中:




按需引入:



注意: 按需引入的话,是不会打包基础样式部分的,所以在使用的时候需要引入 style 模块。


示例



附:新开源报道汇总

《【新开源报道 24】Google 开源 Docker 镜像差异分析工具 container-diff》

《【新开源报道 24】美团点评开源MySQL闪回工具 —— MyFlash》

《【新开源报道 23】IBM 推出首套开源现代化字体 —— IBM Plex》

《【新开源报道 22】Microsoft 开源用于 VS Code 的 Java Debugger》

《【新开源报道 21】阿里开源容器技术Pouch和P2P文件分发系统“蜻蜓”》

《【新开源报道 20】Uber正式开源其分布式跟踪系统Jaeger》

《【新开源报道 19】Uber与斯坦福大学开源深度概率编程语言Pyro》

《【新开源报道 18】谷歌开放内部工具 Colaboratory 来协助 AI 开发》

《【新开源报道 17】这波开源满分!清华大学开源网络嵌入的工具包 —— OpenNE

《【新开源报道 16】AI开发者福音!微软亚马逊联合发布深度学习库 Gloun》

《【新开源报道 15】谷歌发布量子开源软件,量子计算机对科学家免费开放 》

《【新开元报道 14】微软开源用于Spark的深度学习库MMLSpark》

《【新开源报道 13】Facebook 开源帮助开发者消灭最顽固的软件 bug 的工具》

《【新开源报道 12】不只是阿里巴巴的操作系统,AliOS 宣布开源》

《【新开源报道 11】重磅!阿里巴巴正式开源全球化OpenMessaging和ApsaraCache项目》

《【新开源报道 10】IBM 和谷歌等巨头联手为开发者推出开源容器安全工具Grafeas》

《【新开源报道 9】Google开源Abseil,为C++和Python开发提供支持》

《【新开源报道 8】serverless 领域的福音!Oracle 宣布开源 Fn project》

《【新开源报道 7】苹果在 GitHub 上公布 macOS 和 iOS 内核源码》

《【新开源报道 6】百度开源移动端深度学习框架mobile-deep-learning(MDL)》

《【新开源报道 5】百度正式开源其 RPC 框架 brpc》

《【新开源报道 4】IBM 开源动态的应用服务器运行时环境 Open Liberty》

《【新开源报道 3】微信后台团队最近开源力作:PhxQueue分布式队列》

《【新开源报道 2】喜大普奔!阿里即将开源 ApsaraCache,云数据库 Redis 版分支》

【新开源报道 1】腾讯 Web UI 解决方案 QMUI Web 正式回迁开源》



●本文编号99,以后想阅读这篇文章直接输入99即可

●输入m获取文章目录

↓↓↓ 点击"阅读原文" 进入GitHub详情页 

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存