Slide 1

Slide 1 text

Open Source Swift Workshop Foundation and first party libraries Sho Ikeda / @ikesyo try! Swift Tokyo 2024 2024-03-24 Sat #tryswiftconf

Slide 2

Slide 2 text

Sho Ikeda • @ikesyo • Hatena Co., Ltd. in Kyoto • https://github.com/ikesyo • swift-corelibs-foundation Contributor

Slide 3

Slide 3 text

Agenda • Swift Core Libraries • Foundation • XCTest and swift-testing • Other first party libraries • How to tackle it

Slide 4

Slide 4 text

Swift Core Libraries https://www.swift.org/documentation/core-libraries/ • Foundation • https://github.com/apple/swift-corelibs-foundation • libdispatch • https://github.com/apple/swift-corelibs-libdispatch • XCTest • https://github.com/apple/swift-corelibs-xctest

Slide 5

Slide 5 text

Foundation • Swift.org - The Future of Foundation • Swift.org - Foundation Package Preview Now Available • https://github.com/apple/swift-foundation is the native, unified Swift implementation The Swift code in the package is the core of the Foundation framework that ships on macOS, iOS, and other Apple platforms.

Slide 6

Slide 6 text

Foundation • swift-corelibs-foundation will be replaced and deprecated someday • At the moment, building/testing swift-corelibs-foundation on macOS with Xcode is broken so very difficult/almost impossible • Contributing to swift-foundation rather than swift-corelibs- foundation is recommended

Slide 7

Slide 7 text

XCTest and swift-testing • A New Approach to Testing in Swift - Evolution / Discussion - Swift Forums • swift-testing is under active, ongoing development • Contributing to swift-testing rather than swift-corelibs-xctest is recommended

Slide 8

Slide 8 text

Other first party libraries Swift Syntax and Macros • https://github.com/apple/swift-syntax • https://github.com/apple/swift-syntax/issues? q=is%3Aissue+is%3Aopen+label%3AMacros

Slide 9

Slide 9 text

Other first party libraries Developer Tools, CLI application development • https://github.com/apple/swift-format • https://github.com/apple/swift-docc • https://github.com/apple/swift-markdown • https://github.com/apple/swift-argument-parser • https://github.com/apple/swift-system • https://github.com/apple/sourcekit-lsp

Slide 10

Slide 10 text

Other first party libraries Data types and Algorithms • https://github.com/apple/swift-collections • https://github.com/apple/swift-numerics • https://github.com/apple/swift-algorithms • https://github.com/apple/swift-async-algorithms

Slide 11

Slide 11 text

Other first party libraries Swift on Server, Networking • https://github.com/swift-server • https://github.com/apple/swift-nio • https://github.com/apple/swift-openapi-generator • https://github.com/apple/swift-protobuf • https://github.com/apple/swift-log • https://github.com/apple/pkl-swift

Slide 12

Slide 12 text

Other first party libraries And more! • https://github.com/orgs/apple/repositories? q=lang%3ASwift

Slide 13

Slide 13 text

How to tackle it • Search issues/pull requests • Scan TODO/FIXME comments • Check out the Swift Forums topics • https://forums.swift.org/c/development/16 • https://forums.swift.org/c/related-projects/25 • https://forums.swift.org/c/server/43 • Submit issues/pull requests!

Slide 14

Slide 14 text

! try! Open Source Swift