1、什么是混合開(kāi)發(fā):
App混合開(kāi)發(fā),其實(shí)并不新奇,就是一個(gè)開(kāi)發(fā)模式,指的是開(kāi)發(fā)App一部分功能用native構(gòu)建,另外一部分功能用html5構(gòu)建,英文名叫:Hybrid App。而且這個(gè)在幾年前就已經(jīng)出現(xiàn)了,真正開(kāi)始流行始于2015年末,到了2017年已經(jīng)很流行了2018年將是鼎盛的一年,因?yàn)楝F(xiàn)在連銀行app都開(kāi)始用混合開(kāi)發(fā)了,比如招行、建行等。
2、為啥要選擇APP混合開(kāi)發(fā)呢?有啥優(yōu)缺點(diǎn)
混合開(kāi)發(fā)最大的優(yōu)點(diǎn)是:節(jié)約成本和時(shí)間,縮短App開(kāi)發(fā)周期。最大的缺點(diǎn)我個(gè)人認(rèn)為有兩個(gè):一是性能不是很好,二是兼容性問(wèn)題。但是隨著框架集的不斷發(fā)展和進(jìn)步,以及資源越來(lái)越豐富。隨著Android 7.0+的普及以及iOS 1.0+的全面適配,性能缺陷和兼容性問(wèn)題都在下降,混合開(kāi)發(fā)App的缺點(diǎn)就明顯會(huì)下降了。這兩個(gè)問(wèn)題因?yàn)楝F(xiàn)在手機(jī)行的強(qiáng)勁以及功能的完善已經(jīng)不是問(wèn)題,而開(kāi)發(fā)周期時(shí)間短,效率高費(fèi)用低恰恰是客戶最需要的。
3、都用什么工具和框架開(kāi)發(fā)
混合開(kāi)發(fā)一些開(kāi)發(fā)工具和框架其實(shí)很早就有了,比如AppCan、PhoneGap(Cordova)等,都主張一站式開(kāi)發(fā),一個(gè)純html5的開(kāi)發(fā)人員就可以開(kāi)發(fā)和發(fā)布Android和iOS的App了,但還這樣
4、怎么做好混合開(kāi)發(fā)
客戶會(huì)問(wèn),找個(gè)純html5的開(kāi)發(fā)人員就開(kāi)始做混合開(kāi)發(fā),這個(gè)是不實(shí)際的。主要是因?yàn)椋?、不是所有的App就用html5來(lái)做就可以滿足需求,有些特殊場(chǎng)景和特殊的頁(yè)面以及高性能頁(yè)面需要用到原生的支持,2、一些復(fù)雜算法/重要信息用html5來(lái)實(shí)現(xiàn)和管理。因此只有有豐富的管理經(jīng)驗(yàn)的人
5、能有什么建議嗎?
通過(guò)一個(gè)階段的深入開(kāi)發(fā)和積累的經(jīng)驗(yàn),認(rèn)為以后大部分混合App以后都會(huì)朝著以下方向去努力:
首先先是開(kāi)發(fā)比例,努力做到原生部分占20%,html5部分占80%。結(jié)合深度的原生實(shí)現(xiàn):App主界面框架(可能含啟動(dòng)頁(yè)面)、要求高性能的頁(yè)面(如聊天/視頻通話頁(yè)面)、復(fù)雜算法/重要信息的存儲(chǔ)或通信。這個(gè)比例我們對(duì)比來(lái)看,前這兩年來(lái)說(shuō)(2017~2018年),大部分App只能做到35%左右的原生以及65%左右的html5。
從我們的經(jīng)驗(yàn)上面說(shuō),一個(gè)混合App項(xiàng)目的前端開(kāi)發(fā)人員的分布大概會(huì)是1:1:2.5,即:
小型項(xiàng)目:1個(gè)Android,1個(gè)iOS,2~3個(gè)html5
中大型項(xiàng)目:2個(gè)Android,2個(gè)iOS,4~6個(gè)html5
6、將來(lái)的發(fā)展會(huì)怎樣,混合開(kāi)發(fā)產(chǎn)生影響
我們相信,以后幾年Android和iOS開(kāi)發(fā)人員需求量將逐漸減小,而html5開(kāi)發(fā)人員需求量將越來(lái)越大,而從Android或iOS轉(zhuǎn)html5的開(kāi)發(fā)人員將慢慢越來(lái)越吃香。同時(shí)html發(fā)展進(jìn)程將加快,將越來(lái)越多的html框架和工具出現(xiàn)。
我們通過(guò)這樣的總結(jié)更希望把新的技術(shù)融入到新的開(kāi)發(fā)中,讓客戶再APP開(kāi)發(fā)中使用新技術(shù)新框架,得到實(shí)惠。