iOS應(yīng)用改進(jìn)建議

常見問題

  • 傳統(tǒng)的MVC架構(gòu)座韵,單體型應(yīng)用公壤,Controller職責(zé)過重 -> 平臺(tái)型架構(gòu),Controller減負(fù)商模,引入framework降低耦合度

  • 絕對(duì)布局奠旺,屏幕適配工作比較繁瑣 -> Auto Layout

  • iPad和iPhone用一套界面 -> 提供兩套界面,size class

  • 兼容模式施流,圖片有拉伸 -> 高清模式响疚,圖片不拉伸

  • 純代碼寫界面 -> storyboard,xib瞪醋,代碼混合

  • 編碼風(fēng)格有好幾套忿晕,缺少統(tǒng)一規(guī)范 -> 引入編碼規(guī)范,加強(qiáng)代碼review

  • 代碼review流于形式 -> 固定時(shí)間银受,團(tuán)隊(duì)全員review

  • 實(shí)現(xiàn)思路一人一個(gè)想法 -> 引入概要設(shè)計(jì)践盼,在實(shí)施前團(tuán)隊(duì)充分討論,觀點(diǎn)PK蚓土;可以考慮一個(gè)iOS + 一個(gè)Android宏侍,“結(jié)對(duì)設(shè)計(jì)”

  • trunk、branch兩個(gè)分支 -> trunk蜀漆、branch谅河、tag三個(gè)分支

  • 開發(fā)版、正式版兩種版本 ->開發(fā)版确丢、內(nèi)部試用版绷耍、正式版三種版本

  • 只有人工的黑盒測(cè)試 -> 引入Jekin之類的工具,由測(cè)試人員和開發(fā)人員一起鲜侥,寫單元測(cè)試褂始,自動(dòng)打包,自動(dòng)測(cè)試

  • 沒有做語言本地化處理 -> 考慮語言本地化描函,為多語言版本做準(zhǔn)備

方案

  1. 以最小的改動(dòng)在現(xiàn)有的基礎(chǔ)上實(shí)現(xiàn)需求崎苗,盡量保持穩(wěn)定

  2. 在當(dāng)前的基礎(chǔ)上逐步重構(gòu)

  3. Object-C + CocoaPods + Svn重寫

  4. Swift + Carthage + Git重寫

iOS和Android統(tǒng)一編程方案

  1. iOS先行開發(fā)狐粱,Android延遲1~3個(gè)月,無統(tǒng)一編程方案

  2. iOS胆数、Android肌蜻、APP網(wǎng)關(guān)先討論,共同開發(fā)必尼,在概要設(shè)計(jì)蒋搜,API設(shè)計(jì)上達(dá)到統(tǒng)一

  3. 將一部分內(nèi)容用H5實(shí)現(xiàn),混合架構(gòu)判莉,這部分兩者公用

  4. 將公共部分用C實(shí)現(xiàn)豆挽,兩個(gè)平臺(tái)公用

  5. Facebook的reactnative,阿里的weeks等JS方案

  6. Swift券盅,據(jù)說Android將支持Swift帮哈,服務(wù)端用Swift寫已經(jīng)有人開始探索

架構(gòu)方面的考慮

  • Controller(場(chǎng)景scene生命周期),AppDelegate(應(yīng)用App生命周期)只做調(diào)度者渗饮,不做具體的事但汞,最好連表格的代理都不要做(代碼寫界面,用一個(gè)容器view代替controller的self.view)

  • 以framework的形式進(jìn)行模塊劃分互站,降低耦合度私蕾,這要求升級(jí)到iOS8

  • 引入ViewModel概念,作為界面和具體邏輯之間的轉(zhuǎn)換接口胡桃,隔離界面層踩叭,并且讓界面層的代碼盡量少,方便修改翠胰,快速應(yīng)變

  • 將跳轉(zhuǎn)集中處理容贝,比如第三方庫routable-ios,借鑒url的做法對(duì)頁面統(tǒng)一組織

  • 引入“微服務(wù)”概念之景,包裝一些只供外部模塊調(diào)用的“基礎(chǔ)組件”斤富,比如網(wǎng)絡(luò),數(shù)據(jù)庫锻狗,二維碼掃描等等

  • 引入“服務(wù)概念”满力,包裝幾個(gè)跟具體業(yè)務(wù)無關(guān)的“公共業(yè)務(wù)”,比如支付轻纪,登錄注冊(cè)油额,第三方登錄,分享等等

  • 引入“移動(dòng)網(wǎng)關(guān)”概念刻帚,作為客戶端的后端潦嘶,后端的前端,并且集成H5崇众、Android掂僵、iOS公用的邏輯航厚,筆記日志、統(tǒng)計(jì)锰蓬、黑白名單阶淘、安全等等

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市互妓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌坤塞,老刑警劉巖冯勉,帶你破解...
    沈念sama閱讀 216,919評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異摹芙,居然都是意外死亡灼狰,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門浮禾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來交胚,“玉大人,你說我怎么就攤上這事盈电『兀” “怎么了?”我有些...
    開封第一講書人閱讀 163,316評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵匆帚,是天一觀的道長熬词。 經(jīng)常有香客問我,道長吸重,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,294評(píng)論 1 292
  • 正文 為了忘掉前任嚎幸,我火速辦了婚禮颜矿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘嫉晶。我一直安慰自己骑疆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,318評(píng)論 6 390
  • 文/花漫 我一把揭開白布车遂。 她就那樣靜靜地躺著封断,像睡著了一般。 火紅的嫁衣襯著肌膚如雪舶担。 梳的紋絲不亂的頭發(fā)上坡疼,一...
    開封第一講書人閱讀 51,245評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音衣陶,去河邊找鬼柄瑰。 笑死闸氮,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的教沾。 我是一名探鬼主播蒲跨,決...
    沈念sama閱讀 40,120評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼授翻!你這毒婦竟也來了或悲?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,964評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤堪唐,失蹤者是張志新(化名)和其女友劉穎巡语,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體淮菠,經(jīng)...
    沈念sama閱讀 45,376評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡男公,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,592評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了合陵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片枢赔。...
    茶點(diǎn)故事閱讀 39,764評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖拥知,靈堂內(nèi)的尸體忽然破棺而出踏拜,到底是詐尸還是另有隱情,我是刑警寧澤低剔,帶...
    沈念sama閱讀 35,460評(píng)論 5 344
  • 正文 年R本政府宣布执隧,位于F島的核電站,受9級(jí)特大地震影響户侥,放射性物質(zhì)發(fā)生泄漏镀琉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,070評(píng)論 3 327
  • 文/蒙蒙 一蕊唐、第九天 我趴在偏房一處隱蔽的房頂上張望屋摔。 院中可真熱鬧,春花似錦替梨、人聲如沸钓试。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽弓熏。三九已至,卻和暖如春糠睡,著一層夾襖步出監(jiān)牢的瞬間挽鞠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留信认,地道東北人材义。 一個(gè)月前我還...
    沈念sama閱讀 47,819評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像嫁赏,于是被迫代替她去往敵國和親其掂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,665評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,090評(píng)論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫潦蝇、插件款熬、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,098評(píng)論 4 62
  • 今天是父親節(jié),ZZ準(zhǔn)備親手做一張賀卡來表達(dá)爸爸的愛攘乒。 看ZZ在手機(jī)上看視頻华烟,就我惱火啦! Mom:ZZ持灰,把手機(jī)給我...
    橙云影閱讀 214評(píng)論 0 0
  • 首先創(chuàng)建幾個(gè)結(jié)構(gòu)復(fù)雜的表,導(dǎo)入10萬條以上的數(shù)據(jù)進(jìn)行測(cè)試负饲。 1.SQL語句的優(yōu)化 原則 1:盡量避免在列上進(jìn)行運(yùn)算...
    php小白成長ing閱讀 320評(píng)論 0 0
  • 我成長在全國“大眾創(chuàng)業(yè)堤魁、萬眾創(chuàng)新”的潮流之中,眾籌算是一種“新式”的想法返十,從字面看大家就都懂了妥泉,也許我們也都...
    一個(gè)會(huì)飛的胖子閱讀 180評(píng)論 0 0