您当前的位置:首页 > 计算机 > 编程开发 > Html+Div+Css(前端)

布局引擎 Flexbox

时间:12-14来源:作者:点击数:

随着前端技术的崛起,作为前端 UI 骨架的布局系统也在其中占据着重要的位置。

我们思考下两个问题:

  1. 设备屏幕大小和分辨率千变万化,如何构建良好的布局系统以应付这些变化?
  2. 各个平台都有自己的一套布局方案,比如 iOS 有自动布局系统,Android 有容器布局系统,而 Web 端有基于 CSS 的布局系统。多种布局系统共存,怎么降低开发成本?

答案就是:Flexbox!

布局方案 —— Flexbox

A Complete Guide to Flexbox( css-tricks 商业网/snippets/css/a-guide-to-flexbox/)

一份完整的指导手册,内容大部分是根据 w3c 的文章来写的,每个属性都给出了示例图,非常容易理解。

Flexbox 布局详解

英文不好的小伙伴可以看这份翻译的指导手册。

应用方案

Yoga

Facebook 在 React Native 里引入了一种跨平台的基于 CSS 的布局系统 Yoga,Yoga 遵循了 Flexbox 规范,同时又将布局元素抽象成 Node,为各个不同平台暴露出一组标准的接口,不同的平台只需实现这些接口即可,这让开发人员不仅可以在 React Native 里,还能在各个平台上快速地构建 UI 布局。

到目前为止,Yoga 已经有以下几个平台的绑定:Java(Android)、Objective-C(UIKit)、C#(.NET)。而且已经有很多项目在使用 Yoga,除了 React Native,还有 Components for Android、Oculus……

Litho

Litho 是一个高效构建 Android UI 的声明式框架。颠覆式提出了高效回收 View 的策略,使得复杂数据流的绘制更加迅速,滑动更加流畅。

小结

UI框架归根结底有两种实现,一种是基于原生框架做封装,提供一种语法糖功能,一种是自己实现了整套引擎。Yoga属于第一种,Litho属于第二种。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐