Top 10 Open Source iOS Libraries on GitHub to Speed Up App Development
These open source libraries can up your app development game, providing functionalities like animations, UI design, forms, and more.
Join the DZone community and get the full member experience.Join For Free
iOS is one of the most popular operating systems in the world today. This means that developers need to build applications to serve the needs of users of devices that rely on the iOS. However, development could become a Herculean task the moment you try doing everything from scratch. Why reinvent the wheel?
With an open source platform like GitHub, you can very easily get to implement the projects of great developers and use them to add great features to yours. The libraries discussed in this article are arranged in order of a number of stars and they range from libraries for creating great calendars to improving user interfaces and making the development process very easy in general. Without wasting time, let's get into the thick of things.
Lottie is an iOS library for parsing Adobe After Effects animations. It does this by utilizing the Bodymovin After Effects plugin and ensuring that the animations are rendered beautifully on mobile and web platforms.
With this, development is more enjoyable as designers can easily create beautiful animations to make the users marvel.
You can install this library using Cocoapods. Simply add the pod to your podfile using:
And run using:
After this, you can import it in Objective C using:
And in Swift using:
Here is an iOS library that helps improve the user interface.
Chameleon is a flat color framework for iOS, which helps make development a breeze. With this powerful tool, your application is sure to get a very beautiful interface.
It is known that while picking colors, the choice of the right RGB values needs to be made. But with Chameleon, it is easier to get those great color combinations and saving yourself lots of frustration.
Using Cocoapods, Chameleon can be installed by simply adding the following command to the podfile:
use_frameworks! pod 'ChameleonFramework'
The process of switching from on-disk image data and then rendering it as a core animation layer is usually time, energy and resources sapping.
However, with FastImageCache, images of similar sizes are stored together ensuring that it persists and the return of the image data to the user is faster.
Fast Image Cache manages cache expiry based on the recency of image usage, making development process faster and less tasking.
This iOS library can easily be installed using Cocoapods which makes integration less time-consuming.
This is a quick calendar development library for iOS. With FSCalendar you can create amazing calendars for your iOS apps which are compatible with Objective-C and Swift without having to code it up from scratch, making for a faster development experience.
You can easily install it using Cocoapods.
After installation, you can include it in your iOS8+ apps using:
use_frameworks! target '<Your Target Name>' do pod 'FSCalendar' end
And for your iOS7+ apps using:
target '<Your Target Name>' do pod 'FSCalendar' end
XLForm is one of the most powerful, efficient and customizable libraries for developing dynamic table-view forms. Development becomes a great experience and you get to save a lot time and get great results too.
Let's say you can eat your cake, and have it.
XLForm can easily be installed using Cocoapods.
It can be added to the pod with the command:
pod 'XLForm', '~> 4.0'
If you prefer using Swift for development, XmartLabs the creators of this great library have also created Eureka for better creation of forms using Swift.
Learn more on GitHub.
Just like FSCalendar, JTAppleCalendar can also be used to create lovely calendars with a great design, which are also very customizable. You can easily create custom cells and calendar views.
It is installed using Cocoapods. You can integrate the JTAppleCalendar into your project using:
source 'https://github.com/CocoaPods/Specs.git' platform :ios, '10.0' use_frameworks! target '<Your Target Name>' do pod 'JTAppleCalendar', '~> 7.0' end
Then, run the following command:
This is an iOS library for URL routing by using just a simple block-based API. Created by Joel Levin, what JLRoutes does is to efficiently manage the URL routes for the schemes in your iOS app.
What makes JL Routes great to use is its support for wildcard matching and route namespaces making the process smoother and less time-consuming.
Install JLRoutes using Cocoapods.
It is also available for installation using Carthage. Simply add
to your Cartfile.
At one point or another during development, there is a need to visualize data for the users to see. With JBChartView created by JawBone, it is easier.
JBChartView is an iOS-based charting library for both line and bar graphs.It makes the creation of beautiful charts effortless and faster. As a plus, it comes with a lot of customization options.
Apart from supporting the creation of line and bar graphs, it also supports Drop-in UI view subclass and the expanding and collapsing of animations.
JBChartView can be installed using Cocoapods and then added to your project by adding the following command to your podfile:
platform :ios, '6.0' pod 'JBChartView'
Learn more on GitHub.
Here is another charting library for iOS. BFMSimpleLineGraph is a library that helps developers create quality line graphs for their apps with great customizability as well.
A downside is that it doesn't support any other graph type except line graphs, however, this doesn't mean it is less useful as it creates interactive graphs as well.
It is an easy to install the library, is lightweight and doesn't have dependency issues.
Talking about setting it up, you can do it using Cocoapods by simply adding the following command into the podfile:
What's an application with poor font types? That's most likely an application with a poor user interface.
FontAwesomeKit is an iOS library created by Pride Chung that makes it easier create beautiful app designs by choosing great fonts.
It has a large support for lots of font providers:
Currently, FontAwesomeKit supports 6 different icon fonts such as FontAwesome 4.7, icons, Zocial, Fondation icons, Octicons and Material 2.0.0.
It can easily be installed using Cocoapods by adding the following to the podfile:
pod 'FontAwesomeKit', '~> 2.2.0'
The font libraries can also be added into the podfile using:
pod 'FontAwesomeKit/FontAwesome' pod 'FontAwesomeKit/FoundationIcons' pod 'FontAwesomeKit/Zocial' pod 'FontAwesomeKit/IonIcons' pod 'FontAwesomeKit/Octicons' pod 'FontAwesomeKit/Material'
The podfile can then be run using:
Visit the GitHub page.
Wrapping It Up
The use of libraries makes the development process faster, and the libraries we have taken a look at have great capabilities.
However, this is not to say that they are the only iOS libraries out there, there are more.
A recap of the libraries discussed:
- Lottie-iOS for animation.
- Chameleon, FontAwesomeKit for design.
- FSCalendar, JTAppleCalendar for customizable calendars.
- XLForm for form creation.
- JLRoutes for URL routing.
- JBChartView, BFMSimpleLineGraph for data visualization.
What else are you waiting for? Go check out those libraries to use in your projects.
Opinions expressed by DZone contributors are their own.