Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. Bolts-Swift

Bolts-Swift

NOASSERTIONSwift1.5.0

A Swift implementation of futures/promises for iOS, macOS, watchOS, and tvOS to simplify asynchronous programming.

GitHubGitHub
1.3k stars125 forks0 contributors

What is Bolts-Swift?

Bolts-Swift is a Swift library that implements the futures/promises pattern for Apple platforms (iOS, macOS, watchOS, tvOS). It simplifies asynchronous programming by allowing developers to chain operations, handle errors gracefully, and execute tasks in parallel without callback pyramids. Originally created by Parse and Facebook for internal use, it solves common challenges in mobile app development related to concurrency and code organization.

Target Audience

iOS and macOS developers building applications that require complex asynchronous operations, such as network requests, database interactions, or multi-step workflows. It's particularly useful for teams looking to avoid callback hell and write more maintainable asynchronous code.

Value Proposition

Developers choose Bolts-Swift because it provides a lightweight, platform-native implementation of futures/promises with full support for chaining, cancellation, and custom executors. Unlike some alternatives, it's designed specifically for Swift and Apple's ecosystem, offering seamless integration with existing concurrency models while keeping resource usage low.

Overview

Bolts is a collection of low-level libraries designed to make developing mobile apps easier.

Use Cases

Best For

  • Chaining multiple asynchronous network requests in a readable sequence
  • Handling complex error scenarios in asynchronous workflows
  • Performing parallel operations and synchronizing their results
  • Writing asynchronous code that avoids callback pyramids
  • Controlling execution context (e.g., main thread) for task continuations
  • Building mobile apps with clean, maintainable asynchronous logic

Not Ideal For

  • Projects already adopting Swift's native async/await concurrency model
  • Apps heavily invested in Apple's Combine framework for reactive streams
  • Teams seeking a high-level, declarative asynchronous library with extensive built-in operators

Pros & Cons

Pros

Clean Task Chaining

Provides methods like `continueWith` and `continueOnSuccessWithTask` to chain asynchronous operations sequentially, eliminating callback pyramids and improving code readability as shown in the README examples.

Flexible Execution Control

Supports custom executors to control where continuation closures run, such as on the main thread, allowing seamless integration with various threading models without locking into a specific one.

Resource-Efficient Design

Tasks do not occupy threads while waiting, consuming fewer system resources compared to traditional threading approaches, which is highlighted as a key benefit in the README.

Parallel Task Synchronization

Enables running multiple tasks concurrently and synchronizing results with `whenAll()`, simplifying complex workflows like batch operations demonstrated in the code snippets.

Cons

Subproject Indexing Slowdown

The README warns that including Bolts as a subproject significantly increases indexing time in Xcode, which can hinder development speed and workflow efficiency.

Lacks Modern Swift Integration

Does not natively support Swift's newer concurrency features like async/await, requiring manual bridging and making it less appealing for projects adopting up-to-date Swift practices.

Sparse Advanced Documentation

Full method lists are only available in source code (e.g., Task+ContinueWith.swift), which can complicate learning and debugging for developers needing detailed guidance.

Frequently Asked Questions

Quick Stats

Stars1,317
Forks125
Contributors0
Open Issues13
Last commit1 year ago
CreatedSince 2016

Tags

#asynchronous-programming#ios#tvos#futures-promises#mobile-development#concurrency#watchos#swift#macos

Built With

S
Swift

Included in

iOS51.7k
Auto-fetched 19 hours ago

Related Projects

PromiseKitPromiseKit

Promises for Swift & ObjC.

Stars14,246
Forks1,458
Last commit2 months ago
BoltsBolts

Bolts is a collection of low-level libraries designed to make developing mobile apps easier.

Stars5,625
Forks576
Last commit4 years ago
promisespromises

Promises is a modern framework that provides a synchronization construct for Swift and Objective-C.

Stars3,831
Forks309
Last commit1 year ago
HydraHydra

⚡️ Lightweight full-featured Promises, Async & Await Library in Swift

Stars2,003
Forks115
Last commit4 years 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