Web Components实例:移动UI组件库GMU介绍

移动开发
GMU(Global Mobile UI)是百度前端通用组开发的移动端组件库,具有代码体积小、简单、易用等特点,组件内部处理了很多移动端的bug,覆盖机型广,能大大减少开发交互型组件的工作量,非常适合移动端网站项目。

GMU(Global Mobile UI)是百度前端通用组开发的移动端组件库,具有代码体积小、简单、易用等特点,组件内部处理了很多移动端的bug,覆盖机型广,能大大减少开发交互型组件的工作量,非常适合移动端网站项目。

特点:

  • 简单易用

    jQuery UI 使用风格,链式调用

    你只需要在页面上书写简单的html, 就可以生成丰富易用的UI组件,原来webapp的开发可以变得如此简单!

  • 轻量级

    基于zepto的mobile UI组件库

    GMU组件在轻量级的zepto上开发,组件根据功能再划分颗粒化的插件,css将骨架与皮肤拆解,你终于可以最小化按需加载啦!

  • 文档丰富,自定义下载

    丰富的文档,支持自定义下载

    GMU API文档中详细描述各组件参数、事件、方法,每个组件的demo丰富易用。你可以从git上下载代码,也可以按需自定义下载

  • 专业稳定

    专业QA团队,多平台支持

    百度专业QA团队持续跟进,上千自动化测试用例支持。开设论坛、QQ群等,支持iOS4+ / android2.1+, 支持默认/UC/QQ/Chrome等浏览器

  • 丰富实用UI组件

    基于移动端交互的丰富易用UI组件

    GMU组件包括suggestion, dialog, navigator, tabs, toolbar等14个通用组件,支持iOS4+, android2.1+,让你的移动开发不再是难题

  • 开源免费

    完全开源免费

    开源基于BSD协议,支持商业和非商业用户的免费使用和任意修改。

GMU官网:http://gmu.baidu.com/

GMU Github:https://github.com/gmuteam/GMU

如何开始使用GMU?

一、 下载GMU组件

可以自定义下载,也可以从github上下载

1、自定义组件压缩包,分为以下几个部分:

(1)Zepto扩展。此部分对Zepto做了扩展,按自己的需要勾选,组件依赖的部分在勾选组件时,会自动选择。

(2)UI基类。此部分不需要关心,勾选组件时,UI基类会自动选择。

(3)GMU组件及css。可以选择自己需要使用的组件及相关的插件,如果组件样式中带有图片,可选择是否使用base64格式的图片,下载时可以选择是否压缩和是否合并成一个js文件。样式包括骨干样式和皮肤css,可以根据需要选择theme

2、将下载的压缩包解压后,有两个文件夹:css和js,css内包含各个组件的样式表文件,js文件夹内包含Zepto库、扩展、组件的js文件。

二、 GMU的demo结构

点击这里查看GMU demo效果(在移动设备上查看或者用chrome切换user agent模拟移动设备,并打开Emulate touch events选项效果更佳),页面demo中部分css及js是demo展示效果所用,只需关系如下四部分:

1、【组件依赖css】

这部分css是组件所依赖的样式,在使用组件时必须加载,组件皮肤可以选择加载,默认皮肤是default

  1. < !--组件依赖css begin--> 
  2. < link rel="stylesheet" type="text/css" href="../../../assets/widget/gotop/gotop.css"/> 
  3. < !--组件依赖css end--> 

2、【组件依赖js】

这部分js是组件js文件及依赖js文件,在使用组件时必须加载。(以下列出的文件路劲仅供参考)

  1. < !--组件依赖js begin--> 
  2.         < script type="text/javascript" src="../../../_src/dist/zepto.js"> 
  3.         < script type="text/javascript" src="../../../_src/extend/fix.js"> 
  4.         < script type="text/javascript" src="../../../_src/core/gmu.js"> 
  5.         < script type="text/javascript" src="../../../_src/core/event.js"> 
  6.         < script type="text/javascript" src="../../../_src/core/widget.js"> 
  7.         < script type="text/javascript" src="../../../_src/widget/gotop.js"> 
  8. < !--组件依赖js end--> 

3、【页面body主体html】

这部分是页面的html主体,一些与创建demo实例有关,一部分仅是用来填充页面,如gotop组组件只用关心:

  1. < div id="gotop">< /div> 

4、【创建组件实例的script】

这部分js代码用来创建组件实例,在你自己的demo中可以仿照着写。

  1. < script> 
  2.         //创建组件 
  3.         $('#gotop').gotop(); 
  4. </script> 

还有一部分css和js,如demo展示的css,及加载demo页面切换的公共头部的js等都不用关心

三、 创建自己的Demo

1、 将GMU的css和js文件复制到自己的项目文件夹内

2、 在demo页面的顶部把相关css文件、依赖js文件、组件js文件引入,如:

  1. < head> 
  2.         < link rel="css/gotop.css" /> 
  3.         < script src="js/zepto.js">< /script> 
  4.         < script src="js/gmu.js">< /script> 
  5.         < script src="js/gotop.js">< /script> 
  6. < /head> 

3、 在页面上添加相应的html结构(若需要), 如:

  1. < div id="gotop">< /div> 

4、 创建组件实例:

  1. $("#gotop").gotop(); 

至此,就成功创建了一个GMU组件。

四、 GMU组件的创建方式

1、 setup方式

  1. $("#id").gotop([option]); 

setup方式即为组件所需的html结构(部分html,每个组件所需要的基本html参见API文档)写在页面中,通过zepto选择器选择元素后初始化组件,类似jQuery UI的使用方式。 返回值为Zepto元素,支持链式调用,调用组件的方法可以采用$('#id').gotop('method', 'parameters')这种方式,每个组件详细使用方法,见API文档。

2、 render方式

  1. new gmu.Gotop([[node,] option]); 

render方式即为通过js创建页面所需要的html结构,在初始化时将组件所需要的参数(每个组件所需要参数见API文档)传入即可。使用这种方式有2个可选参数,node为#id 或者Zepto元素,option为创建组件的JSON格式配置参数,如{useFix:true},返回值为组件实例, 调用组件方式,直接通过instance.method(param)方式传入即可。

五、 GMU的文件结构

GMU整体分为4个部分:

1、Zepto扩展。

2、UI基类。

3、组件和组件扩展。组件的主文件提供了常用和基本的功能(如gotop.js),其他个性化的功能以插件的形式提供(如gotop/$iscroll.js),当需要使用插件中的功能时,需要同时引用主文件;

4、css样式。组件的样式表与组件同名(如gotop组件的样式表为gotop.css),某些组件拆分出了骨干样式和皮肤样式,皮肤样式名称为: 组件名.XXX.css,默认样式为: 组件名.default.css,(如toolbar组件的默认样式文件为 toolbar.default.css,需要同时引用toolbar.css);

责任编辑:徐川 来源: 51CTO
相关推荐

2014-05-19 10:55:12

Web组件Web Compone

2024-02-26 09:13:35

WebComponents开源项目

2023-09-26 08:54:24

2017-11-08 21:51:49

开源Web技术

2017-11-08 15:54:21

Web移动端

2023-09-11 15:32:59

2022-04-05 13:48:04

前端组件库Web

2022-02-16 08:12:03

组件样式元素

2014-05-26 15:35:55

Web组件Web Compone

2010-04-02 17:45:22

Black Berry

2023-11-03 08:04:47

Web微前端框架

2022-02-25 10:44:38

Web前端框架

2022-02-09 20:20:30

浏览器组件化网页

2022-02-10 22:24:05

DOM结构工具

2024-11-12 13:34:25

2012-02-15 09:28:19

PSD

2009-09-04 11:10:51

开源J2ME UI库

2022-02-18 08:10:43

MyCardTemplates布局

2016-08-30 21:09:33

2024-05-06 08:36:30

Web组件开发
点赞
收藏

51CTO技术栈公众号