Weex

????????Weex 是使用流行的 Web 開發(fā)體驗(yàn)來開發(fā)高性能原生應(yīng)用的框架赋铝。Weex 的目標(biāo)就是使用開發(fā)者基于一份代碼插勤,編寫出可以運(yùn)行在 iOS,Android 和 Web 上的應(yīng)用革骨,并最大化地提高開發(fā)效率和簡(jiǎn)化測(cè)試农尖、構(gòu)建、發(fā)布流程良哲。

DOM(Document Object Model)盛卡,即文檔對(duì)象模型,是 HTML 和 XML 文檔的編程接口筑凫,是 Web 中的概念滑沧。Weex 的運(yùn)行環(huán)境以原生應(yīng)用為主喇颁,在 Android 和 iOS 環(huán)境中渲染出來的是原生的組件,不是 DOM Element嚎货。原生環(huán)境中不支持 Web API橘霎,沒有?Element?、Event?殖属、File?等對(duì)象姐叁,詳細(xì)列表可以參考?Web APIs on MDN。不支持選中元素如?document.getElementById?洗显、?document.querySelector?等外潜;當(dāng)然也不支持基于 DOM API 的程序庫(kù)(如 jQuery)。

BOM(Browser Object Model)挠唆,即瀏覽器對(duì)象模型处窥,是瀏覽器環(huán)境為 javascript 提供的接口。Weex 在原生端并不基于瀏覽器運(yùn)行玄组,不支持瀏覽器提供的 BOM 接口滔驾。Weex 中并未提供瀏覽器中的?window?和?screen?對(duì)象,不支持使用全局變量俄讹。沒有?document?對(duì)象哆致,沒有?history?、location?患膛、navigator?對(duì)象

內(nèi)置組件

1摊阀、<a>?組件用于實(shí)現(xiàn)頁(yè)面間的跳轉(zhuǎn)。(不可以在標(biāo)簽內(nèi)部直接添加文本踪蹬,需要使用 <text>標(biāo)簽來顯示文本胞此。)

2、<div>?是通用容器跃捣。(不要在?<div>?中直接添加文本漱牵,而要使用?<text>?組件。在 Weex 中枝缔,<div>?不可滾動(dòng)布疙。要控制?<div>?的層級(jí)蚊惯,建議不要超過14層愿卸,否則會(huì)很影響頁(yè)面性能。)

3截型、<image>?用于在界面中顯示單個(gè)圖片趴荸。

4、<list>?組件是提供垂直列表功能的核心組件宦焦,擁有平滑的滾動(dòng)和高效的內(nèi)存管理发钝,非常適合用于長(zhǎng)列表的展示顿涣。最簡(jiǎn)單的使用方法是在?<list>?標(biāo)簽內(nèi)使用一組由簡(jiǎn)單數(shù)組循環(huán)生成的?<cell>?標(biāo)簽填充。(不允許相同方向的?<list>?或者?<scroller>?互相嵌套酝豪,換句話說就是嵌套的?<list>?/?<scroller>?必須是不同的方向涛碑。<list>?需要顯式的設(shè)置其寬高,可使用?position: absolute;?定位或?width孵淘、height?設(shè)置其寬高值)

5蒲障、Cell 必須以一級(jí)子組件的形式存在于 list recycler waterfall?中。(Cell 支持添加任意類型的組件作為自己的子組件瘫证,但是請(qǐng)不要再內(nèi)部添加滾動(dòng)容器了揉阎。不要指定?<cell>?的?flex?值。Cell 的寬度是由它的父容器決定的背捌,你也不需要指定它的高度毙籽。Cell 的排版的位置是由父容器控制的,所以一般不要為其指定?margin?樣式毡庆。)

6坑赡、<loading>?為容器提供上拉加載功能。(<loading>?是?<scroller>么抗、<list>垮衷、<waterfall>?的子組件,只能在被它們包含時(shí)才能被正確渲染乖坠。)

7搀突、<refresh>?為容器提供下拉刷新功能。(<refresh>?是?<scroller>熊泵、<list>仰迁、<waterfall>?的子組件,只能在被它們包含時(shí)才能被正確渲染顽分。)

8徐许、<recycle-list>?是一個(gè)新的支持豎向或橫向的列表容器,具有回收和復(fù)用的能力卒蘸,可以大幅優(yōu)化內(nèi)存占用和渲染性能雌隅。(<recycle-list>?只能使用?<cell-slot>?作為其直接子節(jié)點(diǎn),使用其他節(jié)點(diǎn)無效缸沃。)

9恰起、<scroller>?是一個(gè)容納子組件進(jìn)行橫向或豎向滾動(dòng)的容器組件。如果你的組件需要進(jìn)行滾動(dòng)趾牧,可以將?<scroller>?當(dāng)作根元素或者父元素使用检盼,否則頁(yè)面無法滾動(dòng)(?<list>?組件除外,?<list>?默認(rèn)可以滾動(dòng)翘单,不允許相同方向的?<list>?或者?<scroller>?互相嵌套吨枉,換句話說就是嵌套的?<list>?/?<scroller>?必須是不同的方向蹦渣。<scroller>?需要顯式的設(shè)置其寬高,可使用?position: absolute;?定位或?width貌亭、height?設(shè)置其寬高值柬唯。)

10、Slider 組件用于在一個(gè)頁(yè)面中展示多個(gè)圖片圃庭,在前端這種效果被稱為輪播圖权逗。默認(rèn)的輪播間隔為3秒。

11冤议、indicator?只能在?slider?中使用斟薇。

12、textarea>?與 <input>組件類似恕酸,可用于接受用戶輸入數(shù)據(jù)堪滨。<textarea>?支持多行文本輸入。?<textarea>?支持?<input>?支持的所有的屬性蕊温、樣式和事件袱箱。除了支持?input?支持的所有屬性外,textarea?還支持?rows?屬性义矛,用于指定輸入的行數(shù)发笔。

13、Weex 內(nèi)置的?<input>?組件用來創(chuàng)建接收用戶輸入字符的輸入組件凉翻。?<input>?組件的工作方式因?type?屬性的值而異了讨,比如?text,?password制轰,url前计,email,tel?等垃杖。(此組件不支持?click?事件男杈。請(qǐng)監(jiān)聽?input?或?change?來代替?click?事件。)

14调俘、<waterfall>?組件是提供瀑布流布局的核心組件伶棒。瀑布流,又稱瀑布流式布局是比較流行的一種頁(yè)面布局彩库,視覺表現(xiàn)為參差不齊的多欄布局肤无。隨著頁(yè)面滾動(dòng)條向下滾動(dòng),這種布局還可以不斷加載數(shù)據(jù)塊并附加至當(dāng)前尾部侧巨。(<waterfall>?只支持 Android 和 iOS舅锄,不支持 Web)

15鞭达、Video 組件用于在頁(yè)面中嵌入視頻內(nèi)容司忱。

16皇忿、<web>?用于在 WEEX 頁(yè)面中顯示由 src 屬性指定的網(wǎng)頁(yè)內(nèi)容。

內(nèi)置模塊

1坦仍、animation?模塊可以用來在組件上執(zhí)行動(dòng)畫鳍烁。JS-Animation可以對(duì)組件執(zhí)行一系列簡(jiǎn)單的變換 (位置、大小繁扎、旋轉(zhuǎn)角度幔荒、背景顏色和不透明度)。

2梳玫、clipboard用于獲取爹梁、設(shè)置剪切板內(nèi)容,目前只支持字符串類型

3提澎、dom用于對(duì) weex 頁(yè)面里的組件節(jié)點(diǎn)進(jìn)行一部分特定操作姚垃。(scrollToElement?將 list 的某個(gè)子節(jié)點(diǎn)滾動(dòng)到當(dāng)前視口,getComponentRect?獲取某個(gè)組件的 bounding rect 布局信息盼忌,addRule?添加 font-face rule积糯,getLayoutDirection0.20.0+?獲取某個(gè)組件的布局方向(rtl、lrt谦纱、inherit))

4看成、globalEvent?用于監(jiān)聽持久性事件,例如定位信息跨嘉,陀螺儀等的變化川慌。全局事件是需要額外 APIs 處理的次要 API

5、meta 模塊可用于聲明單個(gè)頁(yè)面的元信息祠乃,通常是一些頁(yè)面級(jí)別的配置窘游,如容器的顯示寬度 (viewport) 等。默認(rèn)情況下跳纳,應(yīng)用無需修改此配置忍饰。

6、modal?模塊提供了以下展示消息框的 API:toast寺庄、alert艾蓝、confirm?和?prompt。(toast()?會(huì)在一個(gè)小浮層里展示關(guān)于某個(gè)操作的簡(jiǎn)單反饋斗塘。例如赢织,在郵件發(fā)送前離開郵件編輯界面,可以觸發(fā)一個(gè)“草稿已保存”的 toast馍盟,告知用戶以后可以繼續(xù)編輯于置。toast 會(huì)在顯示一段時(shí)間之后自動(dòng)消失。alert()警告框經(jīng)常用于確保用戶可以得到某些信息贞岭。當(dāng)警告框出現(xiàn)后八毯,用戶需要點(diǎn)擊確定按鈕才能繼續(xù)進(jìn)行操作搓侄。confirm()確認(rèn)框用于使用戶可以驗(yàn)證或者接受某些信息。當(dāng)確認(rèn)框出現(xiàn)后话速,用戶需要點(diǎn)擊確定或者取消按鈕才能繼續(xù)進(jìn)行操作讶踪。prompt()提示框經(jīng)常用于提示用戶在進(jìn)入頁(yè)面前輸入某個(gè)值。當(dāng)提示框出現(xiàn)后泊交,用戶需要輸入某個(gè)值乳讥,然后點(diǎn)擊確認(rèn)或取消按鈕才能繼續(xù)操作。)

7廓俭、navigator通過前進(jìn)或者回退按鈕來切換頁(yè)面云石,允許我們指定在切換頁(yè)面的時(shí)候是否應(yīng)用動(dòng)畫效果

8、picker用于數(shù)據(jù)選擇研乒,日期選擇留晚,時(shí)間選擇。

9告嘲、stream?模塊提供了基本的網(wǎng)絡(luò)請(qǐng)求能力错维,例如 GET 請(qǐng)求、POST 請(qǐng)求等橄唬,用于在組件的生命周期內(nèi)與服務(wù)端進(jìn)行交互赋焕。

10、webview?模塊提供了一系列的 <web>組件操作接口仰楚,例如?goBack隆判、goForward?和?reload,一般與?<web>?組件一起使用僧界,在 Weex 頁(yè)面內(nèi)渲染 web 頁(yè)面侨嘀。

11、webSockets?是一種創(chuàng)建持久性的連接捂襟,并進(jìn)行雙向數(shù)據(jù)傳輸?shù)?HTTP 通信協(xié)議咬腕。Weex 提供了?webSockets?模塊方便用戶在 H5/iOS/Android 環(huán)境下與服務(wù)端創(chuàng)建 webSockets 鏈接進(jìn)行通信。

12葬荷、deviceInfo模塊可用來獲取設(shè)備的基本信息并進(jìn)行設(shè)置涨共,如fullScreenHeight(全面屏高度)。適配全面屏?xí)r建議使用該模塊宠漩。

13举反、console-log用于強(qiáng)制將 Weex 日志輸出到控制臺(tái)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市扒吁,隨后出現(xiàn)的幾起案子火鼻,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件魁索,死亡現(xiàn)場(chǎng)離奇詭異融撞,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)蛾默,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門懦铺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來捉貌,“玉大人支鸡,你說我怎么就攤上這事〕们裕” “怎么了牧挣?”我有些...
    開封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)醒陆。 經(jīng)常有香客問我瀑构,道長(zhǎng),這世上最難降的妖魔是什么刨摩? 我笑而不...
    開封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任寺晌,我火速辦了婚禮,結(jié)果婚禮上澡刹,老公的妹妹穿的比我還像新娘呻征。我一直安慰自己,他們只是感情好罢浇,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開白布陆赋。 她就那樣靜靜地躺著,像睡著了一般嚷闭。 火紅的嫁衣襯著肌膚如雪攒岛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天胞锰,我揣著相機(jī)與錄音灾锯,去河邊找鬼。 笑死嗅榕,一個(gè)胖子當(dāng)著我的面吹牛挠进,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播誊册,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼领突,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了案怯?” 一聲冷哼從身側(cè)響起君旦,我...
    開封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后金砍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體局蚀,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年恕稠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了琅绅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鹅巍,死狀恐怖千扶,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情骆捧,我是刑警寧澤澎羞,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站敛苇,受9級(jí)特大地震影響妆绞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜枫攀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一括饶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧来涨,春花似錦图焰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至笤闯,卻和暖如春堕阔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背颗味。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工超陆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人浦马。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓时呀,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親晶默。 傳聞我的和親對(duì)象是個(gè)殘疾皇子谨娜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容