Hybrid框架UI重构之路:四、分而治之

简介:

上文回顾:Hybird框架UI重构之路:三、工欲善其事,必先利其器

上一篇文章有说到less、grunt这两个工具,是为了css、js分模块使用的。UI框架提供给使用者的时候,是一个大的xxx.js、xxx.css,但在开发时候,必须划分模块。

CSS模块划分

1.variables.less

这里面是一些样式的变量、函数

例:

字体:

@baseFontSize:          20px;

圆角:

.rounded-corners (@radius: 5px) {
  border-radius: @radius;
  -webkit-border-radius: @radius;
  //-moz-border-radius: @radius;
}

用法:

复制代码
body{
  font-size: @baseFontSize;
}
input {
  .rounded-corners (6px);
}
复制代码

PS:less中单行注释不会显示在编译后的css中。

2.reset.less

重置样式

3.base.less

全局基础样式

4.layout.less

布局样式

UI框架收集两种布局。一种是弹性布局,弹性布局最大的优点就是能充分利用屏幕空间。无论客户端分辩率多大,都能自动适应宽度的变化; 一种是bootstrap 12栏布局,12栏布局特点是栏目跟栏目之间有固定的间隙。

4-1.layout-page.less

页面结构的样式,header、content、footer、aside(侧边栏)等样式。

4-2.layout-scene.less

这里写一些场景式结构的样式,登陆页、搜索栏、九宫格等样式。

5.components.less

各个控件、组件的样式。

6.external.less

其他样式。

 
JS模块划分

属于UI框架的是module、plugin,模块划分在这两个文件夹里,其他是依赖库。

module和plugin的区别是什么?

我认为是他们两个都是可重用模块,区别就在于module是UI框架必不可少或经常使用的,而plugin是根据不同场景才使用的。

module里面东西,划分参照了Jingle,做了相应的调整。

plugin是插件

这里面是一系列的原生功能接口(二维码、通知等)、一些前端控件。可以看到我里面使用gmu的两个控件(不是最新版本)。

 

总结
我之所以将模块划分作为单独的一章,是在于强调模块化的重要性。
1.代码更加清晰、易开发、易维护
2.用户项目可以选择适合的模块生成css、js框架依赖库,减少文件体积,提高加载速度
 
本文为原创文章,转载请保留原出处,方便溯源,如有错误地方,谢谢指正。
 
转载:http://www.cnblogs.com/lovesong/p/4297067.html
目录
相关文章
|
ARouter 索引
|
ARouter Java API
组件化框架设计之手写组件化架构(五)
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680本篇文章将通过手写组件化架构;路由框架原理与实现来阐述组件化框架设计 此次手写架构,解决的问题是: 1、让 App内 各个功能模块能够独立开发单元测试,也可以 所有模块集成打包,统一测试 独立开发更改gradle.properties的配置,使得每个功能模块都成为application, 可以独立打包成apk,单独运行。
|
Java Maven 项目管理
带你读《ODL技术内幕:架构设计与实现原理》之二:ODL项目管理设计详解
ODL不仅仅是一个SDN控制器平台,它还是一个优秀的模型驱动架构实现,以及一个典型的分布式系统设计范例。通过ODL,我们能学习的不仅仅是SDN,也能学到其通用的编程技术及软件架构设计,其分布式系统设计实现也非常值得我们借鉴。
16364 0
|
Java 数据格式 XML
带你读《ODL技术内幕:架构设计与实现原理》之三:ODL基本对象的设计与实现
ODL不仅仅是一个SDN控制器平台,它还是一个优秀的模型驱动架构实现,以及一个典型的分布式系统设计范例。通过ODL,我们能学习的不仅仅是SDN,也能学到其通用的编程技术及软件架构设计,其分布式系统设计实现也非常值得我们借鉴。
13757 0
|
前端开发 JavaScript
Flutter高内聚组件怎么做?阿里闲鱼打造开源高效方案!
作者:闲鱼技术-海潴 --fish_redux是闲鱼技术团队打造的flutter应用开发框架,旨在解决页面内组件间的高内聚、低耦合问题。开源地址:https://github.com/alibaba/fish-redux 从react_redux说起 redux对于前端的同学来说是一个比较熟悉的框架了,fish_redux借鉴了redux单项数据流思想。
2938 0
|
图形学
如何理解Unity组件化开发模式
Unity的开发模式核心:节点和组件,组件可以加载到任何节点上,每个组件都有 gameobject 属性,可以通过这个属性获取到该节点,即游戏物体。 也就是说游戏物体由节点和组件构成,每个组件表示物体的一种特性(能力)。
2404 0
|
移动开发 安全 测试技术
开篇 | 模块化与解耦式开发在蚂蚁金服 mPaaS 深度实践探讨
你理解的模块化与解耦式开发应该是什么样的呢?
3199 0
|
监控 Android开发
Android组件化开发实践(二):组件化架构设计
先说说我自己的组件化架构设计方案,请看下图: 组件化架构设计图 图中可以看到,从上往下分为4层:APP壳工程、常规业务组件层、基础业务组件层、基础功能组件层。
3110 0
|
关系型数据库 数据库 数据安全/隐私保护
|
数据库 开发框架 关系型数据库

热门文章

最新文章