TCLMOVE 技術(shù)選型

TCLMOVE 技術(shù)選型

  • Swift
  • Storyboard
  • RxSwfit
  • Rleam
  • R.Swfit
  • Moya+Alamofire+ObjectMapper
  • SwiftyBeaver
  • Kingfisher
  • CocoPod

編程語言選擇

  • Swift
  • Object-C

Swift的優(yōu)勢:

  1. 趨勢 蘋果已經(jīng)明確壹店,Swift將是未來的主力開發(fā)語言
  2. Swift定位是安全捕透,快速甸祭,跨平臺的語言
  3. gitHub上新增的第三方開源庫,Swift版本要多余Object-C的版本

Swift的缺點:

  1. 不支持Runtime
  2. 編譯速度慢
  3. Swift核心庫會打包在APP中瓢娜,增加了APP體積

建議: 對于新項目盡量采用Swift醇滥,對于業(yè)務(wù)復(fù)雜的舊項目Object-C繼續(xù)維持

代碼手寫 UI 和 Storyboard 之間的取舍

構(gòu)建 UI 方式的爭論就在 Cocoa 開發(fā)者社區(qū)里一直發(fā)生著躏仇,Storyboard 被詬病最多的 是沖突風(fēng)險加載速度

沖突風(fēng)險

Storyboard 一直在進(jìn)步腺办,在 Xcode 7 引入了 SB reference 以后焰手,「SB 容易沖突」已經(jīng)得到很好的解決了。

加載速度

編譯過程中怀喉,項目里用到的 SB 文件也會被編譯书妻,并以 storyboardc 為擴(kuò)展名保存在最終的 app 包內(nèi)。這個是一個文件夾躬拢,里面存儲了一系列 .nib 文件躲履。SB 中的每個對象將會被編譯為一個單獨(dú)的 .nib。

Storyboard 優(yōu)勢

Storyboard可以簡化UI的開發(fā)聊闯,屬性設(shè)置和布局都可以簡單化工猜,實現(xiàn)和邏輯代碼的分離,不會污染代碼菱蔬。

建議: 采用Storyboard

RxSwift

RxSwift是Swift函數(shù)響應(yīng)式編程的一個開源庫篷帅,由Github的ReactiveX組織開發(fā),維護(hù)拴泌。

RxSwift的優(yōu)點

  • Composable 可組合魏身,在設(shè)計模式中有一種模式叫做組合模式,你可以方便的用不同的組合實現(xiàn)不同的類
  • Reusable 代碼可重用蚪腐,原因很簡單箭昵,對應(yīng)RxSwift,就是一堆Obserable
  • Declarative 響應(yīng)式的回季,因為狀態(tài)不可變家制,只有數(shù)據(jù)變化
  • Understandable and concise 簡潔正林,容易理解。
  • Stable 穩(wěn)定颤殴,因為RxSwift寫出的代碼觅廓,單元測試時分方便
  • Less stateful “無”狀態(tài)性,因為對于響應(yīng)式編程诅病,你的應(yīng)用程序就是一堆數(shù)據(jù)流
  • Without leaks 沒有泄漏,因為資源管理非常簡單

Rleam

Realm是由Y Combinator孵化的創(chuàng)業(yè)團(tuán)隊開源出來的一款可以用于iOS(同樣適用于Swift&Objective-C)和Android的跨平臺移動數(shù)據(jù)庫粥烁。

  • 跨平臺:支持的平臺包括Java贤笆,Objective-C,Swift讨阻,React Native芥永,Xamarin。
  • 簡單易用:Core Data 和 SQLite 冗余钝吮、繁雜的知識和代碼埋涧,而Realm,可以極大地減少學(xué)習(xí)成本奇瘦,立即學(xué)會本地化存儲的方法棘催。
  • 可視化:Realm 還提供了一個輕量級的數(shù)據(jù)庫查看工具,可以查看數(shù)據(jù)庫當(dāng)中的內(nèi)容耳标,執(zhí)行簡單的插入和刪除數(shù)據(jù)的操作醇坝。

R.Swfit

R.Swfit 在Swift項目中自動生成資源(像圖片,字體次坡,轉(zhuǎn)場)相關(guān)的強(qiáng)類型變量呼猪,可以優(yōu)雅的獲取資源,仿Android資源文件使用的方法砸琅。

相關(guān)資源:

Moya+Alamofire+ObjectMapper

Moya的基本思想是宋距,提供一些網(wǎng)絡(luò)抽象層,它們被充分的封裝了且實際上直接調(diào)用了Alamofire. 它不僅在普通的簡單的事情上很容易使用症脂,而且在綜合的復(fù)雜的事情上也容易使用

如果你使用 Alamofire 來抽象 URLSession, 那為什么不使用一些方式來抽象URLs和parameters等等的本質(zhì)呢?
Moya的一些特色功能:

  • 對正確的API端點訪問進(jìn)行編譯時檢查.
  • 讓您使用關(guān)聯(lián)的枚舉值定義不同端點的清晰用法.
  • 把test stub作為一等公民谚赎,所以單元測試超級簡單.

Moya Overview

Alamofire 是一個用Swift編寫的HTTP網(wǎng)絡(luò)庫.

特性:

  • 鏈?zhǔn)降恼埱?響應(yīng)方法
  • URL/JSON/plist參數(shù)編碼
  • 上傳文件/數(shù)據(jù)/流/MultipartFormData
  • 使用請求或恢復(fù)數(shù)據(jù)下載文件
  • 身份驗證使用URLCredential
  • HTTP響應(yīng)驗證
  • 上傳和下載進(jìn)度閉包
  • cURL命令輸出
  • 動態(tài)調(diào)整和重試請求
  • TLS證書和公鑰固定
  • 網(wǎng)絡(luò)可達(dá)性
  • 綜合單元和集成測試覆蓋
  • 完整的文檔

ObjectMapper是一個用Swift編寫的框架,它使您可以很容易地將模型對象(類和結(jié)構(gòu))轉(zhuǎn)換為JSON诱篷。

特性:

  • JSON對象映射
  • 將對象映射到JSON
  • 嵌套對象(在數(shù)組或字典中單獨(dú)使用)
  • 自定義轉(zhuǎn)換期間映射
  • 結(jié)構(gòu)支持
  • 常量的支持

SwiftyBeaver

SwiftyBeaver沸版,Swift多彩日志記錄。

特性:

  • 開發(fā)期間: 彩色記錄到Xcode控制臺
  • 開發(fā)期間: 彩色記錄文件
  • 發(fā)布期間: 加密記錄到SwiftyBeaver平臺
  • 通過Mac App來瀏覽兴蒸、搜索和過濾

Kingfisher

Kingfisher是一個輕量級的视粮、純Swift的庫,用于從web上下載和緩存圖像橙凳。這個項目深受流行的SDWebImage的啟發(fā)蕾殴。

特性:

  • 異步圖像下載和緩存笑撞。
  • 基于URLSession〉鼍酰基本的圖像處理器和過濾器茴肥。
  • 用于內(nèi)存和磁盤的多層緩存。
  • 可取消下載和處理任務(wù)以提高性能荡灾。
  • 獨(dú)立的組件瓤狐。根據(jù)需要分別使用下載程序或緩存系統(tǒng)。
  • 預(yù)取圖像并在必要時從緩存中顯示它們批幌。
  • 用于UIImageView础锐、NSImage和UIButton的擴(kuò)展,可以直接從URL中設(shè)置圖像荧缘。
  • 設(shè)置映像時內(nèi)置的轉(zhuǎn)換動畫皆警。
  • 可定制的占位符,同時載入圖片截粗。
  • 可擴(kuò)展的圖像處理和圖像格式支持

CocoPods

CocoaPods iOS端的依賴管理工具信姓。

使用CocoPods作項目依賴庫的管理工具,包括第三方和本地的绸罗。

轉(zhuǎn)自組員意推,原鏈接
https://jigang-duan.github.io/2017/10/19/TCLMOVE-%E6%8A%80%E6%9C%AF%E9%80%89%E5%9E%8B/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市珊蟀,隨后出現(xiàn)的幾起案子左痢,更是在濱河造成了極大的恐慌,老刑警劉巖系洛,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俊性,死亡現(xiàn)場離奇詭異,居然都是意外死亡描扯,警方通過查閱死者的電腦和手機(jī)定页,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來绽诚,“玉大人典徊,你說我怎么就攤上這事《鞴唬” “怎么了卒落?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蜂桶。 經(jīng)常有香客問我儡毕,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任腰湾,我火速辦了婚禮雷恃,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘费坊。我一直安慰自己倒槐,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布附井。 她就那樣靜靜地躺著讨越,像睡著了一般。 火紅的嫁衣襯著肌膚如雪永毅。 梳的紋絲不亂的頭發(fā)上把跨,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天,我揣著相機(jī)與錄音卷雕,去河邊找鬼节猿。 笑死票从,一個胖子當(dāng)著我的面吹牛漫雕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播峰鄙,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼浸间,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了吟榴?” 一聲冷哼從身側(cè)響起魁蒜,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吩翻,沒想到半個月后兜看,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡狭瞎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年细移,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片熊锭。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡弧轧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出碗殷,到底是詐尸還是另有隱情精绎,我是刑警寧澤,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布锌妻,位于F島的核電站代乃,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏仿粹。R本人自食惡果不足惜襟己,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一引谜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧擎浴,春花似錦员咽、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至仿吞,卻和暖如春滑频,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背唤冈。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工峡迷, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人你虹。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓绘搞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親傅物。 傳聞我的和親對象是個殘疾皇子夯辖,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,678評論 2 354

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