TCLMOVE 技术选型

TCLMOVE 技术选型

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

编程语言选择

  • Swift
  • Object-C

Swift的优势:

  1. 趋势 苹果已经明确,Swift将是未来的主力开发语言
  2. Swift定位是安全,快速,跨平台的语言
  3. gitHub上新增的第三方开源库,Swift版本要多余Object-C的版本

Swift的缺点:

  1. 不支持Runtime
  2. 编译速度慢
  3. Swift核心库会打包在APP中,增加了APP体积

建议: 对于新项目尽量采用Swift,对于业务复杂的旧项目Object-C继续维持

代码手写 UI 和 Storyboard 之间的取舍

构建 UI 方式的争论就在 Cocoa 开发者社区里一直发生着,Storyboard 被诟病最多的 是冲突风险加载速度

冲突风险

Storyboard 一直在进步,在 Xcode 7 引入了 SB reference 以后,「SB 容易冲突」已经得到很好的解决了。

加载速度

编译过程中,项目里用到的 SB 文件也会被编译,并以 storyboardc 为扩展名保存在最终的 app 包内。这个是一个文件夹,里面存储了一系列 .nib 文件。SB 中的每个对象将会被编译为一个单独的 .nib。

Storyboard 优势

Storyboard可以简化UI的开发,属性设置和布局都可以简单化,实现和逻辑代码的分离,不会污染代码。

建议: 采用Storyboard

RxSwift

RxSwift是Swift函数响应式编程的一个开源库,由Github的ReactiveX组织开发,维护。

RxSwift的优点

  • Composable 可组合,在设计模式中有一种模式叫做组合模式,你可以方便的用不同的组合实现不同的类
  • Reusable 代码可重用,原因很简单,对应RxSwift,就是一堆Obserable
  • Declarative 响应式的,因为状态不可变,只有数据变化
  • Understandable and concise 简洁,容易理解。
  • Stable 稳定,因为RxSwift写出的代码,单元测试时分方便
  • Less stateful “无”状态性,因为对于响应式编程,你的应用程序就是一堆数据流
  • Without leaks 没有泄漏,因为资源管理非常简单

Rleam

Realm是由Y Combinator孵化的创业团队开源出来的一款可以用于iOS(同样适用于Swift&Objective-C)和Android的跨平台移动数据库。

  • 跨平台:支持的平台包括Java,Objective-C,Swift,React Native,Xamarin。
  • 简单易用:Core Data 和 SQLite 冗余、繁杂的知识和代码,而Realm,可以极大地减少学习成本,立即学会本地化存储的方法。
  • 可视化:Realm 还提供了一个轻量级的数据库查看工具,可以查看数据库当中的内容,执行简单的插入和删除数据的操作。

R.Swfit

R.Swfit 在Swift项目中自动生成资源(像图片,字体,转场)相关的强类型变量,可以优雅的获取资源,仿Android资源文件使用的方法。

相关资源:

Moya+Alamofire+ObjectMapper

Moya的基本思想是,提供一些网络抽象层,它们被充分的封装了且实际上直接调用了Alamofire. 它不仅在普通的简单的事情上很容易使用,而且在综合的复杂的事情上也容易使用

如果你使用 Alamofire 来抽象 URLSession, 那为什么不使用一些方式来抽象URLs和parameters等等的本质呢?
Moya的一些特色功能:

  • 对正确的API端点访问进行编译时检查.
  • 让您使用关联的枚举值定义不同端点的清晰用法.
  • 把test stub作为一等公民,所以单元测试超级简单.

Moya Overview

Alamofire 是一个用Swift编写的HTTP网络库.

特性:

  • 链式的请求/响应方法
  • URL/JSON/plist参数编码
  • 上传文件/数据/流/MultipartFormData
  • 使用请求或恢复数据下载文件
  • 身份验证使用URLCredential
  • HTTP响应验证
  • 上传和下载进度闭包
  • cURL命令输出
  • 动态调整和重试请求
  • TLS证书和公钥固定
  • 网络可达性
  • 综合单元和集成测试覆盖
  • 完整的文档

ObjectMapper是一个用Swift编写的框架,它使您可以很容易地将模型对象(类和结构)转换为JSON。

特性:

  • JSON对象映射
  • 将对象映射到JSON
  • 嵌套对象(在数组或字典中单独使用)
  • 自定义转换期间映射
  • 结构支持
  • 常量的支持

SwiftyBeaver

SwiftyBeaver,Swift多彩日志记录。

特性:

  • 开发期间: 彩色记录到Xcode控制台
  • 开发期间: 彩色记录文件
  • 发布期间: 加密记录到SwiftyBeaver平台
  • 通过Mac App来浏览、搜索和过滤

Kingfisher

Kingfisher是一个轻量级的、纯Swift的库,用于从web上下载和缓存图像。这个项目深受流行的SDWebImage的启发。

特性:

  • 异步图像下载和缓存。
  • 基于URLSession。基本的图像处理器和过滤器。
  • 用于内存和磁盘的多层缓存。
  • 可取消下载和处理任务以提高性能。
  • 独立的组件。根据需要分别使用下载程序或缓存系统。
  • 预取图像并在必要时从缓存中显示它们。
  • 用于UIImageView、NSImage和UIButton的扩展,可以直接从URL中设置图像。
  • 设置映像时内置的转换动画。
  • 可定制的占位符,同时载入图片。
  • 可扩展的图像处理和图像格式支持

CocoPods

CocoaPods iOS端的依赖管理工具。

使用CocoPods作项目依赖库的管理工具,包括第三方和本地的。

转自组员,原链接
https://jigang-duan.github.io/2017/10/19/TCLMOVE-%E6%8A%80%E6%9C%AF%E9%80%89%E5%9E%8B/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352

推荐阅读更多精彩内容