iOS Development from an Android background
The vast majority of developers and startups are usually tasked with porting their iOS first apps to Android at some point. If you’re building natively this process is a lot more complex and it’s a whole new world to learn about. It’s a lot less common however to take the opposite route i.e. porting from Android to iOS. At TapTag however we built our Android app first and over the past few months we set about building the iOS version. As we near release I thought I could share some helpful tips for Android developers making the transition.
iOS apps can be natively built with either Objective-C or Swift. While there are other options we’ll only discuss these as they are by far the most popular. Coming from Android you’re most likely used to Java. While Objective-C has long been the standard language used to develop Apple software, they recently launched Swift an all new language with C-like syntax that’ll let you get up to speed a lot faster. It also works with existing Objective-C code so it’s definitely the way to go.
Android Studio has been a revelation to the Android world and long gone are the days of Eclipse. In the iOS world there’s an equally(maybe more stable) fast and user friendly IDE called XCode. Simply install from the App Store and you’re good to go. No fiddling with anything else.
Activity = ViewController
iOS apps utilise a nifty visual tool for designing interfaces called the Storyboard. The Storyboard lets you connect your ViewControllers to each other and coordinate transitions between them. You can drag and drop interface components and configure them just as you would with Android IDEs.
Transitions between Screens
startActivity(Intent) = Segue
Segues serve the same functionality as starting an activity through an intent. One really cool feature that XCode has is the ability to create a transition to another screen without writing any code. It saves some time and you’ll quickly wish Google would do the same.
ListView/RecyclerView = TableView
Simply create a TableView or TableViewController to get the same list functionality that you’re used to. This also has methods for populating each item in the list similar to Adapters in Android.
CocoaPods are the iOS equivalent of Gradle’s dependency management and your podfile shares similar functionality to the Android app-level gradle file. Just add your dependencies to the file and it’ll handle downloading and updating those packages.
APK = Archive
Interfaces = Archive
Emulator = Simulator
That’s some of the most common things I’ve found that will help make those early steps a bit easier. If you have any you’d like to add feel free to let me know and we can have a useful resource for developers making the transition.