我应该直接学Swift还是Objective-C?

jopen 7年前

我应该直接学Swift还是Objective-C?

        当我们发布了 Swift 语言学习课程之后,收到了很多邮件和私信来问自己是否还需要学习C或者 Objective-C。此外,人们似乎还在迷惑 Swift 到底适合 iOS 开发生态中的哪些部分。通过这篇文章,我希望能扫清你的疑惑并且将你送到正确的学习轨道上。

        我应该先学C/Objective-C 还是直接学 Swift?

        Swift 是一个全新的语言,与 Objective-C 或C都没有任何关系。我的意思是它们都是编程语言并且遵守一些基础概念和范例,但是你并不需要在学习其中一个之前先学另一个。即使你是编程新手,你也可以 学习苹果发布的官方的 Swift 文档(中文版)而无需先学 Objective-C。

        我正在学习 Objective-C,我应该转为学 Swift 吗?

        这要试情况而定。如果你把学习 iOS 当做一个爱好或者出于好奇心才学,那么转到 Swift 学习上吧。如果你将从事 iOS 开发视为职业,那么你要知道外面至少有 100 万个应用都是用 Objective-C 编写的,Swift 于 2014 年才刚刚发布,所以你将来的职业的 app 开发仍然很有可能使用 Objective-C。所以你需要学习 Objective-C 来获得一个工作,直到 Swift 成为标准,这大概将花费数年时间。同时学习两门语言也将对你有好处。你未来的上司甚至可能会让你来将现存的 Objective-C app 切换到 Swift 上。不过我对这个观点有所保留,因为一个应用最重要的部分是它的功能而非它使用的语言,因此重写现有 app 的做法可能不会流行。

        我建议初学者选择 Swift 是因为它是一种友好的语言,并且感谢 playground 让它变得容易学会。一旦你学过了 Swift,如果将 iOS 开发视为职业的话,对于学习 Objective-C 也将更容易理解。

        最后,Swift 是一种现代语言,如果你学习 Swift,意味着也同时做好了面向未来的准备,因为 Swift 将是新一代的应用所用的语言(包括 Apple Watch 上的应用)。Swift 语言是苹果送给每个人的礼物。世界上还没有 5 年经验的 Swift 开发者,但如果你现在开始学习 Swift,那么过了 5 年你就将成为其中一位了。

        我最后的建议是,不管你选择哪一门语言,学习它并且精通它。最后你将发现,只要你学会 iOS SDK,使用哪种语言并不是最重要的。并且学了一种语言之后可以很容易的开始学习另一门,最紧要的是,从现在就开始学习。