如何評價 MIUI 的內置應用中大量使用 HTML5 製作的網頁界面來展示內容?

MIUI在各種內置應用中不使用系統框架的結構而用大量的網頁展示內容的原因是為何?

感覺這樣有損美觀度(網頁使用有時候並不流暢,有時候有撕裂的現象)(沒有點擊時的動畫,感覺特別生硬)

不如像Flyme都是在一個框架里,是實體存在的一個個操作按鈕那樣舒服。

目前應該沒有哪個廠商如此大量的在系統內使用網頁內容吧?

經指正,App Store確實大規模使用了HTML5技術。

MIUI花費時間進行HTML5改造的原因和價值在哪裡?

MIUI6的還都是實體控制項

撕裂的網頁


前端工程師都要累死了,前端本來就少。強烈要求補充前端人員,提高待遇,提高前端團隊建設。


展示型的APP 原生做個殼內容用webview在現有技術下是很方便的方案。

不說版本更新,開發成本的事。光是跟著開發圈子潮流走都可以省不少事,各種工具拿來就用。

說應該沒有哪個廠商如此大量的在系統內使用網頁內容吧?

Apple Google在遠遠的看著你。

小米上得比魅族快,說明他們前端團隊要大些咯,出活更快。

體驗不好是實現的鍋,去把小米的前端拖出來打一頓再提薪擴招好了。

說起來這些東西叫MIUI的內置應用,不叫系統應用。

非要把應用層和系統層混一起說,那這話題沒法談了。

搞安卓ROM叫XXUI的廠商們幹了些實質上算是OS做的事,就可以叫XX系統,也是滿滿地槽點。

這種時候總會感覺到做中英翻譯同學們的無力。


路過看到我米應用商店的截圖,必須跳出來回一下:

對於需要快速迭代的業務型APP,採用Hybrid架構非常值得,這也是我們近一年做的很有意義的一次改版。

採用Hybrid最大的好處就是方便快速迭代,一個圖片大小的資源包扔到cdn上,下次打開客戶端直接就更新了,對比Native打包走版本花半年都沒能升級上來的部署模式,這是巨大的優勢。分發業務需要嘗試各種產品形態,做詳盡細緻的的A/B test,如果產品版本沒更新上來缺乏足夠的採樣,各種產品的試錯周期將會是漫長的過程,這也是我們難以接受的一點。

採用Native還是Hybrid需要根據產品業務需求來做選擇,他們有各自的優劣。Native體驗好,交互響應快,省內存;缺點是版本更新慢,開發效率較慢。而Hybrid剛好反過來,優點是版本更新快,開發效率快;缺點是耗內存,體驗相對native差一點,占較多內存。

前兩年Native開發是主流,近兩年採用Hybrid開發的應用有了上升的趨勢。其中一個重要原因是android4.4.4以後google對webview內核做了很大的改進,採用了自家的blink渲染引擎,配套了一系列開發工具(DevTools),特別是android 5.0以後,系統webview還可以通過google play升級到更高的版本。基於這一系列的的變化,WEB渲染效率和開發效率得到了極大的提升,Hybrid的一些缺點慢慢淡化了。

webview渲染性能和開發效率的優化,也是我們採用Hybrid架構的原因之一。在採用新版chrome內核的webview上做開發只要寫代碼注意點,適當挖掘WEB頁面渲染的優勢,開發出的產品體驗也並不差。應用商店目前的Hybrid版本體驗跟Native相比已經差別不大了,如果不是很仔細對比大部分用戶都區分不出來。

但不得不承認,Hybrid還是有不少坑的,例如:

1,偶發的白屏(部分是chrome內核自己的bug)

2,內存消耗大(比不上原生的scrollView)

3,暴力快速滾動導致渲染跟不上(如題主截圖,如果不是這個原因引起還請私信報個bug哈)。

這些問題雖然存在,但是影響較小。問題1隻有小部分webview某些場景引起,問題3屬於極端使用情況,針對問題2我們做了類似scrollView的內存回收機制,雖然比不上原生但也能有效把內存控制在合理範圍。

長遠來說,HTML5無論是渲染性能還是開發效率開發生態等都還有很大發揮空間,Hybrid只是一個過渡模式,我們積極擁抱技術的變革也希望探索更多的技術可能性。


我就問一句,這個和天天提示你升級,升級後發現啥也沒變,你更喜歡哪一種


大環境是對運營的要求越來越高。

要進一步做到精細化運營的前提和要求是需要有快速試錯的手段。

在當前階段 Hybird 是性價比更高的選擇。

MIUI 早期的特色是「功能」,其他手機沒有的功能我們嗖嗖就給上了,填補空白,大快人心。做功能當然是 Native 好,性能又好又穩定,用戶也樂於升級。這時候「本周升級」還是「下周升級」的時效性不重要,重要的是升級之後要穩定,不要第二天又是崩潰重啟又是發熱開不了機。

後來像其他大部分互聯網產品一樣,「功能」時代結束了。大部分常用的/不常用的功能基本上都做完了,就要回過頭重視「運營」了。

但運營也需要手段啊,產品裡面你需要不斷給運營提供運營工具,比如可根據需要隨時拼裝的運營元素組件。

系統內置應用也挺難的,(一般情況下)不能自己彈窗說用戶你升級我吧,需要跟著系統走。但是慢,就算是系統自動升級,升級率也是個問題,需要時間等用戶慢慢的升級。

這哪能滿足運營需要。

運營同學剛知道下月要搞個發布會,一個月時間用 Native 做個新模板是來不及的。只能用現有的框架盡最大努力運營。就是會遺憾滿滿,總覺著可以更進一步,拿出最合適的效果。

再比如,有關部門突然說了,從下月起有些應用你不能給展示截圖 或者 需要在頁面裡面進行特殊提示(我隨便說的),這種需求前所未有又有時間要求,放以前再急也得下個Q。

用 H5 就完全不一樣了。

不僅「什麼都可以試」,任何頁面的任何元素都可以通過數據評判效果,進行重新的排列組合;更是可以隨時添加全新的運營元素(或者模板),(當需要的時候)永遠能給用戶超出預期的內容。

多好。

至於非說為什麼 MIUI 里很多應用這麼搞。

我覺著有個答主說的好,包括小米應用商店在內,這些應用都是系統「內置」「業務型」應用,不是「系統應用」。

說這些不是要給樓主截圖裡的「異常」頁面洗地,問題歸問題,這種問題是不應該的,我們修。


挺好的,他們自己人多用用,就知道自家的 WebView 有多爛了。


交互屬性重使用原生,瀏覽屬性重用H5,很好啊。


你們做app的說了一堆在webview里塞html的好處,為什麼騙我裝個app占我手機空間,直接給我一個url不好么...淘寶簡直是罪大惡極的代表


開發Naive應用實在是費力氣,更新也不如HTML方便。君不見蘋果的App Store也是HTML5開發的么?


在樣式多變的頁面使用hybird可以解決APP更新發布曲線帶來的滯後性。

目前H5 hybird是較為成熟的方案,同時我們並不排斥React Native或者「Vue Native」等更新潮的方案。


這不很明顯是技術水平的問題嗎,跟用html5沒啥關係


MIUI從當初的重產品過渡到現在的重運營,對於運營來說自然更喜歡短平快的H5,等native發版要等到什麼時候


這不就是native和web app之爭么?

都被說爛的東西了.

native能優化出更好的體驗.

web迭代快,容易跨平台,更新方便


開發和迭代更快更方便

產品,運營折騰設計的頻率更加頻繁


這讓我想起了淘寶UWP反而砍掉HTML5慢慢的用native去代替。


除了開發維護成本低 其它意義還真看不出來


隨著網路網速發展,以後可能是這樣

什麼,你手機還要裝軟體?我的就是個瀏覽器!


我以前一直覺得MIUI體驗交互有些不好的地方,卻又具體指不出是哪裡。這個問題說到了點上,指出來了


對於應用商店,視頻網站,音樂播放,購物應用等此類需要頻繁更新用戶界面的應用。使用webview確實比開發一個native app來得合理。

流暢程度可能的確不如native,但是方便更新啊,而且界面風格也容易改。最主要的是現在的h5功能已經很強大,特別是處理多媒體以及用戶交互,開發一個版本,可以在從PC到手機所有屏幕尺寸的終端上都有很好的用戶體驗。

總之,對於我開頭提到的這些應用類別來說,確實h5比native更適合。


題主還是先了解下相關知識和背景再來知乎提問吧,不然總是打自己臉。


推薦閱讀:

如何關閉MIUI8廣告?
flyme6從流暢度和動畫體驗是否已經超過了miui8 ?
IOS 10哪些地方沒有MIUI 8好?
如何評價 MIUI 8?
MIUI為什麼熱衷於不斷地內置廣告?

TAG:小米科技 | HTML5 | 米柚MIUI | Android | MIUI8 |