Skip to content
/ Yo Public

Lightweight, easy-to-use, configurable, and extensible mobile front-end development framework.

Notifications You must be signed in to change notification settings

doyoe/Yo

Repository files navigation

Yo

Yo 是一个纯粹的移动前端开发框架,专注为移动应用提供快速且专业的构建方式;她轻量,易用,可配置,并且具备超强的扩展能力。

v3 版本是 Yo 的一个新里程碑,我们将加入丰富的UI组件,让构建移动应用变得更简单。如果你对之前的 Yo 恋恋不舍,只想使用她的样式,v3及后续版本 仍然会满足,你只需要保持和之前的版本一样安装和使用即可,我们提供了与之对应的 pure 版本。

下面的内容可以帮你更好的了解 Yo

简介

与其它框架不同的是,实际上我们并不计划对外提供类似打包好的 yo.min.css/yo.min.js 来供使用,而是推荐直接在 Yo 的标准工程目录下进行开发。这样你将能体会到 Yo 的众多功能和方法为开发所带来的便利,并感受到它的魅力。

起步

  • 根据 起步说明 了解 Yo 的工作原理并开始构建标准的 Yo 项目;

浏览器支持

  • iOS6.0+
  • Android4.0+
  • Latest Stable: Chrome, Safari, Opera, IE10+

注意

Yo 做了一些全局的定义,这些定义也让设计变得意思。

文档模式

为了能够让你的样式得到完整的解析,我们推荐你使用 HTML5 doctype

<!DOCTYPE html>

视窗viewport

Yo 采用 Mobile First 的策略设计,首先要保证移动设备上的体验,至于不同的终端,可以配合 响应式 来做适配:

<meta name="viewport" content="initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" />

如果应用需要考虑手动缩放的情况,可以将 maximum-scale=1, user-scalable=no 移除;但不建议移除 minimum-scale=1,因为页面可能会被缩小到难以阅读的程度。

单位

Yo 约束了2种项目所使用的长度单位

  • 所有涉及到 border 的长度单位都是用 px
  • border 外,所有的长度设置都是用 rem 单位;

盒模型

为了让计算变得简单,我们改变了所有元素的盒模型,将其重置为 border-box。当然,也包括常用的伪元素 ::before::after

*,
::before,
::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

如果你长时间工作在 PC 平台上,这个设定可能需要一个适应的过程,但可以肯定的是,你一定会喜欢上它。

flex布局

为了让你的 flex 布局可以正常工作,请检查 flex子项 是否为块级元素(可以显式的通过 display 来定义),在较老的平台及浏览器上,如果 flex子项 是行内级元素,flex 布局将会解析错误。

实例和文档

如果你想在本地构建 Yo 的文档,只需要:

  • 安装 ydoc:npm install ydoc -g --registry=https://registry.npm.taobao.org
  • 在项目根目录下执行:ydoc build

此时,文档将会默认生成到 doc 目录下。

线上默认提供的只是最新版本的文档,如果你正在使用过往版本,则可以按照这种方式直接生成本地文档。

版本

Yo 的版本方针遵循 SemVer 规范,版本号采用 主版本号.次版本号.修订号 的格式。版本发布周期是透明的,并尽可能保证向前向后兼容,您可以根据我们的语义化版本方针进行版本控制。

你可以在 releases tag 中找到当前所有已发布的稳定版本。如想查看更多版本变更历史,请查看 ChangeLog

问题及反馈

如果您的项目正在使用Yo,过程中发现了任何问题,或者有任何帮助Yo更完善的想法和建议,请直接给我们提 IssuesPull Requests

作者

杜瑶

YMFE Team

版本和许可

源码和文档版权属于 Yo 的所有开发者。源码发布基于 the MIT license 开源协议。文档发布基于 Creative Commons 开源协议。