DEV Community

Adam Bennett
Adam Bennett

Posted on

Best iOS resources for an experienced dev?

I'm an experienced Android developer, but I'm looking at branching out into iOS development too. Has anyone here done the same? What are some good resources for learning iOS? What challenges did you face when you started working on iOS?

Top comments (2)

justinctlam profile image
Justin Lam • Edited

Hey there! Glad you have decided to try your hand on iOS dev. My transition wasn't from Android to iOS but from Windows Universal to iOS. To start off, one of the best resource that helped me was the Stanford's course titled, Developing iOS 10 Apps with Swift. Paul Hegarty is an amazing teacher. Ray Wenderlich tutorials are a great resource for learning iOS development. WWDC video talks are also a great way to learn about Apple's frameworks and APIs for iOS.

For me, I had a hard time grasping Objective-C even though I had a solid background in C and C++. So it was very fortunate for me when Swift was the new language for iOS and I landed a project working completely in Swift. What helped me transition to Swift was my previous work in C# as both languages share many similarities. I haven't touched Kotlin, but it seems to also share similar style to C# and Swift.

I would definitely recommend jumping straight to Swift and skip Objective-C as a new iOS dev. Eventually you'll have to learn Objective-C but that can wait until you become more familiar with Apple's framework, API, and coding style.

The best way to learn is to simply make something. Perhaps take an Android app you have already developed and remake it for iOS.

I would say one of the challenges with iOS dev coming from XAML/UWP or any other UI framework is Apple's use of Storyboard. It took me awhile to get a good understanding of laying out your UI, remember the shortcuts to bind UI elements to code, and learning how to think in constraints instead of layouts.

Another thing, be sure to look into CocoaPods and/or Carthage. They are dependency and package mangers and will help you get a lot of functionality without having to redo everything yourself.

Wish you the best! I think when you get to learn all mobile platforms, a lot of the fundamentals start to look very similar and will get easier to switch between platforms.

ditn profile image
Adam Bennett

Thanks so much for the detailed response, Justin. There's some really useful information in there.

Unfortunately I'll likely need to learn obj-C and can't just switch to Swift, but hopefully I can pick that up as I go along.

Thanks again mate.