老難題新思路:移動開發(fā)策略——原生與混合孰優(yōu)孰劣?
譯文【51CTO.com快譯】
原生還是混合哪種方案更好,這是個困擾著移動開發(fā)者的老難題?通過今天的文章,相信大家能夠找到適合自己的答案。
因此:哪種方式更理想?原生應(yīng)用還是混合應(yīng)用?如果大家打算構(gòu)建一款混合應(yīng)用,哪款框架又最為合適?
Weeeell, it’s not as simple as that.這仍然是那種“各擅勝場”型的問題。而且很明顯,Xamarin或者Cordova等框架雖然強大,但也絕非能夠全方位超越原生應(yīng)用。
在尋求答案的過程中,我們不妨從以下幾個角度入手:
- 您需要的是否屬于受眾廣泛的移動友好型網(wǎng)站?如果答案是肯定的,那么Cordova顯然更為理想。實際上,如果大家善加調(diào)整,完成可以利用Cordova打造一款面向iOS且同時提供Web型Android版本的應(yīng)用。另外,如果大家需要為某一重大事件(例如會議)開發(fā)對應(yīng)方案,那么移動網(wǎng)站的效果絕對更好——畢竟其無需下載即可使用。
- 您是否打算構(gòu)建一款供企業(yè)內(nèi)部用戶使用,且能夠控制具體運行設(shè)備的應(yīng)用?如果是,那么應(yīng)當(dāng)考慮面向單一原生平臺(即iOS——如果不會給您的企業(yè)造成額外支出——或者Android——如果您認(rèn)為設(shè)備碎片化并不是問題)。CSS+JavaScript擁有非常明確的邊界設(shè)定,因此在編程模型之上添加抽象層的同時也會帶來新的混淆層。因此,如果能夠選定一種移動平臺,那么原生應(yīng)用才是***選項。
- 另外,如果大家希望打造一款絕對***的應(yīng)用,那么至少要構(gòu)建兩款原生應(yīng)用。任何非使用原生SDK開發(fā)的應(yīng)用都無法與目標(biāo)設(shè)備全面契合。這意味著大家需要準(zhǔn)備兩套代碼庫、兩套bug副本甚至是兩支彼此獨立的團隊(甚至額外建立一支后端團隊)。但要獲得卓越的效果,成本是必需的!
- 如果大家僅僅打算在設(shè)備上實現(xiàn)一定程度的交互效果,又不希望打造兩套獨立的代碼庫,那么Xamarin或者NativeScript都能很好地解決問題。
- ***,大家還需要考慮團隊的現(xiàn)有技能儲備。如果大家希望實現(xiàn)原生外觀,且擁有豐富的JavaScript開發(fā)人員,那么NativeScript與ReactNative更為合適。而如果C#開發(fā)團隊規(guī)模龐大,那么Xamarin則為***選項。
原文鏈接:https://dzone.com/articles/what-mobile-strategy-is-best-native-or-hybrid
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】