web前端,移动开发规范概述

以下规范建议,均是Alloyteam在日常开发过程中总结提炼出的经验,规范具备较好的项目实践,强烈推荐使用

字体设置

使用无衬线字体

body {
    font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif;
}

iOS 4.0+ 使用英文字体 Helvetica Neue,之前的iOS版本降级使用 Helvetica。中文字体设置为华文黑体STHeiTi。 需补充说明,华文黑体并不存在iOS的字体库中(http://support.apple.com/kb/HT5878), 但系统会自动将华文黑体 STHeiTi 兼容命中系统默认中文字体黑体-简或黑体-繁

Heiti SC Light 黑体-简 细体 (iOS 7后废弃)
Heiti SC Medium 黑体-简 中黑
Heiti TC Light 黑体-繁 细体
Heiti TC Medium 黑体-繁 中黑

原生Android下中文字体与英文字体都选择默认的无衬线字体

4.0 之前版本英文字体原生 Android 使用的是 Droid Sans,中文字体原生 Android 会命中 Droid Sans Fallback
4.0 之后中英文字体都会使用原生 Android 新的 Roboto 字体
其他第三方 Android 系统也一致选择默认的无衬线字体

基础交互

设置全局的CSS样式,避免图中的长按弹出菜单与选中文本的行为

a, img {
    -webkit-touch-callout: none; /* 禁止长按链接与图片弹出菜单 */
}
html, body {
    -webkit-user-select: none;   /* 禁止选中文本(如无文本选中需求,此为必选项) */
    user-select: none;
}

移动性能

要考虑Android低端机与2G网络场景下性能 注意!

发布前必要检查项

  • 所有图片必须有进行过压缩
  • 考虑适度的有损压缩,如转化为80%质量的jpg图片
  • 考虑把大图切成多张小图,常见在banner图过大的场景

加载性能优化, 达到打开足够快

  • 数据离线化,考虑将数据缓存在 localStorage
  • 初始请求资源数 < 4 注意!
  • 图片使用CSS Sprites 或 DataURI
  • 外链 CSS 中避免 @import 引入
  • 考虑内嵌小型的静态资源内容
  • 初始请求资源gzip后总体积 < 50kb
  • 静态资源(HTML/CSS/JS/Image)是否优化压缩?
  • 避免打包大型类库
  • 确保接入层已开启Gzip压缩(考虑提升Gzip级别,使用CPU开销换取加载时间) 注意!
  • 尽量使用CSS3代替图片
  • 初始首屏之外的静态资源(JS/CSS)延迟加载 注意!
  • 初始首屏之外的图片资源按需加载(判断可视区域) 注意!
  • 单页面应用(SPA)考虑延迟加载非首屏业务模块
  • 开启Keep-Alive链路复用

运行性能优化, 达到操作足够流畅

  • 避免 iOS 300+ms 点击延时问题 注意!
  • 缓存 DOM 选择与计算
  • 避免触发页面重绘的操作
  • Debounce连续触发的事件(scroll / resize / touchmove等),避免高频繁触发执行 注意!
  • 尽可能使用事件代理,避免批量绑定事件
  • 使用CSS3动画代替JS动画
  • 避免在低端机上使用大量CSS3渐变阴影效果,可考虑降级效果来提升流畅度
  • HTML结构层级保持足够简单
  • 尽能少的使用CSS高级选择器与通配选择器
  • Keep it simple

在线性能检测评定工具使用指南

  • 访问 Google PageSpeed 在线评定网站
  • 在地址栏输入目标URL地址,点击分析按钮开始检测
  • 按 PageSpeed 分析出的建议进行优化,优先解决红色类别的问题
时间: 2024-08-03 23:03:39

web前端,移动开发规范概述的相关文章

基于gulp的前端框架开发规范

前端开发及相关规范 - 基于gulp的前端框架开发规范 1.前端开发工具的安装和使用说明 前端开发工具的目录结构 htmlcodeBuilder - v0.9 ├── statics ├── html //静态文件开发 ├── js // 非require引入的js文件 ├── Lib // 第三方JS包 ├── ve_2_1 // ├── css // 样式目录 ├── fonts // bootstrap的图标字体 ├── img // 图片目录 ├── less // less源码 ├──

前端的开发规范

前端的开发规范 版权声明:本文为CSDN博主「weixin_41640944」的原创文章,遵循CC 4.0 by-sa版权协议,附上本声明. 原文链接:https://blog.csdn.net/weixin_41640944/article/details/89462053 本文主要从以下几个方面来概述前端的开发规范 目录构建规范 前端命名规范 前端工作规范 开发文档的书写规范 1. 前端目录构建规范 我们从命名原则.根目录.业务逻辑等方面进行目录构建 1.1 命名原则: - 简洁明了(如下:

学好WEB前端之HTML 规范

摘要 优秀的项目源码,即使是多人开发,看代码也如出一人之手.统一的编码规范,可使代码更易于阅读,易于理解,易于维护 HTML 规范 缩进 统一两个空格缩进 命名规范 class 应以功能或内容命名,不以表现形式命名: class 与 id 单词字母小写,多个单词组成时,采用中划线-分隔: 使用唯一的 id 作为 Javascript hook, 同时避免创建无样式信息的 class: DOCTYPE 声明 HTML 文件必须加上 DOCTYPE 声明,并统一使用 HTML5 的文档声明: <!D

Web 移动开发规范概述

字体设置 使用无衬线字体 原文地址: http://www.hpboys.com/520.html body { font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif; } iOS 4.0+ 使用英文字体 Helvetica Neue,之前的iOS版本降级使用 Helvetica.中文字体设置为华文黑体STHeiTi. 需补充说明,华文黑体并不存在iOS的字体库中(http://support.apple.com/k

移动开发规范概述

以下规范建议,均是Alloyteam在日常开发过程中总结提炼出的经验,规范具备较好的项目实践,强烈推荐使用 字体设置 使用无衬线字体 body { font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif; } iOS 4.0+ 使用英文字体 Helvetica Neue,之前的iOS版本降级使用 Helvetica.中文字体设置为华文黑体STHeiTi. 需补充说明,华文黑体并不存在iOS的字体库中(http://su

《移动Web前端高效开发实战》笔记1——静态布局在移动端上的自适应

1.整体缩放 整体缩放可以用在营销活动页,营销活动可能因为设计美观需求必须使用背景图片而非背景色,因此需要考虑背景图适应屏幕大小.开发者可以用320像素的宽度作为基础宽度(高度可以固定),然后通过计算实际文档宽度来进行相应缩放. 使用整体缩放布局开发的项目在加载过程中需要监听resize事件,代码如下: window.addEventListener('resize',document.body.clientWidth / 320); 除此之外,开发者需要在缩放的节点上添加transform-o

《移动Web前端高效开发实战》笔记3--代码检查任务

在项目的开发过程中,统一的代码风格对于项目的可协作性以及可维护性来说相当重要,因此可以采用一些插件来进行代码风格的检查. 本例中的源文件包含两类:Sass文件和采用ECMAScript 6规范的JavaScript文件.在Gulp中,采用gulp-eslint和gulp-sass-lint插件来分别进行检测. 1.代码检查任务中,采用开源的JavaScript验证工具ESlint进行处理,执行任务前需要先全局安装ESLint,命令如下: npm install eslint –g 2.在项目目录

《移动WEB前端高级开发实践@www.java1234.com》——3

React Flux: Flux将一个应用分成四个部分. View: 视图层 Action(动作):视图层发出的消息(比如mouseClick) Dispatcher(派发器):用来接收Actions.执行回调函数 Store(数据层):用来存放应用的状态,一旦发生变动,就提醒Views要更新页面 Flux 的最大特点,就是数据的"单向流动". 用户访问 View View 发出用户的 Action Dispatcher 收到 Action,要求 Store 进行相应的更新 Store

《移动Web前端高效开发实战》笔记2——使用Gulp构建一个ECMAScript 6和Sass应用

8.3.1 安装和配置 运行Gulp需要Node.js环境,请参看第二章内容搭建Node.js环境.使用NPM全局安装Gulp,命令如下: npm install gulp-cli –g 然后,在项目根目录下创建package.json文件,命令如下: npm init 根据引导配置项目信息.然后安装Gulp依赖包,命令如下: npm install gulp –save-dev 在项目根目录下,创建gulpfile.js文件,内容如下: var gulp = require("gulp&quo