Swift 是一种通用编程语言,使用现代方法构建安全、性能和软件设计模式。
Swift 项目的目标是为从系统编程到移动和桌面应用程序,扩展到云服务的各种用途创建最佳可用语言。最重要的是,Swift 旨在使开发人员更容易编写和维护正确的程序。为了实现这一目标,我们认为编写 Swift 代码最明显的方式还必须是:
安全。编写代码的最明显方法也应该以安全的方式运行。未定义的行为是安全的敌人,开发人员的错误应该在软件投入生产之前就被发现。选择安全有时意味着 Swift 会感到严格,但我们相信,从长远来看,清晰可以节省时间。
快。Swift 旨在替代基于 C 的语言(C、C++ 和 Objective-C)。因此,对于大多数任务,Swift 的性能必须与这些语言相当。性能还必须是可预测和一致的,而不仅仅是在需要稍后清理的短时间内快速。有许多语言具有新颖的功能——快速是罕见的。
表达。Swift 受益于数十年的计算机科学进步,提供了易于使用的语法,以及开发人员期望的现代功能。但 Swift 永远不会完成。我们将监控语言的进步并接受有效的方法,不断发展以使 Swift 变得更好。
工具是 Swift 生态系统的重要组成部分。我们努力在开发人员的工具集中很好地集成,快速构建,提供出色的诊断,并实现交互式开发体验。工具可以使编程更加强大,就像基于 Swift 的游乐场在 Xcode 中所做的那样,或者基于 Web 的 REPL 在处理 Linux 服务器端代码时可以。
Swift 包含的功能使代码更易于读取和编写,同时为开发人员提供真正的系统编程语言所需的控制。Swift 支持推断类型,使代码更简洁,更不容易出错,模块消除了标头并提供命名空间。内存是自动管理的,您甚至不需要键入分号。Swift 还借鉴了其他语言,例如从 Objective-C 引入的命名参数以简洁的语法表示,这使得 Swift 中的 API 易于阅读和维护。
Swift 的特性旨在协同工作,以创建一种功能强大且使用起来有趣的语言。Swift 的一些附加功能包括:
do
guard
defer
repeat
Swift 从一开始就被设计为比基于 C 的语言更安全,并消除了整个类别的不安全代码。变量始终在使用前初始化,检查数组和整数是否溢出,并自动管理内存。语法经过调整,以便轻松定义意图 — 例如,简单的三字符关键字定义变量 () 或常量 ()。var
let
另一个安全特性是,默认情况下 Swift 对象永远不能是 ,并且尝试创建或使用对象会导致编译时错误。这使得编写代码更加干净和安全,并防止了运行时崩溃的常见原因。但是,在某些情况下是合适的,对于这些情况,Swift 具有称为可选功能的创新功能。可选可能包含 ,但 Swift 语法强制您安全地处理它,以向编译器指示您了解该行为并将安全地处理它。nil
nil
nil
nil
?
3 年 2015 月 2 日,Swift 语言、支持库、调试器和包管理器在 Apache 0.<> 许可证下发布,但运行时库例外,并创建了 Swift.org 来托管该项目。源代码托管在GitHub上,任何人都可以轻松获取代码,自己构建代码,甚至创建拉取请求以将代码贡献回项目。欢迎所有人,即使只是提交错误报告。网站上也有出色的入门指南。
该项目由一个核心工程师团队管理,该团队通过与社区合作来推动战略方向,以及负责日常项目管理的代码所有者集合。技术领导者来自贡献者社区,任何人都可以获得领导 Swift 领域的权利。社区概述包括有关如何管理 Swift 社区的详细信息。
Swift 语言作为项目集合进行管理,每个项目都有自己的存储库。目前的项目清单包括:
在开放中开发 Swift 最令人兴奋的方面之一是知道它现在可以免费移植到广泛的平台、设备和用例中。
我们的目标是在所有平台上为 Swift 提供源代码兼容性,即使实际的实现机制可能因平台而异。主要的例子是Apple平台包括Objective-C运行时,这是访问Apple平台框架(如UIKit和AppKit)所必需的。在其他平台上,例如Linux,不存在Objective-C运行时,因为它不是必需的。
Swift 核心库项目旨在 通过提供可移植性来扩展 Swift 的跨平台功能 基本 Apple 框架(如基金会)的实现 不依赖于 Objective-C 运行时。虽然核心 图书馆处于发展的早期阶段,最终会 为所有 Swift 代码提供改进的源代码兼容性 平台。
开源的Swift可以在Mac上使用,以瞄准所有苹果。 平台:iOS、macOS、watchOS 和 tvOS。此外,二进制构建 开源 Swift 与 Xcode 开发人员工具集成,包括 完全支持 Xcode 构建系统,代码完成在 编辑器和集成调试,允许任何人尝试 熟悉的可可和可可触摸的最新 Swift 发展 开发环境。
开源 Swift 可以在 Linux 上用于构建 Swift 库和 应用。开源二进制构建提供了 Swift 编译器和标准库、Swift REPL 和调试器 (LLDB) 以及核心库,因此可以直接进入 Swift 开发。
开源 Swift 可以在 Windows 上用于构建 Swift 库和应用程序。开源二进制构建提供了 C/C++/Swift 工具链、标准库和调试器 (LLDB) 以及核心库,因此可以直接进入 Swift 开发。SourceKit-LSP 捆绑到版本中,使开发人员能够快速使用他们选择的 IDE。
我们迫不及待地想看看我们可以将 Swift 整合在一起的新地方。我们坚信,我们喜欢的这种语言可以使软件更安全、更快速、更易于维护。我们希望您能帮助我们将 Swift 引入更多的计算平台。