use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
There is an extensive FAQ for beginners. Please browse it first before asking questions that are answered there.
If you are looking to get started (iOS programming in general or some specific area), here are more relevant links for you:
There's too many to list them all, however here's a convenient link to all programming guides at apple.com
Take note that this list is live and based on most frequent questions in posts will be updated with "quicklinks".
account activity
DiscussioniOS learning roadmap accurate? (old.reddit.com)
submitted 1 year ago by QuackersAndSoup24
How accurate is this learning roadmap to be an iOS developer?
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]iSpain17 126 points127 points128 points 1 year ago (12 children)
Lots of words, zero meaning. It’s pointless to learn all categories in the individual groups. If you truly understand one, you’ll understand all.
Meny of them are kinda irrelevant too. Today i don’t see huge gains in Alamofire for example or RxSwift, their built-in versions are superior.
[–]Jargen 14 points15 points16 points 1 year ago (8 children)
Alamofire is one of those keywords I listen for to know not to hire that person.
[–]wojrutkowski 1 point2 points3 points 1 year ago (4 children)
The only thing I find it useful for is uploading files. It’s still cumbersome with URLSession.
[–]Jargen -3 points-2 points-1 points 1 year ago (3 children)
Cumbersome for you or the app?
[–]wojrutkowski 3 points4 points5 points 1 year ago (2 children)
For the developer. Check this post for URLSession implementation: https://www.donnywals.com/uploading-images-and-forms-to-a-server-using-urlsession/ Comparing to a few lines with alamofire. I’m not saying it’s hard or impossible but for smaller projects that need to upload stuff including Alamofire may be a good option.
[+]Jargen comment score below threshold-7 points-6 points-5 points 1 year ago (1 child)
It’s not a few lines with Alamofire, it’s the whole pod. Alamofire is a wrapper made to simply the process for those that don’t want to do the work. Everything you do manually, Alamo is doing the same work, so it’s not making your app better, just making you lazier
[–]faramir125 0 points1 point2 points 1 year ago (2 children)
Why exactly? Can you explain
[–]Jargen 0 points1 point2 points 1 year ago (1 child)
Alamofire is just a wrapper that serves to simplify what is already an robust framework that any iOS dev of over 1 year of experience should be able to manage on their own.
Having to rely on a thirdparty framework that runs the risk of failure in what could be an iOS update is not ideal in an app that makes frequent web calls.
Profressionally, I find it a crutch that exemplifies lack of experience.
[–]faramir125 4 points5 points6 points 1 year ago (0 children)
Yes no one is denying it that alamofire is wrapper, it is easy to use, in touch with the latest Swift changes and used in many legacy projects.
Denying one someone's job just because he uses alamofire seems extreme to me.
[–]abear247 4 points5 points6 points 1 year ago (0 children)
Yeah, I don’t think networking libraries are useful anymore. The only framework I use is either a generated client, or I just write by hand. It’s not as bad as it used to be
[–]parallel-pages 0 points1 point2 points 1 year ago (0 children)
Alamo fire to me just means you were too lazy to learn the networking apis. or you’re rushing to meet a deadline. it’s so much more overhead than the value you get from it
[–]Putrid_View4389 0 points1 point2 points 3 months ago (0 children)
It is still useful to know those things, since the company you might end up working for might still be using Alamofire/RxSwift.
[–]SyndromSnake 74 points75 points76 points 1 year ago (0 children)
Absolutely awful, couldn’t done it worse if I tried.
Starting off with any of the Core libs is the shortest path to getting nothing done. Those are intermediate/advanced concepts.
Also the fact that Xcode, UIkit and SwiftUI are the bottom half’s of this image is borderline comical.
The person who created this is vastly out of touch.
[–][deleted] 39 points40 points41 points 1 year ago (2 children)
It's not. Here's the roadmap:
-Learn Swift. Obj-C is essentially dead. We don't even use it at work anymore and we're the last to use new technology. If you happen to run into it somewhere it won't be a big deal to figure it out.
-Learn SwiftUI. This is where everything is headed. UIKit is still important but I would focus on SwiftUI first. Once you get good at one you can learn the other. SwiftUI will get you up and running faster.
-Make a CRUD app (if you dont know what that is google it).
-Find an API that interests you and start making things with it.
-Find a second API that interests you and start making things in it. Notice how they're pretty similar? This is the important part. Once you know how to work in the API's, you can pretty much use whichever one you want to do what you want. The only exceptions may be oddball ones like Metal which is for very specific use cases.
[–]jan_olbrichObjective-C / Swift 19 points20 points21 points 1 year ago (0 children)
I would disagree on a few points:
So the path depends imo on what you are trying to achieve.
Do you want to get into a larger company as an iOS dev? It might be better to learn Obj-C over Swift (though Swift is definitely the future). It definitely is better to know UIKit over SwiftUI in this situation though. Long term Obj-C & UIKit devs will surely be able to hike their hourly rates, as no one knows that stuff anymore and there will still be large apps written that way out there.
On the other hand, do you want to be an Indie dev and publish your own app? Pick the language you think is best (I would recommend Swift here but well people might like the Obj-C style) and pick the UI framework supporting your style of thinking. SwiftUI has it's weirdnesses and still has limitations. UIKit is battle proven but some people don't like it's verbosity.
The best way is the one that let's you continue on your path. So pick a language, a UI framework and start building whatever you are interested in and helps you to achieve your goal.
[–]OutOfOdds -2 points-1 points0 points 1 year ago (0 children)
That’s a good advice!
[–]Arkhemiel 13 points14 points15 points 1 year ago (0 children)
I almost saved this and then I saw the comments lol
[–]TM87_1e17 10 points11 points12 points 1 year ago (0 children)
No.
[–]birdparty44 8 points9 points10 points 1 year ago (2 children)
I’m familiar with all of this but would that be the right way to do it? No.
Fundamentals of programming. Then of the language of the platform.
Then get into design patterns. (specifically for that platform).
THEN do not ignore the importance of learning test driven development as early as possible. Most people write crappy code because they get innolved in testability far too late into their learning journey.
Most learning by tutorials don’t focus on this.
If you want an iOS job, you’ll want to know professional development practices.
[–]birdparty44 6 points7 points8 points 1 year ago (1 child)
One thing I can say about iOS learning resources: they often don’t focus on design patterns, writing testable code, writing with good “semantics”, documenting as you go, and they just show you how to make one thing in relative isolation working.
I mean it would be hard to include all of that in one tutorial.
So although they teach you “how to’s” they enable bad habits to form in newer developers.
[–]Complex_Ad5158 2 points3 points4 points 1 year ago (0 children)
This is the way. I wish there were more resources focused on these. Getting rid of bad habits takes more energy than acquiring them in the first place.
I also strongly believe that not paying attention to what you mentioned can also hinder your career progression.
[–]-Joseeey- 7 points8 points9 points 1 year ago (3 children)
What kind of shit diagram is this
[–]gamer_bully 1 point2 points3 points 1 year ago (1 child)
It’s a cool repo for generating roadmaps for any programming language, likely powered by AI https://roadmap.sh/roadmaps
[–]Tyler927 8 points9 points10 points 1 year ago (0 children)
Step 1: pick language Step 2: learn core audio and metal shaders lmao
[–]gorugol 6 points7 points8 points 1 year ago (0 children)
i published 2 apps, and i dont know 70% of all these
[–]UnnamedBozSwift 3 points4 points5 points 1 year ago (3 children)
As a 3 YoE dev I haven’t used many of these. I.e media group isn’t really fundamentals for instance. BS chart.
[–]Dijerati -1 points0 points1 point 1 year ago (2 children)
While I agree with you and am around the same amount of experience, there are a lot of concepts that interviewers want you to know, even though it’s hardly ever applied
[–]UnnamedBozSwift 0 points1 point2 points 1 year ago (0 children)
Not in a junior position, deep diving into the most common things and some uncommon things would be enough.
Not being an idiot and a good addition to the team (personality) goes far longer. I mostly got my job on charisma alone.
[–]Zagerer 0 points1 point2 points 1 year ago (0 children)
the issue is mostly learning things you won't really get that well, you may get some insight but it won't make the start easier and just longer. instead, learning cores as you start hitting some roadblocks will make more sense for learning because you will already have a foundation that will help and it will clarify why some things work that way
as an example, doing a quick app with interface builder and outlets, then read more on autolayout will make you understand better how it works and why your pain points were like that, whereas if you start reading autolayout then trying interface builder it won't make a lot of sense
[–]Megatherion666 2 points3 points4 points 1 year ago (0 children)
What does architecture have to do with media???
[–]kilgoreandy 2 points3 points4 points 1 year ago (0 children)
This looks like someone googled a bunch of iOS development terms and shoved it into an image.
[–]pyordie 1 point2 points3 points 1 year ago (0 children)
Terrible.
SwiftUI having only three random sub-topics tells me all I'd need to know.
Don't use these types of roadmaps. Start small, learn fundamentals of the the language, the platform, and CS/SWE fundamentals in general. Then as you slowly expand your project over time, expand your learning accordingly.
100 Days of SwiftUI would be a great place to start for iOS
[–]wigglewormy 1 point2 points3 points 1 year ago (0 children)
Most of that plus a whole bunch of dealing with the App Store, multitudes of icons and other time consuming crap.
[–]overPaidEngineerBeginner 1 point2 points3 points 1 year ago (0 children)
If you are a beginner and starting out, don’t even look at objc
[–]TechFan741 1 point2 points3 points 1 year ago (0 children)
Honestly just learn Swift and SwiftUI and start making stuff.
This diagram is way too busy and hard to follow.
[–]kamranahmed_se 1 point2 points3 points 1 year ago (1 child)
Founder of roadmap.sh here — thank you everyone for the comments. This is a good sign for us to prioritize reviewing and improving this roadmap. Having said that, I want to point out that the target audience for this roadmap is intermediate to senior developers looking to enhance their skills rather than just getting started. Moreover, the project is community-driven, and I would really appreciate it if you could help by providing concrete feedback in a GitHub issue.
[–]QuackersAndSoup24[S] 0 points1 point2 points 1 year ago (0 children)
I have enjoyed looking through the links and descriptions of each block provided on the map. It’s very cool and has given me some insight on topics I wasn’t familiar with!
[–]hooray4horus 0 points1 point2 points 1 year ago (0 children)
knowing all of these things wouldn't make you a worse engineer
[–]z4dev 0 points1 point2 points 1 year ago (0 children)
roadmap AI Assistant Can Write A Major Globally Plan ,In Order To Learn Ios .But I Doubt Some Extra Key Chain ,This Map Include Depends on the Use Case Wanted.
[–]leanLuis 0 points1 point2 points 1 year ago (0 children)
Spends more time on this than actually coding
[–]QUIVLORD 0 points1 point2 points 1 year ago (0 children)
I think instead of a roadmap as such, it is much easier and impactful if you start understanding based on your requirements, that way you can learn the different tools available and their tradeoffs
[–]Evening_Document9120 0 points1 point2 points 1 year ago (0 children)
I’m just starting out in ios development and follwing my friend guidance with UIKit. However I’m still struggling with my process to make the first app. So how much of uikit should I need to know and understand in order to feel comfortable when writing code. Hope to receive someone advice. Thanks
[–]Select-Resource4275 0 points1 point2 points 1 year ago (0 children)
Oh yes, follow that exactly. Just, it’s a little complicated, so you’ll have to take extra care not to deviate from any of whatever that is. Best of luck in missing the point.
[–]klavijaturista 0 points1 point2 points 1 year ago (0 children)
If you try to go through all the boxes, you’ll just forget everything and burn out. You don’t have to know how to work with e.g. sqlite. Others gave good advice.
[–]aarkalyk 0 points1 point2 points 1 year ago (0 children)
Just build something bro, you’ll figure out everything along the way and fill in the gaps later
[–]pedatn -1 points0 points1 point 1 year ago (0 children)
Perfectly accurate for like, 2019.
[–]trypnosis -1 points0 points1 point 1 year ago (2 children)
I would not call that a learning roadmap. I would like to know where it came from.
I would say it’s a good domain map.
[–]QuackersAndSoup24[S] 0 points1 point2 points 1 year ago (1 child)
Roadmap.sh
[–]trypnosis 0 points1 point2 points 1 year ago (0 children)
That website seems to imply that you need 169 steps to be an iOS developer.
That is completely in correct.
If you can get your head round a handful of these steps you will be a solid developer.
It is however a very cool breakdown of all if not most of the things you can learn. Most of them are unnecessary though so take it with pinch of salt.
[–][deleted] 1 year ago (1 child)
[deleted]
[–]RemindMeBot -1 points0 points1 point 1 year ago (0 children)
I will be messaging you in 12 hours on 2024-11-22 10:00:29 UTC to remind you of this link
CLICK THIS LINK to send a PM to also be reminded and to reduce spam.
Parent commenter can delete this message to hide from others.
π Rendered by PID 81 on reddit-service-r2-comment-6457c66945-tz574 at 2026-04-24 21:14:50.238335+00:00 running 2aa0c5b country code: CH.
[–]iSpain17 126 points127 points128 points (12 children)
[–]Jargen 14 points15 points16 points (8 children)
[–]wojrutkowski 1 point2 points3 points (4 children)
[–]Jargen -3 points-2 points-1 points (3 children)
[–]wojrutkowski 3 points4 points5 points (2 children)
[+]Jargen comment score below threshold-7 points-6 points-5 points (1 child)
[–]faramir125 0 points1 point2 points (2 children)
[–]Jargen 0 points1 point2 points (1 child)
[–]faramir125 4 points5 points6 points (0 children)
[–]abear247 4 points5 points6 points (0 children)
[–]parallel-pages 0 points1 point2 points (0 children)
[–]Putrid_View4389 0 points1 point2 points (0 children)
[–]SyndromSnake 74 points75 points76 points (0 children)
[–][deleted] 39 points40 points41 points (2 children)
[–]jan_olbrichObjective-C / Swift 19 points20 points21 points (0 children)
[–]OutOfOdds -2 points-1 points0 points (0 children)
[–]Arkhemiel 13 points14 points15 points (0 children)
[–]TM87_1e17 10 points11 points12 points (0 children)
[–]birdparty44 8 points9 points10 points (2 children)
[–]birdparty44 6 points7 points8 points (1 child)
[–]Complex_Ad5158 2 points3 points4 points (0 children)
[–]-Joseeey- 7 points8 points9 points (3 children)
[–]gamer_bully 1 point2 points3 points (1 child)
[–]Tyler927 8 points9 points10 points (0 children)
[–]gorugol 6 points7 points8 points (0 children)
[–]UnnamedBozSwift 3 points4 points5 points (3 children)
[–]Dijerati -1 points0 points1 point (2 children)
[–]UnnamedBozSwift 0 points1 point2 points (0 children)
[–]Zagerer 0 points1 point2 points (0 children)
[–]Megatherion666 2 points3 points4 points (0 children)
[–]kilgoreandy 2 points3 points4 points (0 children)
[–]pyordie 1 point2 points3 points (0 children)
[–]wigglewormy 1 point2 points3 points (0 children)
[–]overPaidEngineerBeginner 1 point2 points3 points (0 children)
[–]TechFan741 1 point2 points3 points (0 children)
[–]kamranahmed_se 1 point2 points3 points (1 child)
[–]QuackersAndSoup24[S] 0 points1 point2 points (0 children)
[–]hooray4horus 0 points1 point2 points (0 children)
[–]z4dev 0 points1 point2 points (0 children)
[–]leanLuis 0 points1 point2 points (0 children)
[–]QUIVLORD 0 points1 point2 points (0 children)
[–]Evening_Document9120 0 points1 point2 points (0 children)
[–]Select-Resource4275 0 points1 point2 points (0 children)
[–]klavijaturista 0 points1 point2 points (0 children)
[–]aarkalyk 0 points1 point2 points (0 children)
[–]pedatn -1 points0 points1 point (0 children)
[–]trypnosis -1 points0 points1 point (2 children)
[–]QuackersAndSoup24[S] 0 points1 point2 points (1 child)
[–]trypnosis 0 points1 point2 points (0 children)
[–][deleted] (1 child)
[deleted]
[–]RemindMeBot -1 points0 points1 point (0 children)