Swift Apple has a native framework for iOS development, Cocoa Touch . There are other libraries that can be used depending on what you want, but you'll mostly depend on UIKit, which comes with Cocoa Touch, to access native UI functionalities. Go with Xcode Xcode comes with a feature called Interface Builder (IB) which, like the name, help you in building interfaces/UI. It's optional, you can create and layout your UI programmatically too. Layout is flexible, but Apple prefers Auto Layout . Given that you already have an understanding of programming, I'd say go with this course taught by Paul Hegarty, provided by Stanford University on iTunes. It ignores the trivial things and helps you understand the important stuffs real quick, no BS. (I took this same tutorial when I was getting started with iOS development in 2015, but it was based on iOS 8.) Sidenote: You could also try out React Native , an open-source project by Facebook to build native apps. And, no, this is not a hybrid approach unlike the PhoneGaps and Ionics of the world. Given that you already know Javascript this will get you up fast onto developing your own native Android/iOS apps. And the best part is that you would be able to share more than 80% of your code between Android and iOS depending on your project.