翻译 ||《OC for Swift Developers》(序言)

OC for Swift Developers

Preface 序言

Introduction 介绍

2016年3月,我定下了写这本书的计划。那个时候,Swift 2.2 的语法是标准语法,Swift 3.0 才发布了几个月。在那个时间节点上,Swift 自诞生以来已经走了一段相当长的路,并且已经有一群强大的开发者追随着,他们可以只用 Swift 快速开发出稳定的软件。

那么为什么要写一本关于 Objective-C 的书呢?更重要的是,为什么要阅读一本关于 Objective-C 的书呢?在「Swift 是苹果开发者的未来」这一点上我毫不怀疑。但是与此同时,我依然能非常清晰地认识到,如果你决意走上这条路,Objective-C 是绕不开的,你必须要了解如何读写这门语言。

而因为 Objective-C 是一门古老,并且发展了许多年的语言,使得这一点变得复杂了起来。我已经发布了超过200个用 Objective-C 编写的 app,在比较旧的源代码和新的源代码的过程里,我发现了 Swift 随着时间推移的发展过程。

不像 Swift 语法,在几个月的时间里旧语法就会被弃用,在新的语法体系里无法再运行,几乎所有 Objective-C 的源码今天依然可以运行。这对于不想继续重构软件的公司来说,是非常贴心的。但是,对于开发者来说,这就意味着,你会在同一个项目里发现旧语法和新语法混用。有一些地方你可能会发现相当粗糙的 Objective-C 代码,也就是说,如果用今天的 Objective-C 语法来写的话,是不会写成这样的,但这种情况大概不可避免。

How this book is structured 本书结构

通过这本书,你可以学习到读写 Objective-C 所需的基础知识。但你需要已经有一个完备的 Swift 知识体系,如果还没有的话,请购买下面两本书系统学习:

  • Hacking with Swift: https://gum.co/hws-book-pack
  • Pro Swift: https://gum.co/proswift

我在书里同时介绍了新语法和旧语法,甚至有一些地方用了非常古老的语法,以便你有能阅读各种版本 Objective-C 。学习基本规则很简单,能读旧语法,能写新语法。有一点很重要,就是如果你的工作是重构项目,那你需要用原有代码一样的风格去写,而不是新旧混合地写代码。

这本书的章节是按照逻辑顺序排列的,如果你是第一次阅读,我建议你从前往后依次阅读。

还有一件非常重要的事,我在写这本书的时候尽可能地让它变短,所以我重写了句子,段落,甚至一些章节,以让你能尽快地了解到你所需要的。这就意味着我们会跳过这门语言的历史和现状,直接讨论语言本身。这可能有些枯燥,所以建议你准备一杯咖啡,打起精神来。

Real-world projects 真实项目

在这本书里,有三个 Objective-C 项目,这是学习过程里这的小测试。这三个项目不会很复杂,设置他们的目的是加强你已经学到的东西,并且随项目介绍一些新的知识。

此外,这本书还附带一个三十分钟的视频,也许你已经因为好奇心打开了它,但是我要说的是这样做是不对的。别看有三十分钟长,这个视频的节奏是非常快的。在视频里面,我把一个完整的 Swift 项目,用 Objective-C 来实现了一遍。所以,在你已经吃透了这本书的内容之前,是很难理解他的。

所以说尽管视频非常有吸引力,但是请先把他放下,好好的把这本书看完。在视频里,我不会把所有细节都讲出来,仅仅把 Swift 用 Objective-C 写了出来。因此,有条件的话,我建议你先把这一个项目用 Swift 写一遍,以便了解他是具体怎么一回事情。视频地址:
https://www.hackingwithswift.com/read/31/overview

Do I love Objective-C? 我爱 Objective-C 吗?

当我读完这本书的初稿的时候,就在想,天哪,这个读起来就像 Snark 的 Objective-C 指南。因为书里的每一章节都在抱怨。

因此我花了一些时间在编辑这本书上面。不是因为我想用个华丽的语言去呈现它,只是因为我确实非常喜欢用 Objective-C 工作。Swift 发布的那一天起,我就开始使用它了,并且第一天就在 App Store 商店上发布了一个用 Swift 写的应用。也是因为这样,很多人认为,Swift 比 Objective-C 好多了。确实在用了一段时间的 Swift 之后,再用回 Objective-C ,这种感觉就好像,已经习惯了城市生活的你,回到了乡下的家里去过圣诞节一样,并以此来断定 Objective-C 就是不好的。

我也说不清,是因为我有斯德哥尔摩综合症,还是因为苹果的API过于强大,我还是爱着 Objective-C。我也希望你能意识到,直到今天,依然有非常多的人,喜欢这门语言,并且用它写了很多神奇的软件。所以,当你在这本书里读到一些让你想抱怨的东西的时候,请宽容一些。这是一门非常古老的语言,他已经走过了非常长的路,并且为我们提供了非常好的服务,所以请至少让它光荣地退休。

Before we begin... 开始之前还有些事儿…

在开始之前,你应该从 Mac App Store 下载安装最新的 Xcode 和iOS 模拟器。本书中的代码要求设备系统为 iOS 9.0 及以上的版本。

如果你遇到问题,我很乐意在Twitter上回答,请随时与我们联系:我的推特是@twostraws。

Swift,Swift Logo,Xcode,Instruments,Cocoa Touch,Touch ID,AirDrop,iBeacon,iPhone,iPad,Safari,App Store,Mac 和 OS X 是 Apple Inc 在美国注册的商标。

《Objective-C for Swift Developers》的版权为 Paul Hudson 所有。未经版权所有者事先书面许可,不得以任何方式复制或分发本书的任何部分或相应的材料(如文本,图像或源代码)。


此译本仅为个人学习所用,未经本人允许禁止转载。

Dedication 献词

谨以此书,献给我从 NeXT 时代开始他就致力于用 Objective-C开发的挚友 Stefan Kruger。

谢谢你教给我关于正则表达式,项目管理的知识,也教会我在面对混乱的商业决策时应有的坚定决心。

你可能感兴趣的:(翻译 ||《OC for Swift Developers》(序言))