最近有網(wǎng)友向我求助 H5 項目怎么集成到原生項目中,特意寫了這篇回復(fù),希望能幫助到更多的人
- 這是他的問題。
1.我們主要支持三端(iOS,安卓,微信);
2.我們的應(yīng)用形式會采取原聲+h5的形式;
3.目前的總體設(shè)想是,首頁,個人信息,以及相關(guān)入口頁會采取原聲編碼的方式,比如說商品購買流程會采用h5的方式(類似京東,淘寶購買流程),要求是新開頁面的形式(就是比如在商品詳情點擊立即購買會跳轉(zhuǎn)到下個頁面),不是說在一個webview里面加載整個流程;
4.目前是打算接入Dcloud的形式。
遇到的問題:
1.我們目前的這種模式能用Dcloud的里面5+plus這個框架嗎?
2.如果能用的話應(yīng)該用哪種集成方式呢?
3.Dcloud如何加載服務(wù)器的html代碼的?(官方文檔真的不行啊,只有本地的)。
4.Dcloud框架的穩(wěn)定性和功能性你覺得怎么樣?
很抱歉,這么晚回復(fù)你,hybride app 是我6個月之前做的項目,現(xiàn)在只有一些大概的影響。希望可以幫助到你
- 我們目前的這種模式能用Dcloud的里面5+plus這個框架嗎?
是的,你們可以采用這種方式開發(fā)你們的項目
- 如果能用的話應(yīng)該用哪種集成方式呢?
按照你的描述,我認為你們可以采用
1.IOS平臺以WebView方式集成HTML5+SDK方法
這種集成方式:原生占%80 h5占%20
是項目中只有少數(shù)單個頁面可以用h5來寫,這里的h5頁面主要用來展示信息,但是無法做到交互性-->比如點擊按鈕,在此h5頁面上點擊調(diào)整等。
2.IOS平臺以Widget方式集成HTML5+SDK方法
這種集成方式:原生占%20 h5占%80
中可以使用大量的h5頁面,h5頁面之間可以跳轉(zhuǎn),調(diào)用iOS原生方法,有點擊事件,并帶有下拉列表等常見UI控件,這些都可以用h5來實現(xiàn)。
- Dcloud如何加載服務(wù)器的html代碼的?(官方文檔真的不行啊,只有本地的)。
我們所有的html代碼都是本地的,使用Dcloud 的編譯器Hbuild 編譯并打包號的本地html代碼,你所說的服務(wù)器html代碼我們沒有接觸過,或許你應(yīng)該咨詢下Dcloud官方人員
這是Hbuidl 學(xué)習(xí)群485909096 ,里面有Dcloud官方人員。這里面的大神比我更懂這個框架
4.Dcloud框架的穩(wěn)定性和功能性你覺得怎么樣?
雖然官方文檔很渣,但不能代表Dcloud的框架不行,個人認為,比較文檔,性能一般。不過做電商我覺得可以考慮,這里面有很多坑要跳,比如在繼承sdk時,文檔寫的很不詳細,iOS要配置的xcode系統(tǒng)庫不全,有很多配置使我們當時自己一個一個連蒙帶猜湊齊的。
- 這里講一下我們當時繼承h5的流程
- 前端工程師用Hbuild 完成h5頁面的編寫,可以用h5和服務(wù)器交互,并實現(xiàn)了h5頁面之間的邏輯跳轉(zhuǎn),頁面布局,控件添加,事件實現(xiàn)等。這部分是獨立于iOS 平臺之外。
- iOS和安卓搭建原生框架,并分別集成HTML5+SDK。配置系統(tǒng)庫,然后確保編譯成功。
- iOS和安卓分別引入 前端工程師編譯成功的h5包。內(nèi)嵌h5到原生框架中,確保編譯成功。其實第2步和第3步是同時進行的
- 接下來就是不斷填坑的過程。
當我向Dcloud 官方人員提問時,他還是比較熱情的,甚至幫我遠程調(diào)試過代碼,感謝曾經(jīng)幫助過我的Dcloud工程師