但是是不是兩種開發(fā)模式也有區(qū)別呢?是的,那么我就說一下主要的區(qū)別。
1、動畫效果的優(yōu)化,在app中有何中動畫的形式,比如側(cè)邊欄菜單的滑入滑出、響應(yīng)動畫、頁面切換之間的過場等等。在H5之下的眾多實(shí)現(xiàn)方法都沒有辦法達(dá)到純原生的性能。但是效果基本是相同的,但是開發(fā)的工作投入原生又要高深多。css3動畫、javascript動畫或者原生動畫。css3動畫非常的消耗性能,如我們有的時候發(fā)現(xiàn)運(yùn)行css3動畫的時候cpu封神會轉(zhuǎn)起來,我們應(yīng)該盡量避免大批量使用css3動畫。比如在一個新頁面的載入上,調(diào)用底層動畫要考慮,一是本身資源頁面的渲染問題,另一個是遠(yuǎn)程數(shù)據(jù)的獲取。要保證這些動畫能夠很快的響應(yīng),避免大量的css頁面會導(dǎo)致渲染卡頓,尚武科技為了解決這些性能問題通常會用到預(yù)加載或模擬動畫。
2、獲取服務(wù)端數(shù)據(jù)的再增強(qiáng),H5里的數(shù)據(jù)獲取都是在資源頁面上異步完成的,因?yàn)橹挥羞@樣才能讓這些資源頁面完成預(yù)加載或者渲染。解決這個問題,H5APP是要有話大規(guī)模數(shù)據(jù)的頁面,用MVVM的方式,基于MVVM的H5APP,相對來說它們獲取數(shù)據(jù)和更新數(shù)據(jù)的方式更敏捷更科學(xué)。
3、頁面切換更講究。尚武科技的APP開發(fā)會用到幾種不錯的實(shí)現(xiàn)方式,比如預(yù)加載和模擬動畫,甚至有批量的預(yù)加載,批量的截圖模擬動畫等等,更多的緩存頁面信息,在跳轉(zhuǎn)到響應(yīng)的子頁面時緩存這些子頁面的下級頁面資源,從而提升體驗(yàn)。H5APP的框架里也已經(jīng)越來越完善了。MVVM框架,要考慮到在頁面生存周期結(jié)束時它們的控制器/頁面資源是否得到釋放,規(guī)模較小的商業(yè)APP都可以得到解決,但是如果客戶想用純H5來開發(fā)大型APP,我們也是持保留意見的。
4、Android/iOS的區(qū)別,我么要糾正一個誤區(qū),很多人都說純H5 APP一次編寫就能編譯Android/iOS兩種不同的APP,大大降低了成本。這個成本的降低是在開發(fā)非誠有經(jīng)驗(yàn)的基礎(chǔ)上面才能實(shí)現(xiàn)的。舉一個例子,Android和iOS在返回上一頁的處理方式上就有明顯的區(qū)別,iOS的頂部bar在全屏下怎樣處理,Android機(jī)器出現(xiàn)smart bar怎樣處理頁面的布局,只有成熟的開發(fā)團(tuán)隊(duì)和公司在很好的經(jīng)驗(yàn)前提下才能很好的解決這樣的問題。
現(xiàn)在做H5混合APP開發(fā)的公司很多,但是能真正做到完美開發(fā)的并不是很多,因?yàn)闆]有很多的經(jīng)驗(yàn)積累去解決這些實(shí)際問題,這幾個是我在做這些APP時考慮最多的問題。當(dāng)然大家大談H5 APP時都是快速開發(fā)、低成本、多平臺等等,但我卻覺得它和很多APP開發(fā)方式相比有一個不同之處——圖文混合的排版。正是這些復(fù)雜多變的CSS樣式消耗了性能,但是它帶來了排版的多樣性,能夠細(xì)致到每一個字寬行高和風(fēng)格的像素級處理,才是H5的優(yōu)異之處。任何事情的發(fā)展與選擇都需要一個真正適合的模式的選擇和確定,我們希望我們的客戶都能選擇適合自己的模式,開發(fā)出高品質(zhì)的app產(chǎn)品。
1:根據(jù)公司的經(jīng)驗(yàn)履歷挑選在這里建議優(yōu)先尋找經(jīng)驗(yàn)履歷較深的app開發(fā)公司,不要因?yàn)樨潏D便宜選擇較為年輕,經(jīng)驗(yàn)
APP的開發(fā)價格是根據(jù)不是一概而論的,但是首先要知道,費(fèi)用較之網(wǎng)站開發(fā)和微信小程序的開發(fā)要高出一些,首先你
APP開發(fā)的時間確定要根據(jù)實(shí)際需求確定,或者說根據(jù)復(fù)雜的程度確定。我們需要你了解開發(fā)的階段,一般的APP的開