Wednesday 8 April 2015

Swift RoadMap

Basic iOS
Learn how to make applications using the
autogenerator tools of Xcode. These are things
like storyboards and the Xcode generators like
the master-details template. Inevitably this will
be an application that uses a UITableView and
then some sort of detail view with some
buttons. Understand how connecting UI
elements with the IBActions and instance
variables works.
Objective-C
The language of iOS. You can easily write apps
without getting super familiar with Objective-C
but you should learn some of the basic
features of Objective-C. I’d make sure you
understand @property and how method
passing. In the end Objective-C is a pretty
standard Objective Orientated language.
Object-oriented Principles
Pretty much you need to learn and understand
the Delegate and Protocol patterns. You’ll use
them constantly. Everything else is just icing
on the cake
Core Data
Besides reading tutorials/articles on the topic
playing around with the core data Xcode
template is a great way to understand the
basics of Core Data. Core Data contains an
insane amount of classes and interconnected
parts, which makes it very difficult to get
going with. As you’re reading all this, keep
reminding yourself that Core Data is not a
database ORM.
API Integration
Play around with Helios.io because it’s super
awesome and will get you started with
networking and the incredibly complex world
of dealing with that stuff on iOS. Eventually
you’ll move onto integrating other SDKs (like
foursquare, instagram, twitter, etc) but just
start simple and move forward.
Core Location
This will be the first serious use of delegation.
Really the two topics you need to understand
are the MapKit view and the
CLLocationManagerDelegate.
Mobile Design
This is a slightly nebulous topic. I’ve provided
some good resources on my github project,
but the most important thing to learn is to
never. ever. ever. ever. block the main UI
thread. When you click something, the UI
should always respond
Customizing UIKit
Customizing the UI really adds an air of
professionalism to your app. The big UI
elements to learn how to customize are the
navigationbar, uitableviewcells, buttons and
the new collection view cells. These are the
bread and butter of iOS apps and everyone
customizes them.
Hardware
iOS devices have a whole host of hardware to
play with. To get going I would just focus on
the camera/photo library. That’s probably the
only hardware pieces you’ll end up using.
Core Animation
Pretty much the point of Core Animation is for
the cool factor. That’s why I put it last in this
list. I don’t find that animation really adds
much in terms of “features” but I think it’s
pretty cool and can be a lot of fun. The most
important stuff to learn here when/how to use
the transitions from UIView to UIView.

1 comment:

  1. The Core Data is an excellent data storage system. Thank you for writing out how to use this service. Auto-generation of sound codes is promising, if you understand this system especially for mobile app promotion, you can be happy with the success in this area.

    ReplyDelete