Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Swift
  3. ReerKit

ReerKit

MITSwift1.2.8

A comprehensive collection of Swift extensions and utilities for iOS, macOS, tvOS, watchOS, and Linux development.

Visit WebsiteGitHubGitHub
107 stars6 forks0 contributors

What is ReerKit?

ReerKit is a native Swift framework that provides a wide array of extensions, syntactic sugar, and performance improvements for system types, UIKit, and Cocoa classes across Apple platforms and Linux. It enhances development productivity by offering convenient methods and utilities that simplify common tasks while maintaining type safety and avoiding naming conflicts.

Target Audience

Swift developers building applications for iOS, macOS, tvOS, watchOS, visionOS, or Linux who want to extend native types and frameworks with safe, convenient utilities. It's particularly useful for developers who frequently work with data structures, concurrency, property wrappers, and UI enhancements.

Value Proposition

Developers choose ReerKit because it provides a comprehensive, non-intrusive toolkit that follows Swift conventions, uses a unique 're' infix to prevent naming conflicts, and offers a pragmatic collection of extensions and utilities that are not available in the standard library, such as weak reference containers, lock encapsulations, and dynamic member lookup for dictionaries.

Overview

Swift 基础库. A collection of Swift extensions and utilities.

Use Cases

Best For

  • Adding type-safe extensions to Swift's standard library and Apple frameworks without naming conflicts using the 're' infix.
  • Implementing common data structures like BinaryTree, Tree, LinkedList, Queue, Stack, OrderedSet, and OrderedDictionary in Swift projects.
  • Managing concurrency and thread safety with utilities like MutexLock, ReadWriteLock, Synchronizing, and UnfairLock.
  • Applying property behavior control with property wrappers such as Clamped, Locked, Rounded, RWLocked, and Trimmed.
  • Accessing dictionary contents using dot notation via dynamic member lookup for cleaner code.
  • Handling weak references with automatic cleanup using WeakSet and WeakMap containers.

Not Ideal For

  • Projects aiming to minimize third-party dependencies for reduced maintenance and smaller binary sizes
  • Teams already heavily using Swift's Combine framework or async/await for concurrency, as ReerKit's lock utilities may overlap
  • Developers relying exclusively on Swift Package Manager for building iOS/macOS/watchOS apps, due to its unsupported platform limitations
  • Applications requiring UIKit support on iOS versions older than 12.0, as ReerKit's minimum iOS target is 12.0

Pros & Cons

Pros

Type-Safe Naming Convention

All extensions use the 're' infix (e.g., '123'.re.md5String) to prevent naming conflicts with existing methods, ensuring clarity and safety as highlighted in the README examples.

Comprehensive Data Structures

Includes implementations like BinaryTree, OrderedSet, and OrderedDictionary, which are not in Swift's standard library, providing ready-to-use solutions for complex data handling.

Concurrency and Lock Utilities

Offers MutexLock, ReadWriteLock, and other encapsulations for thread-safe operations, simplifying concurrency management without boilerplate code.

Cross-Platform Support

Supports Apple platforms (iOS 12.0+, macOS 10.13+) and Linux (Ubuntu 14.04+), making it versatile for both client and server-side Swift development.

Cons

Limited SPM Build Support

The README explicitly states Swift Package Manager does not support building for iOS/tvOS/macOS/watchOS applications, which is a significant limitation for modern Swift projects using SPM.

Verbose and Non-Standard Syntax

The mandatory 're' infix on all extensions can make code more verbose and less idiomatic compared to standard Swift patterns, potentially hindering readability.

Documentation Accessibility Issues

Documentation is primarily via DocC or a downloadable archive, with a Chinese version available, which may pose language barriers or lack real-time updates compared to online, searchable docs.

Frequently Asked Questions

Quick Stats

Stars107
Forks6
Contributors0
Open Issues0
Last commit2 months ago
CreatedSince 2022

Tags

#foundation#ios#property-wrappers#data-structures#extensions#swift-extensions#utility-library#ui-framework#cross-platform#concurrency#cocoapods#swift#swift-library#ipados#macos

Built With

S
Swift

Links & Resources

Website

Included in

Swift26.0k
Auto-fetched 11 hours ago

Related Projects

SwifterSwiftSwifterSwift

A handy collection of more than 500 native Swift extensions to boost your productivity.

Stars15,142
Forks1,664
Last commit3 days ago
R.swiftR.swift

Strong typed, autocompleted resources like images, fonts and segues in Swift projects

Stars9,569
Forks779
Last commit1 year ago
PeripheryPeriphery

A tool to identify unused code in Swift projects.

Stars6,180
Forks232
Last commit14 days ago
swift-protobufswift-protobuf

Plugin and runtime library for using protobuf with Swift

Stars4,956
Forks528
Last commit11 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub