

You'll pretty much know about the building blocks to look for to construct your user interface, which is a great help. The similarity is more on the conceptual level than in the implementation. But that's not going to work in many cases.

It's tempting to assume that you can use these classes in the same way, just by replacing UI with NS. Furthermore, UIView is NSView, UIControl is NSControl, UIImage is NSImage, UIViewController is NSViewController, UITextView is NSTextView.
Ios simulator for mac x frame windows#
The UI is constructed out of windows and views, with messages being sent over the responder chain just as on iOS. With this in mind, it's no wonder that UIKit and AppKit still share a lot of concepts. If you're interested in how this transition came about, check out these excellent episodes of the Debug podcast with Nitin Ganatra, former iOS apps director at Apple: System 7 to Carbon, OS X to iOS, and iPhone to iPad. The reason why, is when Apple introduced the iPhone, there was the chance to start from a clean slate and take what had been learned from AppKit: bring over the concepts and pieces that had proven to work well, and improve those that were less fortunate designs. The UI framework is where things really start to diverge - UIKit feels like a slimmed down and modernized version of the AppKit that has been around and evolving since the NeXT days. Also, on a lower level, you'll immediately see the APIs you're familiar with: Core Graphics, Core Text, libdispatch, and many more.

This year, Apple harmonized the platforms further and brought frameworks to the Mac that were previously only on iOS, one example being Multipeer Connectivity. More importantly though, OS X also shares a lot of the frameworks that you're already familiar with from iOS, like Foundation, Core Data, and Core Animation. However, we'll also point out what only applies to Yosemite, and what the situation was prior to this release.Īlthough iOS and OS X are separate operating systems, they share a lot of commonalities, starting with the development environment - same language, same IDE. In this article, we will assume OS X Yosemite to be the default platform we're talking about, as Apple made some significant strides this year to harmonize the platforms from a developer's perspective. In this article, we'll summarize what we've learned from this transition to hopefully give you a head start on your first Mac app. However, we also had some difficulties discovering the peculiarities of the Mac compared to developing for iOS. Last year we started building our first Mac app, and it was a great experience to finally build something for the platform we're working on all day. The Mac is not only a great platform to develop on - it's also a great platform to develop for.
