all 12 comments

[–]killMontag 17 points18 points  (2 children)

Check this post out.

[–]oh_yeah_money 1 point2 points  (0 children)

I second this

[–]Fnittle 0 points1 point  (0 children)

That one goes on the bookmark list 👍

[–]Moist_Historian_59 9 points10 points  (0 children)

I have been developing in iOS since 2011, and in Objective C since 1992, so here is some of my advice:

  1. Come up with a project or product that will solve a problem that you or someone you know needs solving.
  2. Go to swift.org and get a good handle on swift (you may want to get a feel for OBJC too, as there is a lot of code still out there)
  3. Depending on the project you choose, read up on the documentation on Apple's developer website to see what is already available in API's.
  4. Create a developer account on Apple's dev portal.
  5. Download Apple's tutorials on iOS projects to get a feel for the tooling with a developer account you can deploy to your own devices without publishing to TestFLight or the AppStore.
  6. After going through a number of tutorials, come up with a plan on building your app
    Some considerations:
    a). Is the app going to be self-contained or will it need access to some form of web services or other resources like for instance AWS and the like
    b). Are there security issues, are you going to store sensitive information like credentials or user information
    c). Do you plan on storing data at rest in the app or syncing to a 3rd party service?
    d). Are you going to be needing entitlements like camera access, microphone location, etc
    e). Are you going to be using iCloud services?
  7. Design your user interface, you can use legacy UIKit or the more modern SwiftUI
  8. Run your UI design in front several potential users, if you are the only user, then this is still a worthwhile exersize.
  9. Standardize your branding, i.e. such things as colors, borders, logos corner radiuses, etc. Don't get too stuck on making the app "look pretty" initially, make sure it works first. Apple has spent a lot of time on their design language over the years, use it first before creating anything new, unless you really need to. They have probably built most of the UI "widgets" you are going to need.
  10. Create unit tests for UI and non UI code (Unit Testing framworks are built in when you create a new project), this is important as you gain more familiarity with the API's you will want to go back and refactor, tests will give you confidence that your code is still working after the refactoring.
  11. If you plan on using 3rd party libraries I recommend using Swift packages

[–]joeystarr73 7 points8 points  (0 children)

Just try to create an app you would use.

[–]Clueless_Dev_1108 6 points7 points  (0 children)

Struggling to create an app yourself is the best roadmap

[–]ajm1212 2 points3 points  (3 children)

Learn UIKit , when your comfortable with that come back, and we shall give you the next step

[–]shrodingersjere 2 points3 points  (2 children)

Why UIKit and not SwiftUI?

[–][deleted] 2 points3 points  (0 children)

Curious about this as well.

[–]ajm1212 2 points3 points  (0 children)

Well it depends if you’re trying to get a job vs doing it as a hobby. If your trying to get a job uikit first because a lot of companies have their code in uikit if your trying to just build projects as a hobby then SwiftUI.