A cross-platform, protocol-oriented Swift library that reimplements Foundation with pure Swift for better portability and performance.
SwiftFoundation is a cross-platform, protocol-oriented programming base library that complements the Swift Standard Library by reimplementing Apple's Foundation framework in pure Swift. It solves problems like Objective-C legacy, incomplete implementations in open-source Foundation, and limited portability, offering a modern alternative with better performance and safety.
Swift developers building applications for multiple platforms (Darwin, Linux, WebAssembly) who need a reliable, pure Swift foundation library without Objective-C dependencies.
Developers choose SwiftFoundation for its protocol-oriented design, cross-platform compatibility, and pure Swift implementation, which provide performance improvements, concurrency safety, and freedom from legacy Cocoa frameworks.
Cross-Platform, Protocol-Oriented Programming base library to complement the Swift Standard Library. (Pure Swift, Supports Linux)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports Darwin, Linux (x86_64 and Armv7), and WebAssembly, offering broader portability than Apple's open-source Foundation, which is limited to Darwin and Linux.
Reimplements core types like Date and UUID as Swift structs, eliminating Objective-C pointers and memory management issues, and improving multithreading safety as highlighted in the README.
Written entirely in Swift without C dependencies, making it accessible and maintainable for Swift developers, addressing the goal of a long-term Swift base library.
Implements basic functionalities like Base64 and Thread that are marked as unimplemented in Apple's swift-corelibs-foundation, providing a more complete open-source alternative.
The README explicitly lists FileManager and JSON as not implemented, limiting its use for applications that rely on these common Foundation components.
Positioned as a long-term replacement, the project may undergo breaking changes and lacks the maturity and stability of Apple's established Foundation framework.
Many Swift libraries and tools assume Apple's Foundation, so using SwiftFoundation could lead to compatibility issues or require significant adaptation work.