[魔法师 · 小站]

Swift 是一种通用编程语言,使用现代方法构建的安全、性能和软件设计模式。

Swift 项目的目标是为从系统编程到移动和桌面应用程序,扩展到云服务的各种用途创建最佳可用语言。最重要的是,Swift 旨在让开发人员更轻松地编写和维护正确的程序。为了实现这个目标,我们认为编写 Swift 代码最明显的方式还必须是:

安全的。 最明显的代码编写方式也应该以安全的方式运行。未定义的行为是安全的敌人,应该在软件投入生产之前发现开发人员的错误。选择安全有时意味着 Swift 会感觉严格,但我们相信从长远来看,清晰可以节省时间。

快速地。 Swift 旨在替代基于 C 的语言(C、C++ 和 Objective-C)。因此,对于大多数任务,Swift 必须在性能上与那些语言相媲美。性能还必须是可预测的和一致的,而不仅仅是在需要稍后清理的短时间爆发中快速。有很多具有新颖功能的语言——速度快是罕见的。

表现力。 Swift 受益于计算机科学数十年的进步,提供了令人愉悦的语法,并具有开发人员所期望的现代功能。但是 Swift 永远不会完成。我们将监控语言的进步并接受有效的方法,不断发展以使 Swift 变得更好。

工具是 Swift 生态系统的重要组成部分。我们努力在开发人员的工具集中很好地集成,快速构建,提供出色的诊断,并实现交互式开发体验。工具可以让编程变得更加强大,就像 Xcode 中基于 Swift 的 Playgrounds 一样,或者当使用 Linux 服务器端代码时基于 Web 的 REPL 可以。

特征

Swift 包括使代码更易于阅读和编写的功能,同时为开发人员提供真正系统编程语言所需的控制权。Swift 支持推断类型以使代码更清晰且不易出错,并且模块消除了标头并提供命名空间。内存是自动管理的,您甚至不需要键入分号。Swift 还借鉴了其他语言,例如从 Objective-C 中引入的命名参数以简洁的语法表示,这使得 Swift 中的 API 易于阅读和维护。

Swift 的功能旨在共同创建一种功能强大但使用起来很有趣的语言。Swift 的一些附加功能包括:

  • 与函数指针统一的闭包
  • 元组和多个返回值
  • 泛型
  • 对范围或集合进行快速简洁的迭代
  • 支持方法、扩展和协议的结构
  • 函数式编程模式,例如映射和过滤器
  • 内置强大的错误处理功能
  • 具有先进的控制流doguarddefer,和repeat关键字

安全

Swift 从一开始就被设计为比基于 C 的语言更安全,并消除了整类不安全的代码。变量总是在使用前初始化,检查数组和整数是否溢出,并自动管理内存。语法经过调整,可以轻松定义您的意图 – 例如,简单的三字符关键字定义变量 ( var) 或常量 ( let)。

另一个安全特性是默认情况下 Swift 对象永远不会是nil,并且尝试创建或使用nil对象会导致编译时错误。这使得编写代码更加干净和安全,并防止运行时崩溃的常见原因。然而,有些情况nil是合适的,对于这些情况,Swift 有一个创新的特性,称为optionals。一个可选项可能包含nil,但 Swift 语法强制您安全地处理它,使用?向编译器表明您理解该行为并将安全地处理它。

Swift.org 和开源

2015 年 12 月 3 日,Swift 语言、支持库、调试器和包管理器在Apache 2.0 许可下发布,运行时库例外,并且创建了 Swift.org 来托管该项目。源代码托管在 GitHub 上,任何人都可以轻松获取代码、自行构建,甚至创建拉取请求以将代码贡献回项目。欢迎所有人,即使只是提交错误报告。网站上也提供了出色的入门指南。

该项目由一个核心工程师团队管理,他们通过与社区合作来推动战略方向,以及一组负责日常项目管理的代码所有者。技术领导者来自贡献者社区,任何人都可以获得领导 Swift 领域的权利。该社区概述包括在斯威夫特社区是如何管理的详细信息。

项目

Swift 语言作为项目集合进行管理,每个项目都有自己的存储库。目前的项目清单包括:

  • 在swift编译器命令行工具
  • 作为语言的一部分捆绑的标准库
  • 提供更高级别功能的核心库
  • 包含 Swift REPL的LLDB 调试器
  • 用于分发和构建 Swift 源代码的Swift 包管理器
  • Xcode Playground 支持以在 Xcode 中启用 Playground。

平台支持

公开开发 Swift 最令人兴奋的方面之一是知道它现在可以免费移植到各种平台、设备和用例。

我们的目标是为 Swift 提供跨所有平台的源代码兼容性,即使实际的实现机制可能因平台而异。主要示例是 Apple 平台包括 Objective-C 运行时,这是访问 Apple 平台框架(例如 UIKit 和 AppKit)所必需的。在其他平台上,例如 Linux,不存在 Objective-C 运行时,因为它不是必需的。

在Swift核心库项目的目标是不会对Objective-C的运行时依赖提供基本的Apple框架的便携式实现(如基金会)延长斯威夫特的跨平台能力。尽管核心库还处于开发的早期阶段,但它们最终将为 Swift 代码在所有平台上提供改进的源代码兼容性。

苹果平台

开源 Swift 可在 Mac 上使用以针对所有 Apple 平台:iOS、macOS、watchOS 和 tvOS。此外,开源 Swift 的二进制构建与 Xcode 开发人员工具集成,包括对 Xcode 构建系统的完整支持、编辑器中的代码完成和集成调试,允许任何人在熟悉的 Cocoa 和 Cocoa 中试验最新的 Swift 开发触摸开发环境。

Linux

开源 Swift 可用于在 Linux 上构建 Swift 库和应用程序。开源二进制构建提供了 Swift 编译器和标准库、Swift REPL 和调试器 (LLDB) 以及核心库,因此您可以直接进入 Swift 开发。

新平台

我们迫不及待地想看到我们可以将 Swift 带到一起的新地方。我们坚信,我们喜爱的这种语言可以使软件更安全、更快、更易于维护。我们希望您能帮助将 Swift 引入更多计算平台。

官网地址:https://swift.org/about/#swiftorg-and-open-source

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注