Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News New UXKit Framework Spotted in OS X 10.10.3 Provides UIKit-like API

New UXKit Framework Spotted in OS X 10.10.3 Provides UIKit-like API

This item in japanese

There has recently been a lot of talking about a new UXKit framework that was spotted in OS X 10.10.3 beta. What is interesting about it is that its API is very close to iOS UIKit’s, leading several developers to hope that it can bring the two platforms closer to one another.

Polish developer Michał Kałużny has hosted on GitHub a repository containing a slightly modified copy of XKit.framework that was extracted from OS X 10.10.3, header files showing the similarity to UIKit, and a sample app using UXTableView and UXCollectionViewController.

UIKit and AppKit are two frameworks, belonging respectively to the iOS and OS X SDKs, that address the same general requirement: providing a high-level API to allow developers to easily create advanced user interfaces. Unfortunately, the exposed API surfaces are pretty different in fundamental areas such as event handling, view controllers’ default behaviour, NSCell-based controls, and many more.

According to Apple, those differences are a direct consequence of the fact that “the structure and implementation of the user interface in an OS X app is very different from that in an iOS app.” Specifically, this comes down to three factors:

  • Mobile device have limitations such as smaller display, single-window UI model, CPU power and battery consideration.
  • Touch gestures are the main interaction means on iOS, what affect the usability of UI objects.
  • The file system is not user-accessible on iOS.

This notwithstanding, the need for some kind of unified API addressing both platforms has often been voiced by iOS and oS X developers, leading to several third-party attempts at solving or at least mitigate the problem, as is the case with IconFactory’s Chameleon, Twitter TwUI, and UMEKit. Unfortunately, active development on all three projects has stopped years ago.

As mentioned, the discovery of UXKit has spurred a lot of interest, but not everyone is believing that UXKit will ever be made public by Apple, or even that it could be a sufficient step on Apple’s part to improve iOS and OS X development. Brent Simmons, the developer behind several successful apps for the Apple platforms such as OmniFocus and Vesper, “doubts this will ever be available outside Apple as a framework that’s meant to replace AppKit.” Robb Böhnke, freelance iOS developer that worked on SoundCloud and Artsy iPhone apps, goes further down the line saying that if UXKit “will ever become a public framework, but even if it will, it won’t be enough.” Böhnke addresses his critical remarks especially against the single-threaded nature of UIKit’s redrawing code and points out at newer approaches, such as the recently announced React Native.

Rate this Article