在最新的 苹果 开发者大会 WWDC 上,赢得最热烈掌声的不是新的 iOS 和 OS X 版本,也不是新的 苹果 音乐服务。最热烈的掌声爆发在 苹果 的技术总裁 Craig Federighi 宣布苹果将开放其下一个版本的 Swift 的源代码的时候。
为什么观众这么的激动 ? 在过去 15 年里,开发者们越来越偏向开源的工具和平台。但是与此同时,苹果一直在推动 iOS 开发者采用苹果自家的技术并且远离第三方工具。例如苹果认为效率低下的 Adobe 的 Flash 。但是即使苹果目前冒险疏远依靠众多第三方 APP 和服务的开发者,开发人员现在也有众多的方式可以选择并以他们想要的方式来完成他们的工作。事实证明,为了让开发者留下,苹果不得不选择开源。
通过开源 Swift ,苹果让开发者更容易地使用 Swift 在除了iOS和OS X以外的平台来构建程序。
可以肯定的是, Swift 已经越来越疯狂。但是,现在许多最近几年创建的其他新的编程语言也都在疯狂地争夺开发者的注意力。 Facebook 正在实验 Hack 和 D 语言, Google 开源了他的 Go 语言, Mozilla 刚刚开放了 Rust 语言的第一个完整版本。这些语言都有其长处和弱点,他们中的一个或者多个都有可能成为下一个软件开发的标准。并且这些语言都是开源的!。
最值得注意的是微软在去年做出了开源 .NET framework 的决定。在此过程中,微软给予了所有开发者正式许可,开发者现在可以在包括 iOS 和 OS X 等的非 windows 环境使用 .NET framework 。并且微软提供了代码,这让开发者们修改和扩展 .NET 平台更加的容易。面临着使用微软的公开来开发苹果应用程序产品的挑战,苹果真的没有其他选择,只能让 Swift 同样的对开发者友好 —- 开源。
苹果第一次宣布 Swift 是在一年前的 WWDC 上,当时 Swift 是以 Objective-C 的继任者的身份出现。 Objective-C 的历史可以追溯到 1983 年,直到 Swift 的发布, Objective-C 一直是开发 iOS 应用的主要编程语言。 Swift 是一个更加现代的语言,它增加了许多野心勃勃的功能,旨在帮助新程序员学习如何编写代码,并且帮助经验丰富的程序员避免出现严重的编程错误。
虽然苹果对开源并不陌生,它曾先后开源了 Darwin 和 webkit 。前者是 OS X 操作系统的基础,后者是 Safari 浏览器的基础代码。但是苹果从未开源 Objective-C ,尽管从技术上来说,可以使 Objective-C 在其他操作系统上运行。但是缺少来自苹果的支持使得跨平台的编码变得十分困难。这也是 Microsoft 和它的 .NET 开发平台的机会。
一家名为 Xamarin 公司长期提供开发工具,这个工具使得开发人员能够使用微软的语言来构建软件,可以运行在 Windows , Linux , iOS 上, Android 和更多。这意味着开发者可以不必同时用 Java 来支持 Android ,用 Objective-C 来支持 iOS 。他们甚至可以使用相同的代码为基础,台式机和服务器端应用程序。
虽然大部分的 iOS 和 OS X 开发人员仍然使用 Objective-C 或 Swift ,苹果能够通过让 Swift 在各种操作平台上可用来与 Microsoft 竞争。然而其结果可能在某种程度上意味着苹果公司自己的编程语言,最终可能被用来制造用于应用程序的 Andr oid 竞争对手。但苹果认为这种风险没有确保开发者的衷心和支持重要。
在博客中,苹果写道,它的开源版本将包括在标准协议下的 Swift 生态系统的核心部件 — 包括编译器和标准库,但细节仍然稀疏,没有人知道具体会开放到什么程度。
苹果将保留关键权限,这是完全可能的。就像最初创建的 Java 的公司一样。苹果甚至可能最终打了退堂鼓使得 Swift 并不开放,就像 FaceTime ,它曾经承诺将是一个开放的视频通信标准。无论如何,这对 Swift 来说是一个很大变化,这是曾经仅可用于苹果自己的平台的编程语言。
苹果本身也将有助于将 Swift 应用于 Linux 操作系统,并具有直接访问苹果公司使用的实际运行用 Swift 构建的软件的代码,其他的公司也将更加容易地支持 Swift 。目前还没有提及,但是,开源它的 Cocoa interface ,这是另一块 iOS 和 OS X 的应用程序的核心!
尽管如此,在任何条件下,苹果开源 Swift也 应该给开发商一些保证,使得开发者不会出现在像在搜索巨头 Google 使用甲骨文的 Java 编程语言而进行的斗争所面临的法律困境。甲骨文称,谷歌通过创建自己的类似 Java 的编程平台为 Android 侵犯了其知识产权。现在很难说,这种影响大多数开发者的情况将会怎样收场。但是,像苹果公司可以提供一些保证,开发人员将能够以自己的需要修改或者改进这些工具,通过编程语言和其他核心开发技术融入到开源领域,而不必面临法律困境。毕竟,应用的开发足够困难即使你的邮件没有收到诉讼。
原文链接 :http://www.wired.com/2015/06/open-sourcing-no-longer-optional-not-even-apple/