android - 京東移動(dòng)端網(wǎng)頁和其app加載的url所做的呈現(xiàn)不應(yīng)該是完全一樣的嗎?
問題描述
眾所周知,移動(dòng)web開發(fā)跟web前端開發(fā)差別不大,使用的技術(shù)都是html+css+js;
而web app開發(fā)特指的是用html5技術(shù)開發(fā),之所以叫web app是因?yàn)樗容^接近客戶端應(yīng)用程序的用戶體驗(yàn),可以和系統(tǒng)深度融合,調(diào)用一些只有客戶端才能調(diào)用的功能(比如在移動(dòng)設(shè)備上利用html5開發(fā)出的網(wǎng)頁可以訪問電話、攝像頭等本地功能)。
當(dāng)web app加載的URL與移動(dòng)端網(wǎng)頁是同一個(gè)網(wǎng)站時(shí),加載內(nèi)容與網(wǎng)頁的呈現(xiàn)應(yīng)該完全一樣。
然而,當(dāng)我用web app加載京東網(wǎng)時(shí),發(fā)現(xiàn)所加載的移動(dòng)端網(wǎng)頁和京東app的呈現(xiàn)有一些小差異,例如:
在手機(jī)瀏覽器打開京東網(wǎng)首頁得到:點(diǎn)擊分類得到:

在web app demo中加載的到首頁:
點(diǎn)擊分類同樣:
所加載的內(nèi)容完全一樣是理所當(dāng)然的(除了demo里面的TextView是我自己加的)。
而在京東app中,首頁呈現(xiàn)為:
點(diǎn)擊分類得到:
我們會(huì)發(fā)現(xiàn)兩者的呈現(xiàn)還是有不一樣的地方。。如果要在web app demo里面做出跟京東app做一模一樣的呈現(xiàn),要怎么改?問題有點(diǎn)奇葩,可能有點(diǎn)鉆牛角尖了,不喜勿噴。。。歡迎有興趣的留言啦~比心?
問題解答
回答1:京東APP不一定就是一個(gè)webview去請(qǐng)求url吧?
他可能APP內(nèi)打包有一套html+css+js代碼,然后通過請(qǐng)求相應(yīng)數(shù)據(jù)
也就是說,京東APP不是請(qǐng)求網(wǎng)頁版京東,而是有另一套實(shí)現(xiàn)
回答2:你用開發(fā)者模式打開布局邊界,你會(huì)發(fā)現(xiàn)JD app的Tab,掃描按鈕,通知還有其他的是原生寫的的。而webapp 中全部是由H5寫的,當(dāng)然是不一樣的啦。如圖:

手機(jī)瀏覽器打開的京東頁面其實(shí)就是pc端京東的頁面,url是一樣的,而app往往是pc端網(wǎng)站出了很久才有的產(chǎn)物,他們很多情況下不是一樣的技術(shù)和一樣的頁面,代碼和頁面都會(huì)有差異,只不過有的頁面會(huì)借鑒原來pc端的代碼而已,如果細(xì)心的話可以發(fā)現(xiàn)很多app都比它對(duì)應(yīng)的pv端網(wǎng)頁性能要好,UI要好看或者很多新特性,比如qq空間,電腦端慢的不行,而手機(jī)端卻沒有太多的障礙,你想兩者一樣,那只有共用一樣的前端代碼了,要求操作體驗(yàn)一樣或許還要共用一樣的后端API
相關(guān)文章:
1. android - 使用百度sdk調(diào)用SDKInitializer.initialize(this)時(shí)報(bào)錯(cuò)?2. javascript - 最近用echarts做統(tǒng)計(jì)圖時(shí)遇到兩個(gè)問題!!3. 淺談Vue使用Cascader級(jí)聯(lián)選擇器數(shù)據(jù)回顯中的坑4. html5 - 用h5本地存儲(chǔ)是否安全?5. 基于Spring MVC Java的配置無法正常工作控制臺(tái)顯示無錯(cuò)誤,但我的jsp頁面未顯示6. javascript - webpack-dev-server和webpack沖突嗎7. javascript - react熱加載的一段代碼8. android - 優(yōu)酷的安卓及蘋果app還在使用flash技術(shù)嗎?9. 微信公眾號(hào)在線生成二維碼帶參數(shù)怎么搞?10. myeclipse中修改了javaweb的web.xml文件,為什么有時(shí)候會(huì)自動(dòng)重新部署生效,有時(shí)就不會(huì)自動(dòng)呢?

網(wǎng)公網(wǎng)安備