How difficult is it to transition from Android to Apple application development?
Native IOS development has largely shifted from Objective-C to Swift and I'm grateful for that. To answer your question: Swift and Java are similar in a lot of ways, but learning your IDE (xcode vs Android Studio) and the differences in the platforms (IOS vs Android) will feel like starting over a tiny bit at first.
This course was very highly regarded by me and some co-workers for learning IOS Swift development: https://www.udemy.com/ios-12-app-development-bootcamp/ The instructor, Angela Yu, is exceptional. It's usually on sale for $12.
As you likely know, you must have a Mac in order to run Xcode. While you are learning you don't need to pay the $99/year for an Apple Developer account. Most suggest not getting an account until you're ready to deploy.
Mr. Badawi is correct that you should check out some of the cross-platform (MEAP) as well. The rule of thumb: Write native code if you need fast performance (i.e. a game). If you're doing a business app then a cross-platform tool might be just the ticket. Do a lot of research though. If you pick one of these tools then you are at the mercy of how they: 1) respond to new device features, 2) how quickly they find and fix security problems 3) how they choose to support old devices, etc. Do your research.
Mat recommends the following next steps:
This is not a simple question, but I will be trying to share my idea based on several thought points:
- App Store Review Guidelines - Based on my experience App Store has more strict app review process. If your iOS app converted from Android is not going to meet these, Apple will probably reject your app (see https://developer.apple.com/app-store/review/guidelines/)
- API - Depending on how your Android app is integrated with internal API, it can be harder.
- UI/UX - Android and iOS have different UI/UX guidelines (see https://developer.apple.com/design/human-interface-guidelines/)
Juwan recommends the following next steps:
There is no direct answer on this. It depends on your background.
Most Android APP (developed with Android Studio) are JAVA code base, while IOS are using C++. However there are many similar concepts at the high level, but a lot of differences in core OS / support modules, and how it works.
Although there are many similarity components offers on both platforms such layout/view, webView, touch, sensors, GPS, TTS, etc; but, each modules have different APIs and options.
So, from my experience of development Apps for both platforms, if your current App is fully coded for Android (in JAVA), it would take a lot of effort to direct convert to IOS App while maintain similar performance. But, if your current App is a web-based one, it would be a lot easier to do since there are many cross-platform frameworks (web-based like PhoneGap, React / React-Native) in the market for you to choose from.
Hope this helps,