<label id="2a06w"><tt id="2a06w"></tt></label><label id="2a06w"><tt id="2a06w"><em id="2a06w"></em></tt></label><menu id="2a06w"></menu>
  • <dfn id="2a06w"><var id="2a06w"><label id="2a06w"></label></var></dfn>
    <sup id="2a06w"><button id="2a06w"><em id="2a06w"></em></button></sup>
    <dfn id="2a06w"><var id="2a06w"></var></dfn>
    <dfn id="2a06w"></dfn>
  • <dfn id="2a06w"><code id="2a06w"><ins id="2a06w"></ins></code></dfn>
  • <small id="2a06w"><samp id="2a06w"></samp></small>
  • <dfn id="2a06w"><table id="2a06w"><center id="2a06w"></center></table></dfn>
    <label id="2a06w"><tt id="2a06w"><em id="2a06w"></em></tt></label>
    <strike id="2a06w"><form id="2a06w"></form></strike>
    <menu id="2a06w"><tt id="2a06w"></tt></menu>

    將想法與焦點(diǎn)和您一起共享

    APP開(kāi)發(fā),來(lái)學(xué)學(xué)蘋果APP架構(gòu)設(shè)計(jì)發(fā)布者:本站     時(shí)間:2020-05-24 13:05:16

    關(guān)于APP開(kāi)發(fā)工作用原生好,還是用H5好,爭(zhēng)論從沒(méi)間斷過(guò)。如果APP開(kāi)發(fā)技術(shù)人員對(duì)原生比較熟,開(kāi)發(fā)效率比較高,很多東西也控制得了,風(fēng)險(xiǎn)相對(duì)比較低。如果客戶主推產(chǎn)品是App,微信屬于輔助性產(chǎn)品,所以微信要求也沒(méi)那么高。因此可以以原生開(kāi)發(fā)為主,H5為 輔,App大部分頁(yè)面用原生完成,小部分用WebView加載H5。

     

     

    那就來(lái)看看蘋果的架構(gòu)設(shè)計(jì)吧。

     

    蘋果在項(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ù)也面臨著選型。比如,依賴庫(kù)管理,Objective-C時(shí)代大部分用CocoaPods,Swift時(shí)代,我更喜歡Carthage。Carhage是用Swift寫的,和CocoaPods相比,輕耦合,也更靈活。我個(gè)人也不太喜歡CocoaPods, 使用起來(lái)比較麻煩,耦合性也較高。

     

    MVC:Model-View-Controller,經(jīng)典模式,很容易理解,主要缺點(diǎn)有兩個(gè):1.View對(duì)Model的依賴,會(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)備。杭州帷拓科技有著豐富的開(kāi)發(fā)經(jīng)驗(yàn),能夠?yàn)槟闾峁┍匾膸椭?br />



    選擇我們,優(yōu)質(zhì)服務(wù),不容錯(cuò)過(guò)
    1. 優(yōu)秀的網(wǎng)絡(luò)資源,強(qiáng)大的網(wǎng)站優(yōu)化技術(shù),穩(wěn)定的網(wǎng)站和速度保證
    2. 15年上海網(wǎng)站建設(shè)經(jīng)驗(yàn),優(yōu)秀的技術(shù)和設(shè)計(jì)水平,更放心
    3. 全程省心服務(wù),不必?fù)?dān)心自己不懂網(wǎng)絡(luò),更省心。
    ------------------------------------------------------------
    24小時(shí)聯(lián)系電話:021-58370032
    99人妻中文字幕视频在,亚洲无码视频在线免费看,久久国产乱子伦免费精品,日本中文字幕色视频网站
    <label id="2a06w"><tt id="2a06w"></tt></label><label id="2a06w"><tt id="2a06w"><em id="2a06w"></em></tt></label><menu id="2a06w"></menu>
  • <dfn id="2a06w"><var id="2a06w"><label id="2a06w"></label></var></dfn>
    <sup id="2a06w"><button id="2a06w"><em id="2a06w"></em></button></sup>
    <dfn id="2a06w"><var id="2a06w"></var></dfn>
    <dfn id="2a06w"></dfn>
  • <dfn id="2a06w"><code id="2a06w"><ins id="2a06w"></ins></code></dfn>
  • <small id="2a06w"><samp id="2a06w"></samp></small>
  • <dfn id="2a06w"><table id="2a06w"><center id="2a06w"></center></table></dfn>
    <label id="2a06w"><tt id="2a06w"><em id="2a06w"></em></tt></label>
    <strike id="2a06w"><form id="2a06w"></form></strike>
    <menu id="2a06w"><tt id="2a06w"></tt></menu>