Top 10 open source iOS libraries every developer should replace in 2024

Transform Your Apps by Embracing SwiftUI and Modern Development Practices Today

In myprevious article, I wrote about the Top 10 open source iOS libraries that every developer should have known before 2024

The technology evolves, so must we. Let me share with you the journey of replacing these 10 legacy libraries with cutting-edge solutions that have revitalized my development process.

1. Alamofire ➡️ URLSession with async/await

Letting Go of Alamofire

I used to swear by Alamofire for all my networking needs. It simplified HTTP requests and made handling responses a breeze. But with the introduction of Swift’s async/await and the powerful capabilities of URLSession, I've found that I can achieve the same results with cleaner, more efficient code. Embracing URLSession has reduced dependencies and made my networking layer feel more native and integrated.

2. RxSwift (UIKit) ➡️ Combine

Moving Beyond RxSwift to Combine

RxSwift opened my eyes to the possibilities of reactive programming. However, integrating it with SwiftUI felt like forcing two puzzle pieces that didn’t quite fit. Transitioning to Combine, Apple’s native reactive framework, has been a revelation. The seamless integration with SwiftUI has made my codebase more cohesive and has significantly reduced complexity.

3. Realm ➡️ Core Data with SwiftUI

Replacing Realm with Core Data and SwiftUI

Realm was my trusted companion for data persistence. Its simplicity and performance were unmatched — until SwiftUI enhanced its integration with Core Data. With features like @FetchRequest and better managedObjectContext support, Core Data has become more approachable and efficient. Making the switch has unified my data management and improved app stability.

4. SDWebImage ➡️ AsyncImage or Nuke

Evolving from SDWebImage to AsyncImage and Nuke

Loading images asynchronously was a challenge that SDWebImage elegantly solved. But with SwiftUI’s AsyncImage component introduced in iOS 15, I've found a native solution that fits perfectly into my apps. For those times when I need more advanced image processing, Nuke has been a fantastic library that offers SwiftUI support and powerful features.

5. Kingfisher ➡️ Kingfisher for SwiftUI

Upgrading Kingfisher for SwiftUI

Kingfisher has been a staple for image downloading and caching. The good news is that it’s kept up with the times. Its latest versions fully support SwiftUI, making the integration smoother than ever. Continuing with Kingfisher feels like working with an old friend who’s learned new tricks — it’s familiar yet refreshingly modern.

6. Lottie ➡️ Lottie for SwiftUI

Enhancing Animations with Lottie in SwiftUI

Animations add that magical touch to our apps, and Lottie has been instrumental in bringing animations to life. Now that Lottie supports SwiftUI, incorporating those delightful animations has become even more seamless. It’s reignited my passion for creating engaging user experiences.

7. SwiftyJSON ➡️ Codable

Embracing Codable over SwiftyJSON

SwiftyJSON was once my go-to for parsing JSON data. It simplified a complex process and saved me countless hours. But with Swift’s native Codable protocol, I've discovered a more streamlined and type-safe way to handle JSON. This shift has made my networking code cleaner and more reliable.

8. Charts ➡️ Apple Charts Framework

Utilizing Apple’s Native Charts Framework

Creating visually appealing charts was a daunting task that often required bulky third-party libraries. With Apple’s introduction of the native Charts framework, building data visualizations has become an integrated and enjoyable part of development. It’s allowed me to present data in engaging ways without the overhead of external dependencies.

9. SnapKit ➡️ SwiftUI’s Layout System

Transitioning from SnapKit to SwiftUI’s Layout System

SnapKit made Auto Layout less of a headache, and I was grateful for it. However, SwiftUI’s declarative layout approach has revolutionized how I design interfaces. Using stacks and alignment guides, I’ve been able to create complex layouts with less code and greater flexibility. It’s made UI development a joy again.

10. MBProgressHUD ➡️ ProgressView

Modernizing with ProgressView over MBProgressHUD

MBProgressHUD was the standard for indicating progress and loading states. But SwiftUI’s ProgressView has provided a native, customizable alternative that fits naturally within my apps. It's simplified my code and enhanced the user experience by providing smooth and responsive feedback.

Looking Ahead: The Future of iOS Development

Making these changes hasn’t just updated my projects — it’s revitalized my passion for development. Here’s what I see on the horizon:

  • SwiftUI Becoming the Norm: By the end of 2025, I anticipate that SwiftUI will be the foundation of most new iOS projects.

  • Reduced Reliance on External Libraries: As native solutions continue to improve, the need for third-party libraries will diminish, leading to more stable and maintainable codebases.

  • Adoption of Native Reactive Programming: Combine will likely become the standard for reactive programming in Swift, offering seamless integration and performance benefits.

What about you? Have you started transitioning away from these legacy libraries? I’d love to hear your experiences, challenges, or any tips you might have. Let’s start a conversation and help each other grow in this ever-evolving field!

If you’ve enjoyed this article, subscribe and get an email as soon as I publish!

0
Subscribe to my newsletter

Read articles from Herlandro Hermogenes directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Herlandro Hermogenes
Herlandro Hermogenes

As a graphic designer, I merged creativity and technology. After two years volunteering and experiencing people’s needs firsthand, I returned to technology with renewed purpose. During my Information Systems degree, I realized software engineering addresses societal needs. I actively contribute to the developer community and I believing in using skills for the greater good, my mission is to harness technology to improve quality of life and foster an inclusive, connected future.