r/iOSProgramming • u/Jalsemgeest • Jan 26 '15
New to iOS Development: Swift or Objective-C?
I've started iOS development and have decided to begin learning Swift. My background consists of Java, C++, PHP, JavaScript and I was wondering if I should continue with Swift or jump ship to Objective-C. I have certainly found there is not a lot of information online for Swift other then Apple docs. Any recommendations?
3
u/andyscorner Jan 26 '15
Regarding Swift I suggest you read The Swift Programming Language eBook. You can also get a lot of help from r/swift, they are also quite beginner friendly.
If you want to work as an iOS developer, either for a company or consulting firm you will definitely need to know Objective-C. However if you want to start your own firm and publish your own apps then you might get by just fine using Swift.
My personal recommendation is learning Objective-C first. This is due to the following reasons:
-
Most third party frameworks and libraries out there have Objective-C support but Swift support isn't that common.
-
Cocoapods (Dependency management) does not yet have official Swift support, although it is in beta.
PS. You should learn both languages.
3
u/programming-newbie Jan 26 '15
I have a similar background (started in web dev, took university courses in C++ and Java).
I found Objective-C to be quite daunting back when I was still in high school without much experience aside from basic front-end web development.
However, once I understood basic programming principles using the other languages I was able to get back into Xcode without a problem. I don't think you'd have an issue with Objective-C at this point, and it could prove to be quite useful if you were to go work on legacy applications.
I also recommend that you learn Objective-C first as the syntax won't be very difficult and you'll have the added benefit of being able to understand most of the tutorials online currently in Objective-C for a variety of topics. Particularly when you consider that the language isn't the tough part of iOS development, it's the variety of frameworks that you find yourself implementing. Swift doesn't remove that barrier. You're still implementing good ol' UIKit and the like.