As most of you know I’m an Apple platforms Developer working in iOS, OSX, WatchOS applications and been in the industry for the past 5 years now. I have Handled, architected, designed and developed various kinds of projects and trained more than 30+ people. After researching the current market, here are a few thing I suggest if you are trying to become one like me.
Do your SWOT Analysis before getting into any tech. I did mine 5 years ago and never looked back.
To become an iOS Developer you must have 2 things before getting in.
A Macbook (Preferably Pro models)
Any iPhone Device (You can’t debug a few things in the simulator)
After this, you might have to gain some experience on the apple ecosystem. It would give you exposure to what you’re about to build in this space and what it should look like.
Coming to the major part now.
More than writing 100 lines I prefer pictographs, Here is an interesting roadmap design I saw and it's more accurate and i suggest following this.
have a few recommendations on courses to join and people to follow for more guidance.
Remember, Take one day at a time.
Path to begin learning iOS & Swift :
- Familiarise the Xcode tool.
- Learn swift fundamentals from docs and Practice each thing in Playground.
- Learn to create a simple project, add a launch screen, and simple UI Components with the storyboard.
- Add Functions to UI Components, Connect UI to code.
- Learn types of navigation inside the app, and create multiple screen apps from there.
- Try creating a simple End to End Static iOS App using all UIComponents in the storyboard. Try passing data between controllers.
- Now learn to make it dynamic by trying out API Calls. Lots of open source api calls are available for learning. (News, User, Images)
- While learning API, concentrate on threads and optimised way of handling calls.
- Understand Architecture and clean code practices and try to adapt them in early stage itself.
- Learn CoreData for Database, practice by storing simple data app.
- Go with Firebase once you get comfortable over the application, try making simple real-time applications.
- Learn to use Appstore connect. get yourself an Apple Developer id.
- Write simple Unit Test cases and then UI.
- Try using CocoaPods and SPM in application.
- Understand Plist, Keychain, Certificates, Developer tools.
- Learn to deploy a app to Appstore and give a TestFlight release.
Swift official Docs: https://docs.swift.org/swift-book/
My Favourite Youtuber’s: Sean Allen, codewithchris, Jared, Azam.
Where to find help : Raywenderlich, swiftbysundell, swiftlee.
What other things you can do to standout in crowd :
Learn to write Test-cases, I highly recommend TDD (Test Driven Development)
Specialise yourself in some libraries and frameworks (Can be any)
Build a niche portfolio with different kind of applications (E-Commerce, TicketBooking, social networking, pooling, etc.) .
Understand GIT and maintain a good git repo to exhibit your works.
Learn to use postman and Insomnia for API Testing.
Learn shortcuts of Xcode and terminal commands.
Objective C, Swift are the programming language you would have to use it in native development.
Objective-C is a general-purpose, object-oriented programming language similar to C programming language. Objective-C was the standard programming language supported by Apple for developing macOS and iOS applications using their respective application programming interfaces (APIs), Cocoa and Cocoa Touch, until the introduction of Swift in 2014. Nowadays its least commonly used but still lot of companies have objectiveC projects.
For a beginner I would suggest to go with Swift rather than objectiveC.
Swift is a general-purpose, multi-paradigm, compiled programming language developed by Apple Inc. and the open-source community. Swift works with Apple’s Cocoa and Cocoa Touch frameworks, and a key aspect of Swift’s design was the ability to interoperate with the huge body of existing Objective-C code developed for Apple products over the previous decades. It is built with the open source LLVM compiler framework and has been included in Xcode since version 6, released in 2014. On Apple platforms, it uses the Objective-C runtime library, which allows C, Objective-C, C++ and Swift code to run within one program.
Swift is my favourite language out of all I used. You can use this docs some basics understanding on swift. Below are few things you have concentrate before building an application.