Things I wish I had known before starting iOS development — Part 1

NIkant Vohra
May 28, 2015 · 6 min read

My designer handed me a nifty looking onboarding flow to complete just days before the launching of our app. The flow resembled the Evernote iOS app.

Image for post
Image for post

I jumped straight into coding the flow on Xcode using page view controllers and scroll view. I was able to complete the flow in two days taking help from Stack Overflow and Google. When I showed the flow to a friend who is also an iOS developer, he told me that I could have completed this in an hour if I would have used this .

This and many other experiences have certainly turned me into a better iOS engineer over the past one year. I would like to share my experience so that others do not have to repeat the same mistakes on their path to turn into an iOS ninja.

Focus on the fundamentals

When I started with iOS development I straight away took this free offered by Stanford University. Although I learned a lot from this course, it did not focus much on teaching me the fundamentals of the language used for iOS development which was primarily Objective-C at that time. As I started writing code for my own apps, I realised that I have missed a lot of fundamentals of the language which resulted in buggy code.

If you do not have enough programming experience in an Object Oriented Language, I recommend you to read a good book on the language before diving into iOS App development. My personal favorites are for Objective-C and for Swift.

Image for post
Image for post

Sure you can learn a lot by reading the tutorials on or watching great video lectures on but if your fundamentals are flawed it will come to bite you back in the future.

Github is your best friend

I absolutely love the iOS open source community. They have shown their awesomeness with tonnes of great projects like AFNetworking, Restkit,JSQMessages etc. You must learn to take advantage of the work that this community has done in the past.

Before coming up with your own library or solution for a problem search on Github or Google for similar solutions. It is highly likely that a fellow developer has already open sourced a project that might fit your needs.

Feel free to reach out to the community via or . They will be more than willing to answer your questions. Skim through the code of some good open source projects to learn how the experienced developers organize their code and start following similar design patterns for your own code.

Some of the most amazing iOS resources on Github can be found here.

If you are looking for the iOS best practices to follow in your own projects look at the following.

Know your tools

Most iOS developers use Xcode as the primary tool for development. Xcode has a lot of powerful features like Storyboards, Auto Layout which if learned can increase your productivity to great extents. A lot of developers avoid Storyboards due to some limitations, but I personally regard them as a great way to quickly layout your screens.

Learn navigating through XCode using shortcut keys. Though it might seem like a little time saved in the present, it consolidates into a lot of time saved in the future. These are some of the solutions I use consistently that have helped me to speed up my development process.

1.Use for dependency management. It will make the work of your team much easier.

2. Learn how to setup early in your project so that you do not have to repeat redundant steps.

3. Use for beta distribution of your apps. With Apple buying Testflight, it has become very easy for anyone with a iTunes Connect account to distribute beta builds using Testflight.

4. Integrate in your app to get crash reports as they happen.

5. If you do not want to setup your own backend server go for the amazing service offered by .

Read some great blogs and newsletters

I already told you about the awesomeness of the iOS open source community. A lot of great blogs have been started by some experience iOS developers which host great content every week. Some of my favorites are:

Arguably the best iOS Blog by Matt Gallagher. Matt’s way of doing things is nothing short of masterful.

Technically not a blog but insanely awesome updates every week by Dave Verwer

NSHipster is a journal of the overlooked bits in Objective-C and Cocoa. Updated weekly by Mattt Thompson

Ray Wenderlich’s Blog (Really good for beginners)

The insights you get by reading these blogs will certainly help you to turn into a better iOS developer.

Design too can be easy

A lot of us developers tend to run away from the design aspects of iOS. We treat design to be out of our grasp and leave it all to designers. But with a little effort you can learn to design your own apps.

Nowadays the line between the designers and developers is blurring as a lot of indie iOS developers tend to design, develop and market their apps with success. I will talk about the marketing aspects in the next part but if you want to design your own iOS apps, learn the Sketch tool. It is super easy to learn and made specifically for designing apps and websites.

You can find tonnes of Sketch resources and plugins online that will make your work even more fun and easier. Once you have your designs ready you can tie them together using this amazing tool.

In the next part, I will talk about the approach you must take while building your own apps as well as the marketing tricks for an iOS app.


Want to learn more about iOS and Swift enroll in this available on discount for a limited period.

If you liked this post recommend it so that others can enjoy it as well.

iOS App Development

Stories and technical tips about building apps for iOS…

NIkant Vohra

Written by

iOS Engineer at PayPal, Creator of Swift Programming Course https://www.udemy.com/swift-development/?couponCode=SWIFTMEDIUM.COM

iOS App Development

Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone

NIkant Vohra

Written by

iOS Engineer at PayPal, Creator of Swift Programming Course https://www.udemy.com/swift-development/?couponCode=SWIFTMEDIUM.COM

iOS App Development

Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store