风行的博客

从 Objective-C 过渡到 Swift

Swift - 不仅支持面向对象和面向协议开发,同时还支持函数式开发,在使用封装继承多态的同时,也可以用协议去组合代码,还可以利用高阶函数去简化代码、组织程序。

使用 Carthage 做依赖管理

Carthage - A simple, decentralized dependency manager for Cocoa.

Carthage 会用最简单的方式来管理第三方库,它会在下载完第三方库代码后,通过 xcodebuild 将其编译成动态库,但它不会像 CocoaPods 那样去修改你的项目文件和编译设置,这些都需要你自己去完成。

使用 Xcodebuild 打包 IPA 并上传蒲公英

xcodebuild - 是苹果提供的项目自动构建工具,包含在 Command Line Tools 中,可以完成 iOS 项目的编译、打包和签名等工作。

shell script - 是一种命令语言,有点像 Windows 下的批处理,但更强大,它可以跑在 Linux/Unix 系统的 shell 程序中。

iOS 应用的开发设计

一个 app 从设计到发布应用商店会经历需求设计、UI设计、架构设计、开发、优化、测试等流程,每个环节做的好与坏都会影响到整个 app 的质量,作为开发人员,不仅要对需求以及 UI 的合理性进行评审,还要保证提供给测试的代码是经过自测并且覆盖了相关测试用例,更重要的是要做好架构设计、开发以及优化这三个环节。

代码重构及代码Review

代码重构 - 重构就是在不改变软件系统外部行为的前提下,改善它的内部结构。

Martin Flower 在《重构》中有一句经典的话:"任何一个傻瓜都能写出计算机可以理解的程序,只有写出人类容易理解的程序才是优秀的程序员。"

了解 Block

Block 是 Apple 为 C、C++ 以及 Objective-C 添加的特性,使得这些语言可以用类 lambda 表达式的语法来创建闭包。在适当的时候使用 block 替代 delegation 可以使代码看起来更紧凑,但也需要注意 block 带来的循环引用问题。

Objective-C Runtime 开发

Runtime - 使用 C 和汇编实现的运行时代码库,Objective-C 中有很多语言特性都是通过它来实现。

了解 Runtime 开发可以帮助我们更灵活的使用 Objective-C 这门语言,我们可以将程序功能推迟到运行时再去决定怎么做,还可以利用 Runtime 来解决项目开发中的一些设计和技术问题,使开发过程更加具有灵活性。