Top 9 open source ios libraries

Page 1

Top​ ​9​ ​Useful​ ​Open​ ​Source​ ​iOS​ ​Libraries of​ ​2017

​ ​ ​ ​ ​Prepared​ ​By, ​ ​ ​Space-O​ ​Technologies


We​ ​love​ ​open​ ​source​ ​libraries!

They​ ​save​ ​us​ ​a​ ​lot​ ​of​ ​time​ ​and​ ​hassle​ ​for​ ​developing​ ​iOS​ ​apps.​ ​Majority​ ​of these​ ​libraries​ ​support​ ​Cocoapods,​ ​which​ ​means​ ​adding​ ​them​ ​to​ ​Xcode projects​ ​is​ ​a​ ​real​ ​breeze. Many​ ​times​ ​we’ve​ ​been​ ​asked​ ​by​ ​developers​ ​(a ​ nd​ ​our​ ​clients​)​ ​that​ ​how does​ ​these​ ​open​ ​source​ ​libraries​ ​benefit​ ​us? The​ ​answer​ ​is​ ​simple.​ ​Rather​ ​than​ ​building​ ​something​ ​from​ ​scratch,​ ​why not​ ​use​ ​the​ ​available​ ​open​ ​source​ ​libraries​ ​to​ ​build​ ​your​ ​iOS​ ​app. Over​ ​the​ ​years,​ ​we’ve​ ​used​ ​a​ ​lot​ ​of​ ​different​ ​open​ ​source​ ​libraries​ ​which helped​ ​us​ ​complete​ ​milestones​ ​successfully​ ​in​ ​our​ ​clients’​ ​projects.​ ​These open​ ​source​ ​libraries​ ​helped​ ​us​ ​in​ ​developing​ ​one​ ​of​ ​the​ ​most​ ​successful apps​ ​used​ ​by​ ​millions​ ​of​ ​people​ ​all​ ​over​ ​the​ ​world. In​ ​this​ ​document,​ ​we’ve​ ​curated​ ​a​ ​list​ ​of​ ​useful​ ​open​ ​source​ ​iOS​ ​libraries. Embed​ ​them​ ​in​ ​your​ ​apps​ ​and​ ​embrace​ ​its​ ​benefits,​ ​just​ ​like​ ​we​ ​do.


1​ ​–​ ​AFNetworking

When​ ​it’s​ ​the​ ​matter​ ​about​ ​networking,​ ​this​ ​iOS​ ​library​ ​makes​ ​every​ ​developer’s​ ​life​ ​a​ ​whole​ ​lot easier. If​ ​you’re​ ​using​ ​an​ ​API​ ​in​ ​your​ ​iOS​ ​app,​ ​this​ ​is​ ​what​ ​you​ ​can​ ​use​ ​(and​ ​we​ ​recommend).​ ​It​ ​is​ ​one of​ ​the​ ​most​ ​popular​ ​open​ ​source​ ​libraries​ ​out​ ​there.​ ​AFNetworking​ ​is​ ​a​ ​lightweight​ ​and​ ​fast​ ​open source​ ​networking​ ​library​ ​that​ ​uses​ ​blocks​ ​and​ ​grand​ ​central​ ​dispatch​ ​(GCD). This​ ​basically​ ​helps​ ​in​ ​improving​ ​app’s​ ​responsiveness,​ ​provides​ ​easier​ ​concurrency​ ​model​ ​than locks​ ​and​ ​threads,​ ​and​ ​also​ ​optimizes​ ​code​ ​with​ ​higher​ ​performance​ ​primitives. Thanks​ ​to​ ​its​ ​creator​ ​Matt​ ​Thompson,​ ​it​ ​is​ ​a​ ​great​ ​example​ ​of​ ​an​ ​open​ ​source​ ​project​ ​should​ ​be run.​ ​In​ ​fact,​ ​this​ ​iOS​ ​library​ ​has​ ​become​ ​quite​ ​popular​ ​as​ ​it​ ​has​ ​an​ ​amazing​ ​community​ ​of​ ​iOS developers​ ​who​ ​contributes​ ​to​ ​AFNetworking​ ​daily. When​ ​we​ ​say​ ​networking,​ ​we​ ​mean​ ​whenever​ ​you’ve​ ​to​ ​call​ ​certain​ ​API​ ​to​ ​fetch​ ​data​ ​from server​ ​or​ ​database,​ ​this​ ​iOS​ ​library​ ​makes​ ​the​ ​entire​ ​API​ ​call​ ​process​ ​a​ ​whole​ ​lot​ ​easier.

Github​ ​Link​ ​–​ ​https://github.com/AFNetworking/AFNetworking


2​ ​–​ ​Alamofire

Alamofire​ ​is​ ​AFNetworking’s​ ​younger​ ​and​ ​more​ ​of​ ​a​ ​trendy​ ​brother.​ ​It​ ​is​ ​a​ ​Swift-based​ ​HTTP networking​ ​library​ ​for​ ​iOS​ ​and​ ​Mac​ ​OS​ ​X.​ ​It​ ​provides​ ​an​ ​elegant​ ​interface​ ​on​ ​top​ ​of​ ​Apple’s Foundation​ ​networking​ ​stack,​ ​which​ ​simplifies​ ​many​ ​common​ ​networking​ ​tasks​ ​such​ ​as providing​ ​network​ ​communication​ ​for​ ​a​ ​multiplayer​ ​game,​ ​and​ ​also​ ​makes​ ​uploading, downloading,​ ​and​ ​getting​ ​JSONS​ ​a​ ​piece​ ​of​ ​cake. Alamofire’s​ ​elegance​ ​comes​ ​from​ ​the​ ​fact​ ​that​ ​it​ ​was​ ​written​ ​in​ ​Swift​ ​from​ ​ground​ ​up​ ​and​ ​does not​ ​inherit​ ​anything​ ​from​ ​its​ ​Objective-C​ ​brother,​ ​AFNetworking.​ ​Alamofire​ ​offers​ ​chainable request/response​ ​methods,​ ​JSON​ ​parameter​ ​and​ ​response​ ​serialization​ ​to​ ​perform​ ​basic networking​ ​tasks​ ​like​ ​uploading​ ​files​ ​and​ ​reducing​ ​data​ ​from​ ​a​ ​third-party​ ​API. In​ ​simple​ ​words,​ ​it​ ​reduces​ ​the​ ​effort​ ​of​ ​developer​ ​because​ ​developer​ ​does​ ​not​ ​need​ ​to​ ​directly deal​ ​with​ ​URLSession​.​ ​Alamofire​ ​uses​ ​URLSession​ ​internally. Although,​ ​you​ ​should​ ​have​ ​a​ ​conceptual​ ​understanding​ ​of​ ​HTTP​ ​networking​ ​and​ ​some​ ​exposure to​ ​Apple’s​ ​networking​ ​classes​ ​such​ ​as​ ​URLSession​. But,​ ​by​ ​using​ ​an​ ​iOS​ ​library​ ​like​ ​Alamofire,​ ​you​ ​can​ ​greatly​ ​reduce​ ​boilerplate​ ​code​ ​in​ ​your​ ​iOS app.​ ​And​ ​like​ ​already​ ​mentioned,​ ​Alamofire​ ​is​ ​an​ ​incredibly​ ​easy​ ​to​ ​use​ ​and​ ​makes​ ​everything look​ ​a​ ​lot​ ​cleaner.

Github​ ​Link​ ​–​ ​https://github.com/Alamofire/Alamofire


3​ ​–​ ​JSONModel

Most​ ​of​ ​the​ ​time,​ ​our​ ​iOS​ ​devices​ ​are​ ​connected​ ​to​ ​the​ ​internet​ ​and,​ ​naturally,​ ​most​ ​of​ ​the​ ​apps on​ ​our​ ​smartphones​ ​connect​ ​to​ ​a​ ​remote​ ​server​ ​to​ ​obtain​ ​some​ ​chunks​ ​of​ ​data​ ​every​ ​now​ ​and then. Some​ ​of​ ​these​ ​mobile​ ​apps​ ​consume​ ​only​ ​a​ ​little​ ​bit​ ​of​ ​data.​ ​For​ ​example,​ ​News​ ​app​ ​fetching only​ ​latest​ ​headlines​ ​every​ ​hour.​ ​But​ ​other​ ​apps​ ​like​ ​Facebook​ ​or​ ​Twitter​ ​interact​ ​with​ ​these servers​ ​on​ ​continuous​ ​basis. All​ ​of​ ​the​ ​mobile​ ​applications,​ ​nowadays,​ ​communicate​ ​with​ ​these​ ​remote​ ​servers​ ​using​ ​JSON. If​ ​you’re​ ​developing​ ​an​ ​iOS​ ​app​​ ​which​ ​often​ ​requires​ ​communication​ ​with​ ​a​ ​remote​ ​server,​ ​most probably​ ​you​ ​might​ ​already​ ​getting​ ​JSON​ ​responses.​ ​This​ ​is​ ​where​ ​JSONModel​ ​library​ ​comes​ ​to help. JSONModel​ ​is​ ​an​ ​open​ ​source​ ​library​ ​which​ ​helps​ ​to​ ​fetch​ ​JSON​ ​from​ ​server,​ ​parse​ ​it,​ ​and initialize​ ​your​ ​model​ ​classes​ ​with​ ​JSON​ ​response​ ​from​ ​the​ ​server.​ ​It​ ​also​ ​validates​ ​the​ ​JSON data.​ ​Most​ ​of​ ​the​ ​times,​ ​JSONModel​ ​is​ ​used​ ​to​ ​show​ ​response​ ​data​ ​received​ ​from​ ​API​ ​request in​ ​JSON​ ​format​ ​easily.​ ​So,​ ​If​ ​you’ve​ ​a​ ​more​ ​complex​ ​data​ ​model​ ​in​ ​your​ ​application, JSONModel​ ​is​ ​a​ ​real​ ​time-saver.

Github​ ​Link​ ​–​ ​https://github.com/icanzilb/JSONModel


4​ ​–​ ​MagicalRecord

“Core​ ​Data​ ​is​ ​simple”​ ​said​ ​Apple.​ ​“Nice​ ​and​ ​simple.“ Really​ ​Apple? It​ ​doesn’t​ ​look​ ​like​ ​it.​ ​A​ ​ton​ ​of​ ​boilerplate​ ​code​ ​being​ ​added​ ​for​ ​core​ ​data​ ​to​ ​each​ ​iOS​ ​app​ ​isn’t very​ ​elegant.​ ​Not​ ​to​ ​mention​ ​adding,​ ​deleting,​ ​and​ ​updating​ ​all​ ​entities,​ ​creating​ ​various​ ​core data​ ​stacks​ ​for​ ​different​ ​environments.​ ​Point​ ​is,​ ​it​ ​just​ ​could​ ​have​ ​been​ ​much​ ​better,​ ​Apple. To​ ​see​ ​how​ ​things​ ​could​ ​go​ ​wrong​ ​while​ ​using​ ​Core​ ​data​ ​and​ ​to​ ​teach​ ​our​ ​interns​ ​how​ ​to​ ​handle it,​ ​we​ ​had​ ​assigned​ ​them​ ​a​ ​task.​ ​All​ ​they​ ​had​ ​to​ ​do​ ​is​ ​develop​ ​an​ ​iOS​ ​app​ ​which​ ​involved​ ​core data.​ ​All​ ​of​ ​them​ ​decided​ ​the​ ​whole​ ​infrastructure​ ​in​ ​the​ ​beginning​ ​to​ ​make​ ​it​ ​perfectly organized. Can​ ​you​ ​guess​ ​what​ ​happened?​ ​Things​ ​started​ ​to​ ​get​ ​out​ ​of​ ​control​ ​and​ ​our​ ​interns​ ​couldn’t follow​ ​their​ ​pre-defined​ ​infrastructure​ ​80​ ​percent​ ​of​ ​the​ ​time. This​ ​is​ ​where​ ​MagicalRecord​ ​library​ ​came​ ​to​ ​rescue.​ ​One​ ​of​ ​our​ ​senior​ ​iOS​ ​developer,​ ​having 5+​ ​years​ ​of​ ​experience,​ ​explained​ ​them​ ​how​ ​to​ ​use​ ​MagicalRecord​ ​iOS​ ​library.


MagicalRecord​ ​is​ ​an​ ​open​ ​source​ ​iOS​ ​library​ ​which​ ​makes​ ​working​ ​with​ ​Core​ ​Data​ ​extremely easier​ ​and​ ​more​ ​elegant.​ ​MagicalRecord​ ​works​ ​like​ ​a​ ​wrapper​ ​for​ ​core​ ​data​ ​and​ ​hides​ ​all non-relevant​ ​stuff​ ​from​ ​developer. The​ ​point​ ​of​ ​MagicalRecord​ ​is​ ​to​ ​“clean​ ​up”​ ​core​ ​data​ ​code​ ​and​ ​enable​ ​simple​ ​one-line​ ​fetches of​ ​data,​ ​while​ ​also​ ​allowing​ ​custom​ ​performance​ ​optimizations. How​ ​does​ ​it​ ​do​ ​it?​ ​Well,​ ​it​ ​provides​ ​convenience​ ​methods​ ​to​ ​wrap​ ​boilerplate​ ​for​ ​core​ ​data setup,​ ​query,​ ​and​ ​update.​ ​Furthermore,​ ​if​ ​you’ve​ ​ever​ ​worked​ ​with​ ​active​ ​record​ ​pattern,​ ​then MagicalRecord​ ​open​ ​source​ ​library​ ​is​ ​really​ ​recommended​ ​for​ ​using​ ​core​ ​data​ ​in​ ​your​ ​iOS​ ​app.

Github​ ​Link​ ​–​ ​https://github.com/magicalpanda/MagicalRecord


5​ ​–​ ​Chameleon

If​ ​you’re​ ​an​ ​iOS​ ​app​ ​developer​ ​with​ ​a​ ​design​ ​band,​ ​this​ ​is​ ​a​ ​library​ ​you​ ​would​ ​really​ ​love​ ​to relish. Chameleon​ ​is​ ​a​ ​lightweight,​ ​yet​ ​powerful,​ ​color​ ​framework​ ​for​ ​both​ ​Objective-C​ ​and​ ​Swift.​ ​It​ ​was developed​ ​on​ ​an​ ​idea​ ​that​ ​iOS​ ​apps​ ​should​ ​function​ ​effortlessly​ ​while​ ​also​ ​maintaining​ ​their beautiful​ ​interfaces​ ​simultaneously. It​ ​basically​ ​extends​ ​UIColor​ ​with​ ​beautiful,​ ​modern​ ​flat​ ​colors.​ ​It​ ​also​ ​gives​ ​an​ ​ability​ ​to​ ​create color​ ​palettes​ ​from​ ​colors​ ​defined​ ​by​ ​you. So,​ ​if​ ​you’ve​ ​a​ ​beautiful​ ​design​ ​in​ ​mind​ ​for​ ​your​ ​iOS​ ​app,​ ​then​ ​this​ ​is​ ​a​ ​must-use​ ​library​ ​for​ ​you.

Github​ ​Link​ ​–​ ​https://github.com/ViccAlexander/Chameleon


6​ ​–​ ​GPUImage GPUImage,​ ​in​ ​simple​ ​words,​ ​is​ ​used​ ​for​ ​image​ ​processing.​ ​If​ ​you’re​ ​planning​ ​to​ ​add​ ​camera features​ ​in​ ​your​ ​iOS​ ​app,​ ​or​ ​building​ ​a​ ​photo​ ​video​ ​app​​ ​from​ ​scratch,​ ​then​ ​get​ ​this​ ​GPUImage library​ ​embedded​ ​in​ ​your​ ​iOS​ ​app​ ​project. The​ ​GPUImage​ ​is​ ​a​ ​third-party​ ​framework​ ​available​ ​for​ ​interactive​ ​processing​ ​with​ ​camera, videos,​ ​images,​ ​processing​ ​of​ ​images​ ​and​ ​videos.​ ​It​ ​basically​ ​allows​ ​to​ ​apply​ ​GPU-accelerated filters​ ​and​ ​effects​ ​to​ ​images,​ ​live​ ​camera​ ​video,​ ​and​ ​movies. In​ ​fact,​ ​we’ve​ ​used​ ​this​ ​library​ ​in​ ​most​ ​of​ ​our​ ​photos​ ​videos​ ​app​ ​projects,​ ​some​ ​of​ ​which​ ​also​ ​got featured​ ​on​ ​the​ ​App​ ​Store. If​ ​you’d​ ​like​ ​to​ ​know​ ​more​ ​about​ ​which​ ​of​ ​our​ ​photos​ ​videos​ ​app​ ​got​ ​featured​ ​on​ ​App​ ​Store, please​ ​check​ ​this​ ​article. GPUImage​ ​is​ ​the​ ​best​ ​iOS​ ​framework​ ​to​ ​develop​ ​photos​ ​&​ ​video​ ​apps​ ​because​ ​it​ ​allows​ ​you​ ​to write​ ​your​ ​own​ ​custom​ ​filters,​ ​supports​ ​deployment,​ ​and​ ​has​ ​a​ ​quite​ ​simple​ ​user​ ​interface. The​ ​original​ ​GPUImage​ ​framework​ ​was​ ​written​ ​in​ ​Objective-C​ ​and​ ​was​ ​targeted​ ​for​ ​iOS​ ​app development,​ ​but​ ​the​ ​latest​ ​version​ ​is​ ​written​ ​entirely​ ​in​ ​Swift,​ ​which​ ​also​ ​targets​ ​Linux​ ​and​ ​other future​ ​platforms​ ​that​ ​supports​ ​Swift​ ​code.

Github​ ​Link​ ​–​ ​https://github.com/BradLarson/GPUImage


7​ ​–​ ​ReactiveCocoa

ReactiveCocoa​ ​isn’t​ ​just​ ​another​ ​drop-in​ ​project​ ​like​ ​others​ ​in​ ​this​ ​list.​ ​It​ ​is​ ​rather​ ​an Objective-C​ ​framework​ ​inspired​ ​by​ ​functional​ ​programming. ReactiveCocoa​ ​is​ ​an​ ​Objective-C​ ​framework​ ​for​ ​Functional​ ​Reactive​ ​programming (FRP),​ ​which​ ​seeks​ ​to​ ​provide​ ​more​ ​concise​ ​and​ ​flow-based​ ​code. The​ ​main​ ​reason​ ​why​ ​ReactiveCocoa​ ​known​ ​as​ ​FRP​ ​(Functional​ ​Reactive Programming)​ ​is​ ​because​ ​it​ ​combines​ ​a​ ​couple​ ​of​ ​programming​ ​styles. ● Functional​ ​Programming​ ​–​ ​which​ ​makes​ ​use​ ​of​ ​higher​ ​order​ ​functions​ ​such​ ​as functions​ ​that​ ​take​ ​other​ ​functions​ ​as​ ​their​ ​arguments. ● Reactive​ ​Programming​ ​–​ ​which​ ​focuses​ ​of​ ​data-flows​ ​and​ ​change​ ​propagation. Besides​ ​this,​ ​ReactiveCocoa​ ​also​ ​offers​ ​new​ ​methods​ ​to​ ​compose​ ​and​ ​transform streams​ ​of​ ​values.​ ​It​ ​operates​ ​by​ ​using​ ​signals,​ ​which​ ​captures​ ​present​ ​and​ ​future values.​ ​More​ ​importantly,​ ​the​ ​main​ ​benefit​ ​of​ ​ReactiveCocoa​ ​is​ ​that​ ​it​ ​provides​ ​a​ ​way​ ​to deal​ ​with​ ​asynchronous​ ​behaviors,​ ​callback​ ​blocks,​ ​notifications​ ​and​ ​KVO,​ ​just​ ​by​ ​using the​ ​signals. Github​ ​Link​ ​–​ ​https://github.com/ReactiveCocoa/ReactiveCocoa


8​ ​–​ ​iRate

What’s​ ​the​ ​best​ ​way​ ​to​ ​get​ ​more​ ​reviews​ ​in​ ​the​ ​App​ ​Store? It’s​ ​simple​ ​–​ ​Ask​ ​the​ ​User​. It​ ​may​ ​sound​ ​like​ ​an​ ​old-school​ ​way,​ ​but​ ​most​ ​developers​ ​still​ ​implement​ ​custom​ ​in-app​ ​alerts​ ​to collect​ ​reviews​ ​from​ ​their​ ​app​ ​users.​ ​Now,​ ​if​ ​you​ ​don’t​ ​really​ ​have​ ​time,​ ​or​ ​wish​ ​not​ ​to​ ​create everything​ ​from​ ​scratch,​ ​then​ ​iRate​ ​is​ ​the​ ​best​ ​option. iRate​ ​is​ ​a​ ​small​ ​iOS​ ​library​ ​that​ ​you​ ​can​ ​use​ ​in​ ​your​ ​project​ ​and​ ​forget​ ​about​ ​asking​ ​users​ ​for review.​ ​iRate​ ​will​ ​do​ ​it​ ​for​ ​you,​ ​at​ ​proper​ ​time.​ ​And​ ​if​ ​you​ ​want​ ​to​ ​learn​ ​how​ ​to​ ​implement​ ​iRate library,​ ​just​ ​check​ ​out​ ​our​ ​iOS​ ​tutorial​ ​on​ ​–​ ​How​ ​to​ ​Add​ ​“Rate​ ​This​ ​App”​ ​Feature​ ​in​ ​Your​ ​iPhone App​ ​to​ ​Increase​ ​Your​ ​App​ ​Ratings​.

Github​ ​Link​ ​–​ ​https://github.com/nicklockwood/iRate


9​ ​–​ ​RETableViewManager RETableViewManager​ ​is​ ​a​ ​powerful​ ​data-driven​ ​content​ ​manager​ ​for​ ​UITableView. It​ ​allows​ ​developers​ ​to​ ​manage​ ​the​ ​content​ ​of​ ​any​ ​UITableView​ ​with​ ​ease,​ ​both​ ​forms​ ​and​ ​lists. RETableViewManager​ ​is​ ​built​ ​on​ ​top​ ​of​ ​reusable​ ​cells​ ​technique​ ​and​ ​provides​ ​APIs​ ​for​ ​mapping any​ ​object​ ​class​ ​to​ ​any​ ​custom​ ​cell​ ​subclass. The​ ​general​ ​idea​ ​is​ ​to​ ​allow​ ​developers​ ​to​ ​use​ ​their​ ​own​ ​UITableView​ ​and UITableViewController​ ​instances​ ​(and​ ​even​ ​subclasses),​ ​providing​ ​a​ ​layer​ ​that​ ​synchronizes data​ ​with​ ​the​ ​cell​ ​appearance.​ ​It​ ​fully​ ​implements​ ​UITableViewDelegate​ ​and UITableViewDataSource​ ​protocols​ ​so​ ​you​ ​don’t​ ​have​ ​to. It​ ​deliver​ ​us​ ​predefined​ ​cells​ ​for​ ​bools,​ ​texts,​ ​dates,​ ​etc.,​ ​but​ ​developers​ ​can​ ​also​ ​create​ ​their own​ ​custom​ ​views​ ​and​ ​use​ ​them​ ​along​ ​with​ ​the​ ​default​ ​ones.

Github​ ​Link​ ​–​ ​https://github.com/romaonthego/RETableViewManager


So,​ ​these​ ​are​ ​the​ ​top​ ​9​ ​useful​ ​open​ ​source​ ​libraries​ ​of​ ​2017​​ ​to​ ​know​ ​about. Here,​ ​at​ ​Space-O​ ​Technologies,​ ​open​ ​source​ ​iOS​ ​libraries​ ​are​ ​integral​ ​part​ ​of​ ​iPhone app​ ​development​ ​because​ ​it​ ​makes​ ​scaling​ ​iOS​ ​apps​ ​extremely​ ​easy​ ​task. If​ ​you​ ​have​ ​queries​ ​regarding​ ​any​ ​of​ ​the​ ​iOS​ ​libraries,​ ​feel​ ​free​ ​to​ ​contact​ ​us​.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.