当前位置

网站首页> 程序设计 > 开源项目 > 程序开发 > 浏览文章

Apple 正式开源 Swift 语言及其核心库和包管理器 - 新闻

作者:小梦 来源: 网络 时间: 2024-03-24 阅读:

"Welcome to Swift!"

自从苹果去年发布 Swift 语言,就成为了历史上发展最快的编程语言之一。本周四,Swift 团队宣布 Swift 编程语言正式开源,一同开源的还有 Swift 核心库及包管理器。

本文作为介绍文章,主要包含基本介绍和 SegmentFault 社区优质资源汇总。

Swift Documentation

GitHub Swift 项目地址:https://github.com/apple/swift

Swift 是由多种不同的项目组成的,提供一个构建软件的完整生态系统,由 Objective-C 和许多其他语言启发而生,但它本身并不是一个「C-衍生语言」。Swift 编译器项目解析 Swift 语法,产生语义判断来帮助编写正确代码,利用 LLVM 生成机器指令。LLDB 项目是 first-class 调试器,包含一个 REPL 进行交互编程。Swfit 标准库项目包含所有核心类型和基础函数。

首先安装 Sphinx 文档生成器(在命令行直接运行 easy_install -U Sphinx 即可),然后就可以进入 docs,通过 make 命令来构建 Swift 文档。这样会将 docs 目录下的 .rst 直接编译进 docs/_build/html 里的 HTML 文件。

文档构建之后,就可以通过 docs/_build/html/whitepaper/index.html 开始上手 Swift,你也可以通过阅读 docs/LangRef,来从实现角度了解 Swift 是如何工作的。其实 docs 中的很多文档已经过时了 ╮(╯_╰)╭ ,当然最好的文档还是标准库(stdlib)啦~

然后,你就可以开始上手 Swift 了:https://github.com/apple/swift#swift-programming-language

另外,这里还有一些 Swift 相关的项目推荐,你也可以看一下:

git clone git@github.com:apple/swift.git swiftgit clone git@github.com:apple/swift-llvm.git llvmgit clone git@github.com:apple/swift-clang.git clanggit clone git@github.com:apple/swift-lldb.git lldbgit clone git@github.com:apple/swift-cmark.git cmarkgit clone git@github.com:apple/swift-llbuild.git llbuildgit clone git@github.com:apple/swift-package-manager.git swiftpmgit clone git@github.com:apple/swift-corelibs-xctest.gitgit clone git@github.com:apple/swift-corelibs-foundation.git

Swift 团队今天除了开源 Swift 之外,还开源了另外一些相关的重要项目,其中就包括:Swift 核心库和全新的 Swift 包管理器。

Swift 包管理器

Swift 包管理器是全新的项目,可以创建一个强大、用户友好的工具来构建和共享 Swift 代码,不过目前还是早期开发阶段。

GitHub 项目:apple/swift-package-manager

Swift 核心库

Swift 核心库项目是更高级别的 APIs 集合,基于 Swift 标准库而成,这些库提供的函数有:定位、网络基元、单元测试、用户参数等,此外还提供编码规范。

核心库基于 Apple 平台的框架命名分别为:Foundation,libdispatch 和 XCTest。

GitHub 项目:

  • apple/swift-corelibs-foundation

  • apple/swift-corelibs-xctest

  • apple/swift-corelibs-libdispatch

社区优质 Swift 资源

SegmentFault 社区现在已有大量的 Swift 相关优质内容,推荐部分给大家。

文章

  • 《杂谈 Apple Swift》 by RobinQu

  • 《Swift 2.0 初探》 by DevTalking

  • 《Swift 中的文件和初始化》

  • 《在 Swift 中使用 C 语言的指针》

  • 《在 Swift 中构建布尔类型》

  • 《Swift 新特性 - 访问控制(Access Control)》

  • 《Swift 中的泛型编程》 by 王下邀月熊

  • 《Swift:Generators 与 Sequences 浅析》 by Cruise_Chan

  • 《基本的图算法:Swift 实现》

  • 《Swift 中枚举高级用法及实践》 by SwiftGG翻译组

  • 《Swift 反射 API 及用法》

  • 《Swift35/90Days - iOS 中的设计模式 (Swift 版本) 01》 by callmewhy

  • 《Swift37/90Days - iOS 中的设计模式 (Swift 版本) 02》

优质专栏

  • SwiftGG翻译组:授权翻译国外 Swift 大牛的优秀 Swift 文章,绝对走心,绝对一手

  • 汪海的实验室:Swift 90 Days

  • DevTalking:细心的 Swift 学习

  • 青楼烟雨:深度 iOS 学习指南

系列

  • Swift 90 Days by callmewhy

  • Auto Layout 使用心得 by JohnLui

  • Swift + SpriteKit 中文教程 by 狂野之心

推荐

  • 图灵访谈:

    • 《Swift 与 Cocoa 框架开发》作者 Paris Buttfield-Addison:你的编程生涯可以从 Swift 开始!

    • Swift 开发者大会组织者梁杰:你的到来是一个重要的决定

  • 重要活动:

    • 中国首届 Swift 开发者大会

    • SegmentFault D-Day 2015 北京:iOS 站

热点阅读

网友最爱