Since its initial announcement during WWDC 2019 and the subsequent release alongside iOS 13 in September, SwiftUI has piqued the interest of many developers, who started experimenting with it in their per projects and libraries.
Some actually started using it in their production ready apps, even though SwiftUI definitely has a long path of improvements and changes ahead of it
In this article we compiled some popular and interesting SwiftUI libraries that may be useful to you in current or future projects.
When deciding which libraries to include, we took into account the scope of the problems it solves, as well as its popularity on GitHub.
Collection Containers and Layouts
A lot of developers were surprised by the lack of a
UICollecitonView alternative in SwiftUI. Possible solutions for this include implementing
UIViewRepresentable to wrap a
UICollectionView, or using of of these libraries:
QGrid works on the same principle as the List control included in SwiftUI. It is easily configurable and has a comprehensive API.
ASCollectionView uses UIKit’s
UICollectionView, but provides a SwiftUI-oriented way to interact with it. Some of the noteworthy features include preloading data and the ability to use any
A flexible implementation of the waterfall grid with plenty of customisation and support for cell animation.
These two repos can interest be of interest if you want to add some eye-catching widgets to your application.
The oldest and most popular onboarding library for SwiftUI. It can be used to create a walkthrough for you application with customisable concentric animation.
One of the few libraries at the time of writing that lets you draw line, bar and pie charts. It provides 8 different styles and can be tailored to any design.
Majority of apps today require some amount of image processing, from showing local assets to downloading, caching and modifying images retrieved from the backend.
A very popular library
SDWebImage is now available for SwiftUI with the same functionality.
This library is the SwiftUI version of the well-known set of
UIImage extensions, first implemented by Apple in Objective-C. It will let you use high-performance blur and tint effects.
Useful Extensions and Utilities
We wrap up this compilation with a trio of general-use repositories that will be useful to almost any developer.
This is a repo full of different extensions that enhance and simplify the usage of the default SwiftUI API.
A SwiftUI-based Redux implementation that helps manage application states by employing
BindableObject from the Combine library.
KeyboardAvoiding is another Combine-base solution that helps observe keyboard-related events in your app.
It seems new libraries for SwiftUI are released every day, and it can be hard to predict which of them will be popular (or de-facto standard) in the future. But it’s exciting to see the communities interest and willingness to improve this new technology.
Subscribe to our Twitter account to receive a weekly iOS Development Newsletter to keep up to date with the latest mobile and SwiftUI related news!
Read similar articles
SwiftUI tutorial: replicating the Activity application
This article is the third one in the Replicating series where we recreate UI elements of high-quality apps. Here we take a look at Apple’s Activity app.Learn more 4 min read
Creating haptic feedback in iOS 13 with Core Haptics
With iOS 13 release Apple finally added a new framework called Core Haptics, which allows developers to define and play custom haptic feedback patterns.Learn more 4 min read