Weex之微體驗(yàn)

前言

之前的幾個(gè)月里项戴,已經(jīng)狠狠地體驗(yàn)了一把React-Native茬斧,享受著React-Native帶來(lái)的快捷,也承受著踩坑的痛苦刁俭。改用一句非常流行話“從入門到直接放棄”。而隨著Weex的開(kāi)源韧涨,仿佛又看到了一絲希望的曙光牍戚,于是閑暇之余先嘗試一番,應(yīng)大領(lǐng)導(dǎo)要求做些技能儲(chǔ)備虑粥,以便將來(lái)不時(shí)之需……

閑話不多說(shuō)如孝,下面開(kāi)始體驗(yàn)之旅

準(zhǔn)備工作——Weex環(huán)境搭建

1. 首先安裝Node.js

$ brew install node

2. 安裝Weex的集成環(huán)境

$ sudo npm install -g weex-toolkit

3. 驗(yàn)證是否安裝成功

$ weex

4. 開(kāi)發(fā)工具選擇

我使用的是Sublime Text,期間也使用過(guò)WebStorm娩贷,但總是莫名的卡頓所以最終放棄了第晰。

Sublime Text高亮狀態(tài)設(shè)置:View -> Syntax -> Vue Component

Weex項(xiàng)目——“Hello Weex!”

1. 新建一個(gè)文件 WeexDemo,在 WeexDemo 目錄下用終端執(zhí)行:weex init彬祖,接著按照提示輸入項(xiàng)目名稱 XXX茁瘦。運(yùn)行后,相應(yīng)的文件便會(huì)被創(chuàng)建储笑。

$ weex init

2. 在被創(chuàng)建的文件中甜熔,對(duì)于熟悉前端或是React-Native的同學(xué)而言,你會(huì)看到一個(gè)尤為親切的文件名——package.json突倍。就是它告訴我們腔稀,我們還需要安裝一些局部依賴庫(kù),所以老老實(shí)實(shí)地在終端接著運(yùn)行npm install赘方。(做個(gè)說(shuō)明烧颖,新版的Node.js中已經(jīng)集成了npm弱左,所以我們?cè)诎惭b過(guò)新版的Node.js后就無(wú)需再安裝npm了窄陡。當(dāng)然你也可以運(yùn)行npm -v來(lái)查看電腦中是否安裝)。

$ npm install

3. 執(zhí)行后拆火,WeexDemo文件中的目錄如圖所示

· index.html——瀏覽器啟動(dòng)頁(yè)面

· src——用來(lái)存放.we文件

· webpack.config.js——webpack的配置文件

4. 一切就緒后跳夭,我們可以查看一下這個(gè)項(xiàng)目最終的運(yùn)行結(jié)果是什么涂圆。終端運(yùn)行npm run serve

瀏覽器訪問(wèn):http://localhost:8080/湃累,這樣你就會(huì)看到一個(gè)“HelloWeex!” 的頁(yè)面厨相。(如果打開(kāi)的頁(yè)面沒(méi)顯示祖乳,可以先執(zhí)行npm run dev 后再執(zhí)行 npm run serve )

$ npm run serve

當(dāng)然也可以更快捷一點(diǎn)沐扳,weex-bootstrap.we為src中的文件聋溜,我們通過(guò)運(yùn)行weex src/weex-bootstrap.we直接在瀏覽器中查看weex-bootstrap.we的運(yùn)行結(jié)果蝌借。

$ weex src/weex-bootstrap.we

5. 運(yùn)行結(jié)果如圖所示

如何集成Weex到iOS工程中

作為iOS開(kāi)發(fā)责静,當(dāng)然還需要把Weex集成到iOS工程中好好體驗(yàn)一把徽缚。說(shuō)干就干贩汉,并且有圖有真相驱富。

1. 項(xiàng)目初始化

2. 在根目錄下執(zhí)行touch Podfile,然后編輯Podfile文件匹舞,代碼如圖所示

3.下載最新的WeexSDK褐鸥,地址為:https://github.com/alibaba/weex,將sdk文件夾拷貝到新建的iOS項(xiàng)目中赐稽,和Podfile里配置的路徑保持一致

4.在當(dāng)前目錄叫榕,終端執(zhí)行pod install

5.當(dāng)前目錄下創(chuàng)建一個(gè)新文件夾weex(可命令行mkdir weex),終端cd到weex目錄下姊舵,執(zhí)行weex init

6.安裝局部依賴庫(kù)晰绎,在當(dāng)前目錄下(weex目錄下)執(zhí)行:npm install

7.創(chuàng)建一個(gè)文件夾js,存放后面weex src -o js生成的js文件括丁。為什么要生成js文件寒匙,建議去查看Weex的工作原理

8.將創(chuàng)建的js文件夾導(dǎo)入到Xcode工程的文件列表,注意箭頭所指

9.Xcode打開(kāi)workspace項(xiàng)目文件,在AppDelegate.m文件中導(dǎo)入頭文件#import 躏将。初始化代碼

10.運(yùn)行結(jié)果如圖所示

在模擬器中锄弱,沒(méi)有顯示網(wǎng)絡(luò)圖片是因?yàn)樾枰趇OS代碼中自定義圖片加載類,該類需要遵守WXImgLoaderProtocol協(xié)議祸憋,并實(shí)現(xiàn)協(xié)議方法会宪。圖片加載類寫好后,還需在入口函數(shù)中注冊(cè)蚯窥。這里不做過(guò)多敘述掸鹅,可以參考官方Demo。在iOS中拦赠,一個(gè)Weex頁(yè)面對(duì)應(yīng)一個(gè)視圖控制器巍沙,在這里用的是官方封裝好的WXBaseViewController,你也可以選擇繼承它寫一個(gè)視圖控制器荷鼠,或是自己寫一個(gè)視圖控制器配合WXSDKInstance來(lái)實(shí)現(xiàn)Weex頁(yè)面渲染句携。

Weex-Demo演示

1. Gif動(dòng)態(tài)圖展示


2. Weex-Demo下載地址:https://github.com/yanshiyu/Weex-Demo.git?里面的實(shí)現(xiàn)功能在這里不做敘述,有興趣的同學(xué)可以下載Demo到本地閱讀允乐。有問(wèn)題的也可以在github上留言提問(wèn)矮嫉。

總結(jié)

1. 因?yàn)橹叭胧诌^(guò)React-Native削咆,所以轉(zhuǎn)戰(zhàn)Weex還是很比較輕松,但是開(kāi)發(fā)之前還是需要好好研究文檔蠢笋,遇到復(fù)雜點(diǎn)功能則需要仔細(xì)研讀阿里的官方Demo拨齐。

2. 目前Weex的文檔還不夠詳細(xì),遭到很多開(kāi)發(fā)人員的吐槽昨寞,阿里內(nèi)部人員回復(fù)稱瞻惋,他們正在“憋大招”,所以還是很期待??援岩。

3. Weex自身還不能加載本地圖片熟史。不過(guò)集成到iOS工程中后,可以通過(guò)自定義圖片加載類同時(shí)實(shí)現(xiàn)網(wǎng)絡(luò)圖片和本地圖片的加載窄俏。

4. 不得不說(shuō)蹂匹,Weex中的ListView是一個(gè)很大亮點(diǎn),不僅實(shí)現(xiàn)了cell復(fù)用凹蜈,而且數(shù)據(jù)處理方面也很簡(jiǎn)單限寞。

5. 說(shuō)實(shí)話,Weex初體驗(yàn)感覺(jué)還是很好的仰坦,只是Weex現(xiàn)在還很“年輕”履植,使用的用戶還不是很多,以至于社區(qū)不是很活躍悄晃,相關(guān)技術(shù)博客也不是很多玫霎。希望隨著Weex各方面的完善,越來(lái)越多的人可以投身到Weex開(kāi)發(fā)中來(lái)妈橄,真正的做到”Write once, run everywhere”庶近。


==================

此文之前于2016-11-29發(fā)布于微信公眾號(hào)insightLabs上,今日特重新發(fā)布于簡(jiǎn)書(shū)眷蚓!

==================

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末鼻种,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子沙热,更是在濱河造成了極大的恐慌叉钥,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件篙贸,死亡現(xiàn)場(chǎng)離奇詭異投队,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)爵川,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門敷鸦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事轧膘〕” “怎么了兔甘?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵谎碍,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我洞焙,道長(zhǎng)蟆淀,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任澡匪,我火速辦了婚禮熔任,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘唁情。我一直安慰自己疑苔,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布甸鸟。 她就那樣靜靜地躺著惦费,像睡著了一般。 火紅的嫁衣襯著肌膚如雪抢韭。 梳的紋絲不亂的頭發(fā)上薪贫,一...
    開(kāi)封第一講書(shū)人閱讀 51,443評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音刻恭,去河邊找鬼瞧省。 笑死,一個(gè)胖子當(dāng)著我的面吹牛鳍贾,可吹牛的內(nèi)容都是我干的鞍匾。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼骑科,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼候学!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起纵散,我...
    開(kāi)封第一講書(shū)人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤梳码,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后伍掀,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體掰茶,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年蜜笤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了濒蒋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖沪伙,靈堂內(nèi)的尸體忽然破棺而出瓮顽,到底是詐尸還是另有隱情,我是刑警寧澤围橡,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布暖混,位于F島的核電站,受9級(jí)特大地震影響翁授,放射性物質(zhì)發(fā)生泄漏拣播。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一收擦、第九天 我趴在偏房一處隱蔽的房頂上張望贮配。 院中可真熱鬧,春花似錦塞赂、人聲如沸泪勒。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)圆存。三九已至,卻和暖如春鳍置,著一層夾襖步出監(jiān)牢的瞬間辽剧,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工税产, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留怕轿,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓辟拷,卻偏偏與公主長(zhǎng)得像撞羽,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子衫冻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

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

  • 2016年4月21日诀紊,阿里巴巴在Qcon大會(huì)上宣布開(kāi)源跨平臺(tái)移動(dòng)開(kāi)發(fā)工具Weex,Weex能夠完美兼顧性能與動(dòng)態(tài)性...
    晴天咚咚閱讀 2,890評(píng)論 1 15
  • 什么是 weex weex 是阿里開(kāi)源的一套三端通用方案隅俘,只要編寫一次代碼就能運(yùn)行在 iOS邻奠、Android 和 ...
    Tatinic閱讀 1,291評(píng)論 0 9
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,116評(píng)論 25 707
  • 讀書(shū)時(shí)期,女孩們總會(huì)有幾個(gè)要好的朋友为居,陪你哭碌宴,陪你笑,見(jiàn)過(guò)你出糗的樣子蒙畴,一起八卦暗戀的男生贰镣,她們是知道你最多秘密的...
    Twyla閱讀 573評(píng)論 1 3
  • 小敏的課外書(shū) 文\楊聰(本號(hào)真名) 小敏跟隨打工的父母四處漂泊碑隆。這學(xué)期恭陡,她成了蒼南縣靈海鎮(zhèn)水景小學(xué)六年(5)班的插...
    溫州好老師閱讀 811評(píng)論 6 3