APP開(kāi)發(fā),來(lái)學(xué)學(xué)蘋(píng)果APP架構設計發(fā)布者:本站 時(shí)間:2020-05-24 13:05:16
關(guān)于A(yíng)PP開(kāi)發(fā)工作用原生好,還是用H5好,爭論從沒(méi)間斷過(guò)。如果APP開(kāi)發(fā)技術(shù)人員對原生比較熟,開(kāi)發(fā)效率比較高,很多東西也控制得了,風(fēng)險相對比較低。如果客戶(hù)主推產(chǎn)品是App,微信屬于輔助性產(chǎn)品,所以微信要求也沒(méi)那么高。因此可以以原生開(kāi)發(fā)為主,H5為 輔,App大部分頁(yè)面用原生完成,小部分用WebView加載H5。
那就來(lái)看看蘋(píng)果的架構設計吧。
蘋(píng)果在項目中選擇了Swift,主要基于兩個(gè)原因:
1. Swift真的很簡(jiǎn)潔,生產(chǎn)效率很高;
2. Swift取代Objective-C是必然的趨勢;如果你的團隊里沒(méi)人懂Swift,那還是乖乖用Objective-C吧;如果有一兩個(gè)懂Swift的,那可以混合開(kāi)發(fā),并讓不懂的人盡快學(xué)會(huì )Swift;如果都懂了,不用想了,直接上Swift吧。當語(yǔ)言上選擇了Swift,相應的一些第三方庫也面臨著(zhù)選型。比如,依賴(lài)庫管理,Objective-C時(shí)代大部分用CocoaPods,Swift時(shí)代,我更喜歡Carthage。Carhage是用Swift寫(xiě)的,和CocoaPods相比,輕耦合,也更靈活。我個(gè)人也不太喜歡CocoaPods, 使用起來(lái)比較麻煩,耦合性也較高。
MVC:Model-View-Controller,經(jīng)典模式,很容易理解,主要缺點(diǎn)有兩個(gè):1.View對Model的依賴(lài),會(huì )導致View也包含了業(yè)務(wù)邏輯;2.Controller會(huì )變得很厚很復雜。
MVP:Model-View-Presenter,MVC的一個(gè)演變模式,將Controller換成了Presenter,主要為了解決上述第一個(gè)缺點(diǎn),將View和Model解耦,不過(guò)第二個(gè)缺點(diǎn)依然沒(méi)有解決。
MVVM:Model-View-ViewModel,是對MVP的一個(gè)優(yōu)化模式,采用了雙向綁定:View的變動(dòng),自動(dòng)反映在ViewModel,反之亦然。
架構模式上每種模式都各有優(yōu)點(diǎn),也各有極限性。越高級的模式復雜性越高,實(shí)現起來(lái)也越難。最近火熱的微服務(wù)架構,比起MVC,復雜度不知增加了多少倍。
在實(shí)際APP開(kāi)發(fā)項目中思考架構時(shí),也要想著(zhù)要用哪種模式只思考現階段,以現有的人力資源和時(shí)間資源,如何才能更快更好地完成需求,適當考慮下如何為后期擴展或重構做準備。杭州帷拓科技有著(zhù)豐富的開(kāi)發(fā)經(jīng)驗,能夠為你提供必要的幫助。
選擇我們,優(yōu)質(zhì)服務(wù),不容錯過(guò)
1. 優(yōu)秀的網(wǎng)絡(luò )資源,強大的網(wǎng)站優(yōu)化技術(shù),穩定的網(wǎng)站和速度保證
2. 15年上海網(wǎng)站建設經(jīng)驗,優(yōu)秀的技術(shù)和設計水平,更放心
3. 全程省心服務(wù),不必擔心自己不懂網(wǎng)絡(luò ),更省心。
------------------------------------------------------------
24小時(shí)聯(lián)系電話(huà):021-58370032