如果我问,做苹果 APP 开发,使用哪种语言较好,肯定有非常多的朋友会回答:当然是 Swift,毕竟是苹果官网首推的编程语言。
但是你知道吗?Swift 是种新型的编程语言,很多模块还不完善,在实现某些场景时,还需要对应库支持。相比 Swift 我更推荐大家选择 Objective-C。
Objective-C 是 C 的扩展,设计思路上借鉴了 Smalltalk 的面向对象和消息机制的思想。Objective-C 的类中定义方法都是消息传递,而且类和消息之间是运行绑定的,运行时编译器把消息发送转换成对 objc_msgSend 方法调用。
那么做苹果开发为什么要用 Objective-C 呢?实际不是苹果选择了 Objective-C,而是乔布斯创建 NeXT 公司的操作系统 NeXTSTEP 采用了 Objective-C 作为原生语言。
1988 年乔布斯的 NeXT 公司获得了 Objective-C 这门编程语言的授权,并开发出了 Objective-C 语言库和 NeXTSTEP 的开发环境。后来苹果下了了 NeXT,乔布斯带着 NeXTSTEP 系统回归苹果,NeXTSTEP 成为了 macOS 的基础,发展越来越好,Objective-C 就成了苹果当家语言,现在基本上是苹果在维护这门语言的发展。