干貨:蘋(píng)果APP開(kāi)發(fā)工作中架構(gòu)的設(shè)計(jì)
分享 2020.03.23 瀏覽次數(shù):2112次
APP開(kāi)發(fā)工作的功能復(fù)雜數(shù)據(jù)龐大,幾乎所有的軟件公司在做APP架構(gòu)設(shè)計(jì)時(shí)都會(huì)面臨技術(shù)選型的抉擇,不同的技術(shù)方案架構(gòu)也可能完全不同。
關(guān)于用原生好,還是用H5好的爭(zhēng)論從沒(méi)間斷過(guò)。我們覺(jué)得脫離了實(shí)際場(chǎng)景來(lái)討論孰好孰壞意義不大。例如項(xiàng)目不止要做Android和iOS App,也要做微信公眾號(hào);需求上來(lái)說(shuō),大部分頁(yè)面用H5實(shí)現(xiàn),可以減少很多工作量。因?yàn)椴豢煽匾蛩靥叨鴷r(shí)間又短,風(fēng)險(xiǎn)太大。如果APP開(kāi)發(fā)技術(shù)人員對(duì)原生比較熟,開(kāi)發(fā)效率比較高,很多東西也控制得了,風(fēng)險(xiǎn)相對(duì)比較低。如果客戶(hù)主推產(chǎn)品是App,微信屬于輔助性產(chǎn)品,所以微信要求也沒(méi)那么高。因此可以以原生開(kāi)發(fā)為主,H5為 輔,App大部分頁(yè)面用原生完成,小部分用WebView加載H5。
在項(xiàng)目中選擇了Swift,主要基于兩個(gè)原因:
1. Swift真的很簡(jiǎn)潔,生產(chǎn)效率很高;
2. Swift取代Objective-C是必然的趨勢(shì);如果你的團(tuán)隊(duì)里沒(méi)人懂Swift,那還是乖乖用Objective-C吧;如果有一兩個(gè)懂Swift的,那可以混合開(kāi)發(fā),并讓不懂的人盡快學(xué)會(huì)Swift;如果都懂了,不用想了,直接上Swift吧。當(dāng)語(yǔ)言上選擇了Swift,相應(yīng)的一些第三方庫(kù)也面臨著選型。比如,依賴(lài)庫(kù)管理,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對(duì)Model的依賴(lài),會(huì)導(dǎo)致View也包含了業(yè)務(wù)邏輯;2.Controller會(huì)變得很厚很復(fù)雜。
MVP:Model-View-Presenter,MVC的一個(gè)演變模式,將Controller換成了Presenter,主要為了解決上述第一個(gè)缺點(diǎn),將View和Model解耦,不過(guò)第二個(gè)缺點(diǎn)依然沒(méi)有解決。
MVVM:Model-View-ViewModel,是對(duì)MVP的一個(gè)優(yōu)化模式,采用了雙向綁定:View的變動(dòng),自動(dòng)反映在ViewModel,反之亦然。
架構(gòu)模式上每種模式都各有優(yōu)點(diǎn),也各有極限性。越高級(jí)的模式復(fù)雜性越高,實(shí)現(xiàn)起來(lái)也越難。最近火熱的微服務(wù)架構(gòu),比起MVC,復(fù)雜度不知增加了多少倍。
在實(shí)際APP開(kāi)發(fā)項(xiàng)目中思考架構(gòu)時(shí),也要想著要用哪種模式只思考現(xiàn)階段,以現(xiàn)有的人力資源和時(shí)間資源,如何才能更快更好地完成需求,適當(dāng)考慮下如何為后期擴(kuò) 展或重構(gòu)做準(zhǔn)備。
-
金華定制app市場(chǎng)前景如何?
日期:2020-10-29瀏覽次數(shù):2290次
-
金華app開(kāi)發(fā):現(xiàn)狀和未來(lái)之路
日期:2020-10-29瀏覽次數(shù):2275次
-
如何讓金華網(wǎng)站制作廣受歡迎?
日期:2020-09-15瀏覽次數(shù):2397次
-
金華網(wǎng)站設(shè)計(jì)有何重要性?
日期:2020-09-15瀏覽次數(shù):2348次
-
你真的了解“小程序定制開(kāi)發(fā)”嗎
日期:2020-06-22瀏覽次數(shù):2372次
相關(guān)新聞
整合同類(lèi)新聞,相關(guān)新聞一手掌握
-
三亞新網(wǎng)站如何提高百度收錄
日期:2023-02-14瀏覽次數(shù):1582次
-
三亞網(wǎng)站建設(shè):針對(duì)百度優(yōu)化關(guān)鍵詞的4個(gè)步驟
日期:2023-02-14瀏覽次數(shù):1648次
-
做三亞app開(kāi)發(fā),這些問(wèn)題常遇到
日期:2021-02-25瀏覽次數(shù):2050次
-
三亞app開(kāi)發(fā),如何開(kāi)發(fā)高質(zhì)量的app
日期:2021-02-25瀏覽次數(shù):2080次
-
三亞網(wǎng)站制作之網(wǎng)站的介紹和宣傳
日期:2020-10-14瀏覽次數(shù):1953次
最新新聞
與互聯(lián)網(wǎng)同行,實(shí)時(shí)掌握網(wǎng)建行業(yè)最新動(dòng)態(tài)
-
營(yíng)銷(xiāo)型網(wǎng)站的與其他網(wǎng)站有何不同?
日期:2020-02-23瀏覽次數(shù):1958次
-
網(wǎng)站建設(shè)你最應(yīng)該知道哪些事?
日期:2020-04-09瀏覽次數(shù):4096次
-
韶關(guān)網(wǎng)頁(yè)設(shè)計(jì):腦洞大開(kāi)的網(wǎng)站設(shè)計(jì)讓你的網(wǎng)頁(yè)活起來(lái),不妨試試
日期:2020-10-10瀏覽次數(shù):2058次
-
濟(jì)南網(wǎng)站建設(shè)后期的維護(hù)內(nèi)容總結(jié)
日期:2020-10-13瀏覽次數(shù):2062次
-
零基礎(chǔ)學(xué)杭州網(wǎng)站優(yōu)化,應(yīng)該這樣做
日期:2021-07-09瀏覽次數(shù):4002次
隨機(jī)新聞
新聞新動(dòng)態(tài),您需要的新聞管家
洞悉市場(chǎng)趨勢(shì)演變讓傳播回歸社會(huì)
免費(fèi)獲取網(wǎng)站建設(shè)與網(wǎng)絡(luò)推廣方案報(bào)價(jià)
-
關(guān)于我們
杭州帷拓科技有限公司,是一家新型的全案網(wǎng)絡(luò)開(kāi)發(fā)公司,作為以互聯(lián)網(wǎng)高端網(wǎng)站建設(shè)、APP開(kāi)發(fā)、小程序開(kāi)發(fā)為核心的專(zhuān)業(yè)網(wǎng)絡(luò)技術(shù)服務(wù)供應(yīng)商,帷拓科技致力于全面分析市場(chǎng)環(huán)境、衡量與預(yù)測(cè)市場(chǎng)需求、整合區(qū)別于行業(yè)競(jìng)爭(zhēng)對(duì)手的絕對(duì)優(yōu)勢(shì),結(jié)合品牌理念深度挖掘項(xiàng)目?jī)?yōu)勢(shì)和產(chǎn)品價(jià)值,提升客戶(hù)品牌認(rèn)知、認(rèn)可度。
-
我們的客戶(hù)
帷拓科技?xì)v經(jīng)十年沉淀,與國(guó)內(nèi)外上千家客戶(hù)達(dá)成合作關(guān)系,其中穩(wěn)定合作的公司有:浙江華為、浙江移動(dòng)、浙江5G產(chǎn)業(yè)聯(lián)盟、浙江省社科院、綠城足球俱樂(lè)部、娃哈哈雙語(yǔ)學(xué)校、健康中國(guó)杭州峰會(huì)、科雷機(jī)電等,帷拓科技始終堅(jiān)持“帷有專(zhuān)業(yè),才能拓展無(wú)限”的服務(wù)理念,堅(jiān)持“認(rèn)真堅(jiān)持細(xì)節(jié)”的優(yōu)質(zhì)服務(wù)理念,不斷完善自身,成就企業(yè),最終實(shí)現(xiàn)共贏。
-
我們的業(yè)務(wù)
帷拓科技主營(yíng)業(yè)務(wù)范圍包含互聯(lián)網(wǎng)高端網(wǎng)站建設(shè)、APP開(kāi)發(fā)、小程序開(kāi)發(fā)、商城網(wǎng)站建設(shè)、公眾號(hào)運(yùn)營(yíng)以及數(shù)字營(yíng)銷(xiāo)等,涵蓋了服務(wù)、房產(chǎn)、數(shù)碼、服裝、物流貿(mào)易等行業(yè),根據(jù)品牌現(xiàn)狀,為每個(gè)客戶(hù)量身定制項(xiàng)目整體服務(wù)方案,以敏銳的市場(chǎng)洞察力、創(chuàng)新的市場(chǎng)策劃能力,全面把握市場(chǎng)變化,為客戶(hù)實(shí)現(xiàn)從企業(yè)到消費(fèi)者的價(jià)值轉(zhuǎn)換。