No announcement yet.

Getting started with iOS Development

  • Filter
  • Time
  • Show
Clear All
new posts

  • Getting started with iOS Development

    If your interested in learning to code for iOS, heres some great resources to get started.

    • Mac. You can only develop for iOS on OS X
    • Some programming experience. The transition from other languages should not be difficult

    Not Required
    • An iPhone/iPad. Xcode comes with a simulator which can be used to simulate any iOS device on your computer

    Developer Program

    In order to install your applications on a physical device, or to submit them to the app store, you must sign up for the Apple Developer Program. The cost is $99/year. This is not required to build and run applications on the simulator (used to run iOS apps on your compute). If your just getting started and playing around, save your money. When you want to actually submit something to Apple, or show it off on a real device, then signup.


    iOS applications are written in Objective-C, which is very similar to C/C++. If you're experienced in either, then your ready to go. If you have experience with a compiled language like Java, then its also an easy transition. There are many good online Objective-C courses available. Others may want to review one of the tutorials below.

    Getting Started

    Xcode is the principal IDE for developing on IOS. Its a fairly full featured suite which includes the editor, debugging tools, and the simulator (for running your apps). Appcode is alternative provided by Jetbrains (makes of IntelliJ and Rubymine). It has a few plusses over Xcode, and a few negatives. If your just getting started, stick with Xcode.

    iOS Getting Started Resources & Guides

    My favorite resource for guides and tutorials is Appcoda. They cover just about everything and include a lot of visuals and provide all the code. Id highly recommend visiting them: Start off with the Hello World app, and then you can selectively follow other tutorials to learn how to do more advanced things.

    You'll find a lot of discussions around XIB's and Storyboards. Both are Apples solution to allow people to visually design their app. If your just getting started Id lean towards Storyboards for now. They are simple to work with and provide a great way to visualize your app.

    Other Resources to Check out
    • Appcoda - Mentioned above
    • iOS Developer Library - Documentation of all the iOS API's and SDK's. If you want to know about a Class, or SDK, start here
    • Start Developing iOS Apps Today - Apples getting started guide to writing iOS apps. It walks you through writing a todo list.
    • Stanford CS193p - Free iOS course provided by Stanford. Assumes basic programming experience. Great for those with a little programming experience and who like to follow an instructor along.

    Advanced Resources
    • Cocoapods - Dependency manager for iOS projects, ala Ruby Gems. Excellent way to add 3rd party libraries into your application
    • Crashlytics - Crash Reporting for iOS applications, and its free
    • AFNetworking - Networking library build on top of iOS's. Provides a number of convenience's and worth checking out
    • NSHipster - Blog covering a wide assortment of iOS topics. Generally focusing on the more advanced aspects of the SDK

    Hope some of you find this useful. If you have suggestions please let me know.

  • #2
    Would recommend becoming competent with Java somewhat, so you can port your work to Android.


    • #3
      Every year there is an awesome free course from Stanford University on iTunes U on developing iOS apps. Appearently they switched to teaching Swift recently. Although Swift may be not the easiest language to get started, you should check out the Standford courses.

      If you want to get a feeling about what it's like to be part of the community, you can check out the following podcasts:
      - CocoaRadio
      - Core Intuition
      - Debug
      - Developing Perspective
      - Edge Cases
      - The iDeveloper Podcast
      - Iterate
      - NSBrief
      - Release Notes


      • #4
        Development for iOS and not only always requires the attention and availability of experienced developers. It is also always interesting to see how other, popular companies work, for example, I've been following Spotify and its spotify model for a long time. I decided to use something similar for my company, so I applied for a service to recruit a remote development team.