Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Open Source Swift Workshop - Foundation and fir...

Open Source Swift Workshop - Foundation and first party libraries

Open Source Swift Workshop at try! Swift Tokyo 2024

Sho Ikeda

March 24, 2024
Tweet

More Decks by Sho Ikeda

Other Decks in Programming

Transcript

  1. Open Source Swift Workshop Foundation and first party libraries Sho

    Ikeda / @ikesyo try! Swift Tokyo 2024 2024-03-24 Sat #tryswiftconf
  2. Sho Ikeda • @ikesyo • Hatena Co., Ltd. in Kyoto

    • https://github.com/ikesyo • swift-corelibs-foundation Contributor
  3. Agenda • Swift Core Libraries • Foundation • XCTest and

    swift-testing • Other first party libraries • How to tackle it
  4. 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
  5. 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.
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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!