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