当前位置: 首页 > 科技观察

就连封闭的苹果也不得不开源Swift

时间:2023-03-15 09:44:57 科技观察

在2015年的苹果WWDC上,焦点和注意力不在iOS9和OSX,也不在新的AppleMusic上,而是苹果软件工程副总裁CraigFederighi宣布苹果的编程语言Swift2.0将开源。为什么你们都这么兴奋?在过去的15年里,开发人员表现出对开源工具和平台的偏爱,但Apple让开发人员对自己的技术感到满意,并远离第三方技术。在这样做的过程中,Apple冒着疏远一直在开发第三方应用程序或服务的开发人员的风险。程序员希望自由选择他们想要的工作方式。为了留住他们,苹果不得不对外开放。Swift的发展非常迅速,但是近年来,许多其他涌现出来的编程语言一直在努力吸引开发者的注意力。Facebook使用Hack和D语言;谷歌开源了它的Go语言;Mozilla还推出了自己的编程语言Rust版本。这些编程语言各有优缺点,其中一种或几种会成为下一个软件开发标准,而且每一种编程语言都已经是开源的。重要的是,去年Microsoft决定开放其.NET框架的源代码。微软允许所有开发者在Windows以外的系统中使用他们自己的语言,包括OSX和iOS,并且还提供代码让开发者更容易根据自己的需要修改或扩展.NET。苹果面临着开发者会使用微软工具来开发苹果产品的现实,所以只能开源Swift。Apple的目的Apple在去年的WWDC上推出了Swift1.0,取代了ObjectiveC。ObjectiveC的历史可以追溯到1983年,并且一直是开发iOS应用程序的主要语言。Swift是一种更现代的语言,添加了许多新功能,既可以帮助新程序员学习编码,又可以防止有经验的程序员犯一些严重的错误。虽然苹果不是第一个开源的。Apple开源了Darwin(OSX的基础)和WebKit(Safari浏览器的基础),但Apple不会开源ObjectiveC。理论上似乎可以将ObjectiveC应用到其他操作系统,但没有Apple的求助,跨平台代码很难。Xamarin是一种工具,它使开发人员能够使用Microsoft的编程语言来创建在Windows、Linux、iOS和Android上运行的软件。这意味着开发者不需要先用Java为Android开发,再用ObjectiveC为iOS开发。他们甚至可以使用相同的代码作为桌面或服务器端应用程序的基础。尽管大多数iOS和OSX开发人员仍在使用ObjectiveC或Swift,但苹果可以通过让Swift可用于其他操作系统来阻挠微软。最终结果可能是苹果的语言被用来为其竞争对手开发应用程序。开源有多开放?Apple在一份声明中写道,开源将包括Swift系统的核心部分,包括编译器和标准库,但关于开源程度的细节尚不清楚。Apple可能会保留关键的产权,就像它对Java所做的那样。Apple也可能最终支持开源Swift,就像Apple曾经承诺让FaceTime成为视频通信的开放标准一样。无论哪种方式,Swift成为苹果公司都是一个巨大的转变。Apple本身正在帮助将Swift引入Linux,并且通过访问Apple用于开发软件的代码,其他公司也将能够支持Swift。然而,Apple没有提及开源Cocoa界面,这是大多数iOS和OSX应用程序的核心部分。不管怎样,Swift的开源至少给了开发者一颗定心丸,他们不会被卷入官司,就像谷歌和甲骨文在Java上长期的版权纠纷一样。甲骨文称,谷歌为Android开发了类Java编程平台,侵犯了知识产权。通过将编程语言和其他开发技术开源,像苹果这样的公司可以确保开发者合法使用该技术。做开发已经够麻烦的了,其他的就别去烦程序员了。