[翻译] Swift Core Libraries / Swift核心库

原文: Swift Core Libraries

Swift核心库

Swift核心库项目提供相较于标准库更加表层的功能, 这些库提供在所有Swift平台上都可以使用的强大工具. 核心库旨在在以下重要方面提供稳定且实用的功能.

  • 常用的类型, 包括 数据(data), URL, 字符集(character sets)与 specialized collections
  • 单元测试
  • Networking primitives
  • Scheduling and execution of work, 包括 多线程, 队列与提醒
  • Persistence, including property lists, archives, JSON 解析与XML 解析
  • 对日期时间计算的支持
  • 对系统特性的抽象
  • 与文件系统的交互
  • 国际化, 包括日期、数字格式化与语言文件(anguage-specific resources)
  • 用户偏好设置

项目状态

核心库是未来的Swift 3释放版的一部分. 目前还没准备好在产品中使用. 事实上, 它仍处于开发的早期阶段. 我们决定将核心库作为最初开放的源代码中的一部分以便于从开始阶段就与社区协同工作. 邮件列表页面(the mailing list page)有关于如何加入协作的细节.

从头开始编写所有这些功能是一项巨大的工程, 因此我们决定通过利用已经完成的工作来快速开始核心库项目. 特别是重用三个现存的库(Foundationlibdispatch, XCTest.)中的API以及尽可能多的实现(implementation).


Foundation

Foundation框架定义了一个几乎所有App都需要的基本功能(a base layer of functionality). 它提供了语言本身与运行时没有提供的简单类并引入了一些定义了功能的规范. 它有以下的目标:

  • 提供一个小型的公共类集合
  • 通过引入约定来让软件开发变得容易
  • 对国际化与本地化进行支持来使软件可以被世界各地的用户使用
  • 提供依赖操作系统的级别来增强可移植性

更多关于Foundation框架的信息见此: from Apple’s documentation. Swift.org版本的Foundation框架利用了许多相同的底层库(例如ICU与CoreFoundation)作为苹果的实现,但是完全独立与Objective-C运行时因此它是一个对相同API的大部分的重实现. 将纯粹的Swift代码覆盖在底层库之上. 更多信息见此: GitHub project page.

****GitHub上一段Foundation示例:

使用Foundation

这是一个使用了Foundation的简单的main.swift文件. 本教程假设已经安装了最新版本的Swift发行版.

import Foundation

// 创建一个URLComponents实例
let swifty = NSURLComponents(string: "https://swift.org")!

// 输出一些信息
print("\(swifty.host!)")

// Output: "swift.org"

****

libdispatch

Grand Central Dispatch (GCD 或 libdispatch) 提供了对多核硬件的全面支持.

libdispatch目前可以在所有的Darwin平台上使用. 该项目的目标是提供所有Swift平台上都可使用的现代版本的libdispatch. 为了实现这个目标, 我们将会使用现有的开源C语言实现来尽可能多地实现API的可移植子集(portable subset).

更多linux版本的libdispatch的信息见此: GitHub project page.

XCTest

XCTest库提供一个为Swift包(Swift packages)与SwiftApp设计的通用的Swift单元测试框架.

此版本的XCTest 使用了你熟悉的来自Xcode的与XCTest相同的API. 我们的目标是使你在不用重写代码就可以在所有的Swift平台上运行项目的测试.

更多linux版本的XCTest的信息见此:  GitHub project page.



****

该文章主要为译者作个人参考之用, 语言不是十分流畅, 欢迎在此方面提出意见。同时由于译者水平有限, 文章中也许有疏漏与不妥之处, 也欢迎指正。

****

时间: 2024-12-29 23:25:13

[翻译] Swift Core Libraries / Swift核心库的相关文章

swift.org - About Swift 官网关于notes

About Swifthtml, body {overflow-x: initial !important;}html { font-size: 14px; } body { margin: 0px; padding: 0px; height: auto; bottom: 0px; top: 0px; left: 0px; right: 0px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 1re

Swift 正式开源, 包括 Swift 核心库和包管理器

Swift 正式开源!Swift 团队很高兴宣布 Swift 开始开源新篇章.自从苹果发布 Swfit 编程语言,就成为了历史上发展最快的编程语言之一.Swift 通过设计使得软件编写更加快速更加安全. Swift 的 GitHub 地址:https://github.com/apple/swift Swift 是由多种不同的项目组成的,提供一个构建软件的完整生态系统.Swift 编译器项目解析 Swift 语法,产生语义判断来帮助编写正确代码,利用 LLVM 生成机器指令.LLDB 项目是 f

Swift语言入门之旅 (翻译自《The Swift Programming Language》电子书)

关于Swift Swift是为IOS和OSX应用制定的新编程语言,吸取C和Objective-C语言的精粹,但不损失与C语言的兼容性.Swift采用安全编程模型.加入了各种现代编程语言特性,使得该语言更易被掌握.更具扩展性,用起来更有趣.Swift语言的奠基石是已经成熟的.并为大家所喜爱的Cocoa和Cocoa Touch框架,新语言使大家可以尽情畅想新软件开发的机遇. Swift沉积了多年的研发成果,苹果公司为提供高效Swift语言编译器.调试器和基础架构打下了坚实基础.我们使用Automat

Swift中的Masonry第三方库——SnapKit

在OC开发时我常用一个名叫Masonry的第三方Autolayout库,在转Swift后发现虽然Swift可以混编OC,但总感觉有些麻烦,在Github上发现了这个叫做SnapKit的第三方库,发现使用起来更方便,与大家分享一下 1.在Github上下载SnapKit,选择iOS target 编译(Command+B),找到SnapKit.framework 2.右键“Show In Finder” 3.把这个文件拖到我们的工程中 4.如图,两处进行设置 5.然后我们就可以没羞没臊的在Swif

swift中第三方网络请求库Alamofire的安装与使用

swift中第三方网络请求库Alamofire的安装与使用 Alamofire是swift中一个比较流行的网络请求库:https://github.com/Alamofire/Alamofire.下面我们就介绍一个这个库的安装与使用. 一.安装包管理工具CocoaPods 由于国内容易被墙,速度也非常的慢,这里我们使用提供的源 http://ruby.taobao.org/ gem sources --remove https://rubygems.org/ gem sources –a htt

swift Alamofire+ObjectMapper——swift(学习九)

Alamofire Alamofire是目前为止我接触的swift最好的第三方下载库,它根本就不需要另外封装,所有的下载方法都是class func.同时呢,它提供了很多种回调的方法: //最简单下载 Alamofire.request(.GET, "https://httpbin.org/get") //带参数 Alamofire.request(.GET, "https://httpbin.org/get", parameters: ["foo&quo

【DRP】-JSTL核心库 c:out标签

1.引入jar包 index页面:作用点击连接调用页面 <a href="servlet/JstlCoreServlet">测试JSTL核心库</a><br> JstlCoreServlet类,作用:存储数据,转发页面! package com.bjpowernode.jstl; import java.io.IOException; import javax.servlet.ServletException; import javax.servle

[翻译] POP Facebook的动画开源库

Pop is an extensible animation engine for iOS and OS X. In addition to basic static animations, it supports spring and decay dynamic animations, making it useful for building realistic, physics-based interactions. The API allows quick integration wit

Welcome to Swift (苹果官方Swift文档初译与注解二十三)---154~162页(第三章--集合类型)

Dictionaries (字典) 字典像是一个容器,它可以存放很多相同类型的值.每个值都有与之关联的唯一的键,键在字典里的作用,就像是每个值的身份证标识一样.与数组中的元素不同,字典里的每个元素没有 固定的循序.当你使用字典并且要查询一个值的时候,需要使用值的标识(key)才行.这就像是你在生活里使用一本字典来查找某个单词的定义一样. 在Swift中,字典能够存储的类型需要明确定义.这与OC中的NSDictionary 类和NSMutableDictionary 类很不同,OC中它们可以使用任