Skip to content

Update Core Libraries page #1023

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 5 additions & 8 deletions documentation/core-libraries/_foundation.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,8 @@ The Foundation framework defines a base layer of functionality that is required
* Provide a level of OS independence, to enhance portability.


More information about the Foundation framework in general is available
[from Apple's documentation](https://developer.apple.com/reference/foundation). The Swift.org version of Foundation makes use of many
of the same underlying libraries (e.g. ICU and CoreFoundation) as Apple's
implementation, but has been built to be completely independent of the
Objective-C runtime. Because of this, it is a substantial reimplementation of
the same API, using pure Swift code layered on top of these common underlying
libraries. Much more information about this work is available on our
[GitHub project page](http://www.github.com/swiftlang/swift-corelibs-foundation).
Swift 6 unified the implementation of [Foundation](https://developer.apple.com/documentation/foundation/) across all platforms. The modern, portable Swift implementation provides consistency across platforms, it’s more robust, and it’s open source.

If your app is particularly sensitive to binary size, you can import the `FoundationEssentials` library, which provides a more targeted subset of Foundation’s features that omits internationalization and localization data.

Much more information about this work is available on our [GitHub project page](https://github.com/swiftlang/swift-foundation).
9 changes: 9 additions & 0 deletions documentation/core-libraries/_swift-testing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## Swift Testing

Swift Testing is a package with expressive and intuitive APIs that make testing your Swift code a breeze.

It provides detailed output when a test fails using macros like `#expect`. And it scales to large codebases with features like parameterization to easily repeat a test with different arguments.

If you already have tests written using XCTest, you can run them side-by-side with newer tests written using Swift Testing. This helps you migrate tests incrementally, at your own pace.

More information about Swift Testing is available on our [GitHub project page](https://github.com/swiftlang/swift-testing).
5 changes: 2 additions & 3 deletions documentation/core-libraries/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,13 @@ have a goal of providing stable and useful features in the following key areas:

These libraries are part of our ongoing work to extend the cross-platform capabilities of Swift. We chose to make them part of our open source release so that we can work on them together with the community.

Writing code that provides all of this functionality from scratch would be an enormous undertaking. Therefore, we've decided to bootstrap this project by taking advantage of great work that has already been done in these areas. Specifically, we will reuse the API and as much implementation as is possible from three existing libraries: `Foundation`, `libdispatch`, and `XCTest`.
Writing code that provides all of this functionality from scratch would be an enormous undertaking. Therefore, we've decided to bootstrap this project by taking advantage of great work that has already been done in these areas. Specifically, we will reuse the API and as much implementation as is possible from three existing libraries: `Foundation`, `libdispatch`, and `XCTest`. In addition to these there is `Swift Testing`, a new testing library designed from the ground up for Swift.

* * *

{% include_relative _foundation.md %}
{% include_relative _libdispatch.md %}
{% include_relative _swift-testing.md %}
{% include_relative _xctest.md %}

* * *

As stated above, this project is in its early days. We look forward to working together with the community to create a great set of libraries that enable Swift to produce powerful software across platforms.