33 iOS open source libraries to be popular in 2017

Original author: Paweł Białecki
  • Transfer
Have a great Friday mood, friends!
Today we have prepared for you a useful translation of the post of the founder of Ecler Studios Paweł Białecki, in which he offers our attention 33 open source projects for iOS developers.
Using his GitHub account, he discovered many promising tools and selected, in his opinion, the best of them for his readers.



1. IGListKit from InstagramEngineering




Created by Instagram developers, IGListKit is a data-driven framework for UICollectionView that lets you quickly create flexible lists. It also helps to dispense with MassiveViewControllers in the application. Check out the tutorial from Ray Wenderlich that explains how to embed this library in a project, or read Rodrigo Cavalcante 's article on porting existing UITableViews to IGListCollectionView.

2. Realm by realm.io




Realm is a mobile database that works right inside phones, tablets and wearable devices, and not only on iOS. If you want to try something significantly different from CoreData, give preference to Realm. Many consider it a modern, ready-to-launch alternative to Apple's native solution.

3. Moya by Ash Furrow




Moya is the missing network layer for your application. You no longer have to puzzle over where (and how) to place network requests, Moya will take care of this.


4. SwiftyJSON by Pinglin Tang



King of parsing JSON on Swift.

Convert this:
if let statusesArray = try? JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [[String: Any]],
    let user = statusesArray[0]["user"] as? [String: Any],
    let username = user["name"] as? String {
    // Finally we got the username
}


here it is:

let json = JSON(data: dataFromNetworking)
if let userName = json[0]["user"]["name"].string {
  // Now you got your value
}


Turning, if necessary, is done automatically.

5. Valet by Square


Valet provides secure data storage in iOS or OS X Keychain, even if you have no idea how Keychain works. It allows you to transfer data between multiple applications (from the same developer) on the same device, as well as transfer data within the same application on several devices using iCloud. Touch ID support? Easy!

6. FirebaseAnalytics from GoogleDevelopers




This solution, developed (well, or bought out) by Google, perhaps, can be called the best analytical tool for iOS. Track how the application is used, how involved users are, what events are occurring; set custom characteristics, create customized audiences, and more.

7. AsyncDisplayKit


The Facebook team created this UI SDK for their Paper application. If you want your application to always render at 60 frames per minute, be sure to check out this library. Here you can read about the experience of the Buffer team.

8. DZNEmptyDataSet



The user installs your application and sees an empty UITableView. DZNEmptyDataSet helps to avoid this problem by offering a default injectable pattern for cases when data is not in the table .

9. Chameleon by Vicc Alexander




Chameleon is a compact but powerful iOS color framework. It is based on the idea that applications should work with ease and at the same time maintain an eye-friendly interface.

With Chameleon, you don’t have to bother with RGB values, spend hours picking the best combination of shades for the application, and worry about whether the text will read well in different background colors.



10. PermissionScope by Nick O'Neill




PermissionScope is a Swift framework that allows you to intelligently request permission from users. It contains not only a simple UI for sending requests, but also an API for permissions, which can tell you the status of any system permission or easily request it.


11. FileKit by NikolaiVazquez




FileKit is a Swift framework that provides a simple and expressive file management system. See examples of how it is used.

12. SwiftyUserDefaults by RadekPietruszewski


SwiftyUserDefaults makes user defaults fun to use, combining Swiftly's expressive APIs with the benefits of static typing. Define all keys in one place, easily apply value types and in addition get free additional security and verification at the compilation stage.

13. Kingfisher by 王巍 (Wei Wang)




Kingfisher is a compact library for asynchronously downloading and caching pictures from the Web, especially for Swift.

14. Hero by Luke Zhao




Hero is a library for building transitions between ViewControllers on iOS. It complements the awkward transition APIs from UIKit and simplifies the transition setup process.

15. Hedwig by 王巍 (Wei Wang)




Hedwig is a Swift package that provides a set of high-level APIs that make sending emails to an SMTP server easy. If you plan to send messages from your future stunning client-server application, perhaps Hedwig is just what you need.

16. DeviceKit by DennisWeissmann


DeviceKit is a replacement of value types for UIDevice. Without problems, get information about the status of the device and the level of charge.

17. Charts



A library of beautiful diagrams of various types: columnar, circular, point, three-dimensional, radial, and so on.

18. MGSwipeTableCell



An easy-to-use subclass of UITableViewCell that allows you to display slider buttons with different types of transitions.




19. RandomKi t by NikolaiVazquez




A simple and understandable random data generator.

20. ResponseDetective



ResponseDetective is a framework that, while minimally interfering with the process, intercepts all outgoing requests and incoming responses between the application and the server for debugging.

21. Onboard




Create beautiful and exciting presentations with just a few lines of code with no extra effort.

22. Quick + Nimble by も ど か し い



Quick is a framework for testing BDD on Swift and Objective-C. It comes with Nimble, a framework that extends the ability to compare data.

23. Natalie by Marcin Krzyzanowski



Natalie generates Swift code based on storyboards, making it easier to work with Storyboard and Segue. Generated files reduce the use of strings as Storyboard and Seguе identifiers.

24. RxSwift by ReactiveExtensions *




Interested in reactive Swift programming? RxSwift at your service.

25. GDPerformanceView by Daniil Gavrilov







The GDPerformanceView shows the FPS, percentage of CPU utilization, application version and iOS above the status bar and provides reports on FPS and CPU utilization through the delegate.

26. Alamofire




Alamofire is a web-based HTTP library written in Swift.

27. SwiftyStoreKit by Andrea Bizzotto




SwiftyStoreKit is a small framework for working with in-app purchases on iOS (version 8.0 and higher), TvOS (version 9.0 and higher) and macOS (version 10.10 and higher).

28. Timepiece from AnyType


Intuitive work with data on Swift.

29. CryptoSwift by Marcin Krzyzanowski


Cryptography-related features and helpers for Swift implemented on Swift.

30. FSCalendar



Custom Calendar Library for iOS compatible with Objective-C and Swift.



31. ImageViewer by KristianAngyal


Solution for viewing pictures in the style of Twitter.

32. PromiseKit




PromiseKit is the thoughtful and complete implementation of promises on any platform using swiftc. It is perfectly adapted for use in ObjectiveC and offers excellent specializations for iOS, TvOs, macOS and watchOS.

33. Ensembles by Drew McCormack




Ensembles is a Swift-enabled Objective-C framework that extends Apple's CoreData framework by adding peer-to-peer synchronization for macOS and iOS. Numerous persistent SQLite repositories can be connected through any file synchronization platform, such as iCloud or Dropbox. The framework can be expanded when necessary to support any service that has the ability to move files between devices, including a custom server.

Also popular now: