Yalantis: iOS, Android And Web App Development Company

January 2017: Four Hot New GitHub Open Source iOS Libraries

Yalantis is always in pursuit of interesting projects and promising open-source solutions. Now we’ve decided to launch a monthly digest describing iOS repositories trending on GitHub. All software products featured in this series will be taken from GitHub’s “trending repositories” list. So let’s begin by looking through some of the most popular open-source projects in the world during the past month. We’ll offer an overview of what these projects are/ what they can do, and maybe consider their business functions and possible use cases.

Hero

Swift, ~4.8k stars this month 

Hero is a library that makes it easy for iOS developers to implement custom transitions. The main idea behind Hero is that every UIKit object contains a HeroID – a simple string. Each source view and destination view with a matching HeroID is automatically transitioned from one state to the next when we switch between application screens.

For instance, if your current screen contains a circle and the next contains a square, this library transforms the circle into the square. In addition, you can scale, translate, rotate and do much more with the UI parts that don't have HeroIDs. This can be achieved simply by declaring an array with all desired types of transitions and assigning it to the heroModifiers property in UIView. This is much easier than CoreAnimation.

Hero is compatible with autolayout and can even be applied via storyboard. Awesome!

When to use:

Whenever you want to implement a stylish, tricky, interactive transition.

Kickstarter for iOS

Swift, ~3.8k stars this month

Kickstarter has been doing a great job for years. Many successful business ideas have been brought to life by contributors through this platform. Now Kickstarter has made their own contribution to the iOS community by publishing the source code for their Kickstarter iOS application on GitHub.

This project is pretty large, and is as a great educational resource for iOS developers. Great test coverage, comprehensive documentation, signaling, a modern MVVM architecture and functional programming are only a few of the reasons why this project is one that every iOS developer should be curious about.

Any constructive feedback is appreciated by the Kickstarter team – contributions, suggestions, or bug reports. These guys deserve a lot of respect for not only developing a successful product but also for being incredibly generous to their community.

When to use:

Whenever you want to see how common problems are solved in commercial projects by experienced developers.

SwifterSwift

Swift, ~2.1k stars this month

SwifterSwift is a collection of 400 native extensions, with handy methods, syntactic sugar, and performance improvements – 400-in-1. You’ll find a wide range of extensions for Array, Dictionary, primitive data types and UIKit classes. It works for iOS, tvOS, watchOS and macOS, and is compatible with Swift 3.

When to use:

All the time! A truly universal collection of extensions.

GDPerformanceView

Swift, ~700 stars in last 10 days.

GDPerformanceView is a simple view that shows CPU load, frame rate, iOS version and app version. It measures frame rate using CADisplayLink, and measures CPU load using thread_info for Mach threads(!). GDPerformanceView itself is a subclass of UIWindow superimposed on the status bar.

When to use:

Whenever you want to track the performance of your app in real time without attaching it to the debugger.

Stay tuned!

Design

UIDynamics, UIKit or OpenGL? 3 Types of iOS Animations for the Star Wars

Design

Eat. Drink. Track. How We Created Eat Fit iOS Animation Inspired by Google Fit

Design

How We Created Guillotine Menu Animation for iOS