Since Apple first released it's iOS SDK to the public, in 2008, no one least of all Apple could have predicted the pace of which the Apple Store grew, and continues to grow, as the number of apps in the App Store hitting the 1-million count mark in the first quarter of 2012, with no signs of slowing down. It's quite plain to see, Apple's mobile store has directly contributed to a new business model, iStartups, a saturation of crowd-funding startups that appear in Sillicon Valley, looking to take a piece of the lucrative Apple pie.
The barrier-to-entry is extremely low in mobile-development, anyone with a great idea and the ability to program can go out there and compete in the App Store.But along with the towering growth in the App Development, we have witnessed a just-as-strong growth in the iOS Open Source community, where we have seen a melting pot of contributors from all shapes and sizes share their code online, for others to use, fork, and contribute back to.
The net result of this is that it has made that barrier-to-entry I was talking about so low that even Hermes from Futarama would not be able to limbo underneath. With such a vast and rich smorgasbord of open source repositories within reach, you can more easily produce apps that are more polished and more functional.
Rather than spend time re-inventing the preverbial wheel, you can find open-source components from UI components, such as menus, sliders, buttons, image manipulators, to JSON/Networking code, your life as a programmer is a lot easier. This is the one place you can't use the phrase, The Good Old Days...
Not to say that Apple hasn't done an amazing job of making coding easier for us, but the power of the open-source community has added that adrelin that allows you re-use certain components in your app, allowing you to focus on the important bits that you want to make unique, for your app. It's up to you to choose how much of your app will be built using other people's contributions, how much of it wiill be solely yours, and in fact you could even just make use of open-source Objective-C Categories just to add some extra umph to the existing classes Apple provides, such as NSArray and UIImage.
This brings me to why I thought about writing this book. Sure, there are tons of books out there already on Objective-C, iOS, how to market your app, how to code your app, and so on, I felt there needed to be some literature out there that shows you how to harness the best of the iOS open-source community.
I'm not encouraging you to be an open-source moucher, but to rather appreciate this community, to find the best components already there, how to integrate them into your app, and how to manage your list. I am also going to encourage you to fork and contribute any work you do back to the original author/authors.
That is, I want you to join this sharing cult, take what you need, and give what you can, a simple and inclusive philosphy. I hope you enjoy this book, and it is a first edition, and would of course welcome any feedback, good or bad (but hey-keep it clean).
This book assumes you are comfortable with Objective-C and iOS development, as this book will not be teaching any Objective-C programming concepts, but merely shows experienced developers how to find open-sourced components, and manage their existing list of open-sourced libraries. You are also assumed to have a little familiarity with git and github, as this book is centred around accessing shared repositories through the github, but for the purpose of this book, you won't need an extensive amount of knowledge.
It is also assumed that you don't have any ruby experience, and minimal terminal command experience.
The main chunk of this book will highlight popular open-source Github repositories for different categories, and is by no means an exhaustive list, but demonstrates what's out there, and how to hunt for new repos that can help you. That is, to get you to hone in on your primal hunting skills.
<<Insert Chapters here along with summaries>>
Chapter 2, Introduction to CocoaPods & CocoaDocs
Explains two extremely useful tools to assist you in getting comfortable with using open-source components. CocoaPods is a ruby-inspired tool that allows you to aggregate and manage open source libraries, without having to deal with individual github cloning, whereas CocoaDocs provides a centralised documentation engine for open source libraries.
The following is a list of typographical conventions used in this book:
bold
Indicates coding instructions, urls, email addresses, github repository links
[brackets]
Indicates pod file linkage, to add to your Podfile.
Italic
Signifies coding usage instructions, such as how to implement a specific library function/method.
I would like to acknowledge my father, Evangelos Katsiambirtas, who has been a great educational and paternal inspiration to me, from the day I was 6, using my first x86 PC, hacking my way through DOS, to all the hours he spent teaching me Math in school, and encouraging me to do Science in University. I would also like to thank my mother, for giving me the caring instincts, that life isn't just about science, but about empathy, and seeing things in a different light.
I would also like to thank Wai Pim Chim, a children's book author, and one of my best friends. Make sure you go out and buy one of her books, they make a great reading gift for any sons, daughters, nephews, nieces out there that you may have.
Last by not least, I would like to thank my editor Troy Mott, whom has placed a lot of trust and faith in me, and guiding me through writing my first book.
There has been error in communication with Booktype server. Not sure right now where is the problem.
You should refresh this page.