title: Developing for OS X coming from iOS background
body: <p>I have been developing solely for iOS for a fair few years now and consider myself to be fairly competent with iOS and Objective C. I would like to further expand my skills and move into the realm of desktop applications for OS X.</p>
  
  <p>Considering the hugely different paradigms for both platforms concerning view controllers and window controllers (to name a few), I am struggling to find a decent starting point to get my feet wet as my knowledge of the iOS SDK is causing confusion when reading through the OS X documentation.</p>
  
  <p>To me, the major classes for iOS would be <code>UIViewController</code> (and it's variants, <code>UINavigationController</code> and <code>UISplitViewController</code>) and <code>UIView</code>. Getting to grips with these makes learning their subclasses (such as <code>UIButton</code>, <code>UITextField</code>) easier to understand whilst also getting something up on the screen to provide visible results.</p>
  
  <p>Currently, it is my understanding that <code>NSViewController</code> is not necessarily the same counterpart to <code>UIViewController</code>. Also, considering that OS X applications can have multiple windows, <code>UIWindowController</code> is completely foreign to me and I do not understand how this would sit within the hierarchy of an application.</p>
  
  <p>Would any seasoned OS X veterans be kind enough to suggest which classes would be the most useful starting point for me to read up on and play around with? What would be helpful to me at this point is to find which area of the SDK I should be focusing my efforts on to fully discern the differences between iOS and OS X.</p>
  
  <p><strong>Edit:</strong></p>
  
  <p>I am not asking for a list of tutorials. I would much prefer for someone to explain either the difference between paradigms for a multiple view controller hierarchy (iOS) to a single window setup of OS X and/or recommend which classes would be best investigated as a starting point to get something on screen such as <code>NSWindow</code> and <code>NSWindowController</code>.</p>