精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

Facebook開源跨平臺前端布局引擎Yoga

責任編輯:editor004

作者:薛命燈

2016-12-20 11:31:55

摘自:INFOQ

隨著這幾年前端技術的崛起,作為前端UI骨架的布局系統也在其中占據了越來越重要的位置。不同于其它的一些布局框架,比如bootstrap的柵格系統或Masonry,它們要么不夠強大,要么不支持跨平臺。

隨著這幾年前端技術的崛起,作為前端UI骨架的布局系統也在其中占據了越來越重要的位置。不管是在移動端、桌面端還是Web端,特別是不同設備的屏幕大小和分辨率千變萬化,如何構建良好的布局系統以便應付這些變化已經變得越來越重要。

目前,各個平臺都有自己的一套解決方案。iOS平臺有自動布局系統,Android有容器布局系統,而Web端有基于CSS的布局系統。多種布局系統共存所帶來的弊端是很明顯的,平臺間的共享變得很困難,而每個平臺都需要專人來開發維護,增加了開發成本。

Facebook在這個問題上沒有少下功夫。首先,Facebook在React Native里引入了一種跨平臺的基于CSS的布局系統,它實現了Flexbox規范。基于這個布局系統,不同團隊終于可以走到一起,一起解決缺陷,改進性能,讓這個系統更加地貼合Flexbox規范。

隨著這個系統的不斷完善,Facebook決定對它進行重啟發布,并取名Yoga。雖然目前還不知道為什么會給它取名Yoga,但從字面理解——瑜伽——我們很自然地聯想起柔韌、舒展、變化等名詞,這個跟布局系統的跨平臺特性似乎不謀而合。借助Yoga,開發人員不僅可以在React Native里,還能在各個平臺上快速地構建UI布局。

Yoga是基于C實現的。之所以選擇C,首先當然是從性能方面考慮的。基于C實現的Yoga比之前Java實現在性能上提升了33%。其次,使用C實現可以更容易地跟其它平臺集成。到目前為止,Yoga已經有以下幾個平臺的綁定:Java(Android)、Objective-C(UIKit)、C#(.NET)。而且已經有很多項目在使用Yoga,比如React Native、Components for Android、Oculus,等等。

不同于其它的一些布局框架,比如bootstrap的柵格系統或Masonry,它們要么不夠強大,要么不支持跨平臺。Yoga遵循了Flexbox規范,同時又將布局元素抽象成Node,為各個不同平臺暴露出一組標準的接口,這樣不同的平臺只需實現這些接口就可以了。

當然,Facebook不會就此止步。作為一款跨平臺的布局引擎,自然需要各個平臺的開發人員一起努力來促進它的發展,所以Facebook把Yoga開源了。目前微軟已經成為Yoga的貢獻者之一,他們不僅修復缺陷,還為Yoga帶來新的特性。

除了完全遵循Flexbox規范,Facebook還計劃在未來為Yoga加入更多特性,這些特性將超出Flexbox的范疇。

Yoga的源碼托管在GitHub上,有興趣開發人員可以在上面進行反饋。

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 屏东市| 即墨市| 镇远县| 金乡县| 镇安县| 鹤岗市| 德兴市| 张家界市| 汉中市| 西吉县| 尉犁县| 百色市| 磐安县| 吐鲁番市| 泸西县| 永济市| 姚安县| 固安县| 山东省| 梧州市| 普兰县| 中宁县| 泊头市| 六安市| 大邑县| 潼南县| 昭通市| 夹江县| 洞头县| 右玉县| 林芝县| 尤溪县| 教育| 嘉鱼县| 沂水县| 芒康县| 陇南市| 中西区| 朝阳区| 马公市| 皮山县|