Weex iOS 端集成的一些感想

本博客遷移來自:http://www.jianshu.com/users/465865c268ed/latest_articles
身邊一直充斥着Weex的消息(從內測到現在),幾乎每一個移動端的人都在我面前提過它。我隱約的知道它其實是和ReactNative類似的東西。因爲年初也玩了會兒RN,弄環境弄了挺久了,然後因爲教程少,寫了一個demo之後就沒怎麼深入學習了。
weex存在的意義就是用來跨平臺的(如果不是跨平臺我又何苦用蹩腳的標籤來寫iOS界面呢,抱歉我說的是我web知識太匱乏而蹩腳),一套代碼,三端共用(iOS,安卓,web),有效的節省人力物力財力,對於初創公司來說簡直是完美的解決方案。
其實現在想想也是挺恐怖的一件事,就目前我公司的人員分佈來看:安卓三個,iOS三個,H5三個,總共是九個前端。照目前的發展趨勢,不久的將來,weex工程師將徹底改變這種格局(也許以後公司的項目只要招兩個weex工程師就可以了,安卓iOS以及Web可以統統滾蛋了。。。),跨平臺的時代來臨。
未來,等跨平臺的方案和技術成熟(一套代碼一統前端的時候),swift或OC還有存在的必要嗎?(也許我片面了或侷限性了,swift或OC不僅僅用來寫應用).
當然,從目前weex來看,依舊有着平臺差異性,要實現完美的跨平臺三端共用需要開發者瞭解或精通iOS和安卓以及Web的知識。所以以後勢必對weex開發者的要求也會越來越高,必須精通iOS安卓以及Web。

也許這就是跨平臺即將帶給我們的驚喜。
呵呵,以上只是我個人的猜想和意淫。所謂盲人摸象,今天是我第一次體驗weex,也許我的理解會不夠全面。
不知何時在知乎上看到有人說Weex純粹是阿里KPI的產物,我不知道這是真的還是假的(以下引用知乎網友的話)

QQ20160915-0@2x.png

確實,Weex和RN真是太像了。站在巨人的肩膀上難免會有重複造輪子的嫌疑。
但實話實說,就今天一天的體驗來看,Weex比RN好上手多了,搭環境幾分鐘搞定(像當初搭RN的環境,簡直不堪回首啊),給我的感覺就像Oracle和MySql的區別似得,一個重量級一個輕量級。
接下來看看weex的參數:
weex使用的是V8引擎,而ReactNative使用的是JSCore
weex基於vue.js(2W+star),reactnative使用的是React(4W+star)

集成到iOS項目中參考Weex文檔:https://open.taobao.com/doc2/detail?spm=a219a.7629140.0.0.tFddsV&&docType=1&articleId=104829

集成demo可以看看這裏:https://github.com/voidxin/WeexDemo_iOS

特別提醒:
如果集成後運行發現.js文件並沒有生效,請記得加入:

QQ20160915-1@2x.png
接下來的這段時間裏,我將嘗試在我的項目中使用它,希望能和大家共同學習共同進步。

————————————-

2016年11月15日:
PS:今天升級Weex 0.8.0,發現並不用像以上步驟那麼複雜,可參考這篇:https://github.com/dengjunwen/weexPageDemo
或看看這個demo:https://github.com/voidxin/WeexProjectWithCocoapods

—————————-分割線————————

2016年11月16日:
PS:又試了一下,其實如果項目使用了CocoaPods的話直接在Podfile中加入pod ‘WeexSDK’, ‘0.8.0’,然後在項目中加入bundlejs文件夾即可(其他的前文中所說的都可以刪了)
github上有提到:

QQ20161116-0.png

好吧,一段時間沒用,發現可以這麼省事了。可喜可賀、Weex會發展的越來越好的。


ps:2016年11月24日
由於之前一直是在公司電腦上開發weex,今晚在自己的Mac pro上鼓搗了一下,發現使用cocoapods引入WeexSDK 0.8.0時出錯

Analyzing dependencies
[!] Unable to satisfy the following requirements:

- `WeexSDK (~> 0.8.0)` required by `Podfile`

頓時覺得很奇怪,因爲在公司電腦是一直好好的,我查看了下我cocoapods的版本是1.1,是在找不到原因了,我就決定吧coco卸了重裝(一下來自百度網友提供)

$ sudo gem uninstall cocoapods
查看本地安裝過的cocopods相關東西
$ gem list --local | grep cocoapods
顯示如下:
cocoapods (1.0.1)
cocoapods-core (1.0.1)
cocoapods-deintegrate (1.0.1)
cocoapods-downloader (1.1.1)
cocoapods-plugins (1.0.0)
cocoapods-search (1.0.0)
cocoapods-stats (1.0.0)
cocoapods-trunk (1.0.0)
cocoapods-try (1.1.0)
然後使用命令逐個刪除
$ sudo gem uninstall cocoapods-core
$ sudo gem uninstall cocoapods-deintegrate
....
查詢:$ gem sources -l 可以查看當前是什麼連接,然後替換方式如下:$ gem source -r https://rubygems.org/$ gem source -a https://ruby.taobao.org/ 要想驗證是否替換成功了,可以執行:$ gem sources -l  
成功顯示 
*** CURRENT SOURCES ***
https://ruby.taobao.org/
最後:
$ sudo gem install cocoapods  
$ pod setup 

pod setup 之後要等個十分鐘左右,就裝好了,再pod install –verbose –no-repo-update,發現沒報錯誤了。由此推斷是cocoapods的問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章