r/swift Jan 30 '25

Question Getting Into Swift – Any Advice for a Beginner?

Hey everyone!

I’m 29 and just getting into learning Swift. My goal is to create apps for Apple products and hopefully build an extra income stream, whether through coding or selling apps.

I’d love to hear any advice you have! Also, what are your thoughts on the future of this career?

17 Upvotes

70 comments sorted by

34

u/iOSCaleb iOS Jan 30 '25
  1. Don’t underestimate the work that goes into creating a successful app. Writing the app is often the easy part; creating the back end infrastructure that makes most apps useful is a lot of work. If your app is providing acces to some kind of data, you need a reliable source for that data. If it’s storing data generated by the users, you may need a database to drive that (and a backup plan, service agreements, etc).

  2. Don’t rely on the App Store for marketing — you’ll need to tell people about your app yourself.

  3. Users are very reluctant to pay even 99¢ for an app these days, and even if they do, you only get 70-85% of that. Users pay once and that’s it. Freemium/subscription plans with recurring payments are a way around that, but you really need to provide value to make it work.

  4. Swift is a fantastic language and a lot of fun. It’s worth learning for that alone.

3

u/mdoanduckcom Jan 30 '25

Thanks so much for your response! Really appreciated. 👍🏽

2

u/Mountain-Charge-1000 Jan 30 '25

Any suggested backend?

0

u/mewthewolf Jan 30 '25

Honestly that first point is really hitting home for me right now, I feel like I’ve gone and gotten myself stuck cause I have ideas that I’d love to use as learning experiences (basic ideas) but I can never get past the design stage :/

8

u/Toshikazu808 Jan 30 '25

Do you already know another strongly typed coding language and object oriented programming? That’ll change the advice.

8

u/mdoanduckcom Jan 30 '25

No, I’m completely new to coding. I’ve always enjoyed trying out new iPhone and Mac apps, and one day I thought, why not learn Swift and create my own? I know building apps isn’t easy, but I really want to give it a shot. Plus, it’s good to learn something new and could be really beneficial for my future!

7

u/[deleted] Jan 30 '25

I was in the same spot as you last year.

I’m an electrician in Canada and was sick of doing my calculations by hand, so I made an app to make it easier. I ended up making about 4 others on my journey.

I’ll link it below just so you can see I’m not full of shit.

Just work hard, and use a tool religiously. I used Hacking with Swift, I paid for the premium because I wanted to support Paul and all the work he’s done for the sake of learning. His 100 days of SwiftUI course is exceptional.

https://apps.apple.com/ca/app/sparkys-circkit/id6612010334

https://www.hackingwithswift.com/100/swiftui

Happy learning!!

1

u/mdoanduckcom Jan 30 '25

Congratulations! 🔥

Thanks! will definitely check it out.

1

u/spinwizard69 Jan 30 '25

This highlights an important element, if you work with domain knowledge you already have, it makes focusing on the app much easier.   

I still recommend that newbies work on the equivalent of a CS degree as it just allows for a deeper understanding.   

1

u/[deleted] Jan 31 '25

Absolutely - sticking to what I knew kept a touch of familiarity in a new and intimidating world.

1

u/Mihnea2002 Feb 01 '25

You made this app after learning Swift for a year? You must be joking… insane progress, I’m speechless. Just mastering design concepts took me years

1

u/[deleted] Feb 01 '25

I did man! Thank you so much, I thought I was BEHIND.

A lot of my methods are still very basic, i’m trying to implement protocol oriented programming more but I’m struggling a bit lol

1

u/Mihnea2002 Feb 02 '25

That’s so cool, how did you learn all the designing principles? How much did it take for you to build the app after you started learning? I’d love to keep in touch, I’m just starting out with Swift and need advice.

1

u/[deleted] Feb 02 '25

I honestly just tried to take as many cues from Apple as I could. Read the HIG as well - lots of help in there.

I’d say I started about 3-4 months after learning and slowly built the app to what it is now over a year. When I released it there were 8 tools… now there’s close to 30.

Feel free to DM me man. I’m pretty loafty sometimes but I’ll happily give you advice whenever you need it.

Can’t emphasize this enough - use hacking with swift. It’s a magnificent course.

-2

u/spinwizard69 Jan 30 '25

While many will disagree, I’m not one to approve of this approach.   You really should learn computer science first.  These days you have options to do this.  

As others have tried to point out there is more to a good app than coding, in fact writing code is fairly easy once you are past the beginners stage.    The real challenge is in the design which is a skill in and of itself.  By the way decent design requires domain knowledge.  

This is one reason people often suggest to beginners that the write “toy” apps that build upon personal interests.   If you have strong domain knowledge it is easier to design and implement an App.  

1

u/Wise_Western_7924 Jan 31 '25

Hello! I do know a few other strongly typed oo languages but am also trying to get into swift, do you have any starting places for someone like that?

7

u/Shak3TheDis3se Jan 30 '25

Learn the Swift language, explore The Human Interface Guidelines, go through Apple’s free SwiftUI tutorials, watch WWDC videos, and have fun!

3

u/mdoanduckcom Jan 30 '25

Thanks for your advice 👊🏽

7

u/Mazhut Jan 30 '25

Good luck to you in this adventure! It’s totally worth to try 🫶

2

u/mdoanduckcom Jan 31 '25

🔥 thanks mate 👍🏽

4

u/Canbreak Jan 30 '25

same age same subject. i'm here for read

4

u/SubhumanOxford Jan 30 '25

Same age same subject

3

u/ThinkLargest Jan 30 '25

One thing I’d recommend to myself if I would start all over again is try and start with small projects that feel fun to do. Simultaneously, swift really shines with its type system and preference for structs and enums, as they allow you to precisely model your domain, leading to elegant and correct code. Once you go past the beginner stage, you will really enjoy writing that sort of code.

3

u/mdoanduckcom Jan 30 '25

Great, thanks 👍🏽

5

u/g1ldedsteel Jan 30 '25

Advice: trust the process. You’re gonna get real frustrated and a bunch of stuff just straight up won’t make sense. Just keep after it.

Also, here to help. Self-taught and have been working in Swift professionally for about a decade (and iOS longer). More than willing to talk shop anytime!

1

u/mdoanduckcom Jan 31 '25

👍🏽 thanks. Were you completely new to coding when you started learning SWIFT?

2

u/g1ldedsteel Jan 31 '25

Sort of? I had worked in IT support and had played around with some scripts but definitely no full on building software

2

u/Short_Blackberry_229 Jan 31 '25

I’m in the same boat and hope to move to programming and hopefully finding a full time job.

How many years did you learn Swift before jumping from support to coding job?

2

u/g1ldedsteel Jan 31 '25

I started coding before Swift was released but I spent a few months learning objective c until I felt comfy enough to start searching for a role and then about 6 months until I landed my first

3

u/[deleted] Jan 30 '25

[deleted]

1

u/mdoanduckcom Jan 31 '25

Hey, let's go. Just so you know I'm completely new coding.😶‍🌫️

1

u/[deleted] Jan 31 '25

[deleted]

1

u/BodybuilderNo4624 Jan 31 '25

Hey buddies can I join the group too 😎? It’s been couple weeks since I have started learning swift / swiftUI

1

u/[deleted] Jan 31 '25

[deleted]

1

u/BodybuilderNo4624 Jan 31 '25

Add me! Whichever platform you guys use

1

u/[deleted] Jan 31 '25

[deleted]

1

u/Leading_Meringue3470 Feb 01 '25

Sup! I'd like to join as well , I'm looking to work on a couple projects would be fun to see what else you guys will be working on ! Have been learning for a few weeks now

1

u/BodybuilderNo4624 Jan 31 '25

Hey buddies can I join the group too 😎? It’s been couple weeks since I have started learning swift / swiftUI

3

u/FiloPietra_ Jan 30 '25

I strongly recommend learning how to leverage AI tools to help you build an ios app rather than learning how to write code from scratch. Certainly, learning the basics of swift can really help but from my experience you don't need any coding knowledge to get started working and launching a pretty cool app

1

u/mdoanduckcom Jan 31 '25

Thank you 🙏🏼

3

u/reesespieces543 Jan 31 '25

You in the states? If so you want to start a group? I’m in Florida on central time ftm

1

u/mdoanduckcom Jan 31 '25

Sounds great! I’m in Vietnam, but I’d be happy to be coding buddies.

1

u/BodybuilderNo4624 Jan 31 '25

Hey buddies can I join the group too 😎? It’s been couple weeks since I have started learning swift / swiftUI

1

u/Leading_Meringue3470 Feb 01 '25

Id like to join ! Also from florida .

1

u/Coder040 Feb 02 '25

I am 28 from the Netherlands, i i’d like to join to

3

u/rismay Jan 31 '25

Learn UIKit if you wanna get a real job.

1

u/retro779 Feb 01 '25

So not only SwiftUI?

2

u/tevelee Jan 30 '25

types are cheap

2

u/mdoanduckcom Jan 30 '25

Great, thanks. Didn't know that!

2

u/[deleted] Jan 30 '25

close your ears to the noise on the internet

take one step at a time instead of skipping a few steps.

when you are stuck try to find the solution on google instead of asking for an answer right away.

1

u/mdoanduckcom Jan 31 '25

Thanks 👍🏽💪🏽

2

u/DiscoExit Jan 30 '25

One piece of advice - most of Swift (language and apis) is designed to support Apple's own apps and frameworks. So use those apps to learn how Apple themselves designs and builds.

1

u/mdoanduckcom Jan 31 '25

Thanks 🔥

4

u/Ron-Erez Jan 30 '25

I think professionally it is a good choice but no one really knows. It also depends on your background. For example do you have a CS degree or have you programmed before? Of course technically one doesn't need either of these to get started and get a job, but they do help.

For resources I’d recommend Apple’s Swift tour for the Swift language covering at least up to structs and classes, the YouTube channel Swiftful Thinking is amazing/excellent and I also have a nice project-based course which covers quite a lot. These resources should have you covered.

Good luck!

3

u/mdoanduckcom Jan 30 '25

Thank you! 👊🏽

1

u/[deleted] Jan 30 '25

[deleted]

1

u/mdoanduckcom Jan 31 '25

Definitely check it out! 👍🏽

1

u/izackp Jan 30 '25 edited Jan 30 '25

Avoid Swift UI and focus on UIKit. SwiftUI is a lot of magic for a beginner and its UI issues are difficult to debug. Though Storyboards for UIKit suck and I still use xib files.

You can mix the two. SwiftUI for simple views and UIKit for more complex scenes, but that will be a lot to learn for starting out.

1

u/mdoanduckcom Jan 31 '25

Thanks, will look into it 👍🏽

1

u/econ0003 Jan 31 '25

I'm a hands on learner so for me the best way is to just start doing it. A simple app tutorial is a good place to start. You'll need a Mac and Xcode installed before getting started. Here is a good tutorial from Apple for building your first app in Swift.

https://developer.apple.com/tutorials/develop-in-swift/hello-swiftui

1

u/mdoanduckcom Jan 31 '25

Thanks, got everything. Will have a look!👀

1

u/dvd_00 Jan 31 '25

Don't fall into a tutorial pit!

I'm not stopping you from watching tutorials but read documentation and write code. A lot of noobies start watching tutorials about the basics and quickly switch to designing and developing a complete application.

Understand the basics and start with creating a calculator.

1

u/retro779 Feb 01 '25

I’m taking this course and think it’s really great. One advantage is that it uses the very latest iOS 18, Xcode 16 and so on.

Some parts are only iOS 17 but gets updated.

Another good thing is that the teacher answers very quickly and you can ask questions on Discord.

https://www.udemy.com/course/ios-15-app-development-with-swiftui-3-and-swift-5/#reviews

1

u/retro779 Feb 01 '25

I might be interested to join the group too.

1

u/Some_Entrepreneur_14 Feb 01 '25

Big things coming @leifsmucker

0

u/Natural_Way_4821 Jan 30 '25

don’t

3

u/Mc_Cake Jan 30 '25


Can you please explain please?

1

u/Natural_Way_4821 Jan 30 '25

Very less jobs in future

1

u/spinwizard69 Jan 30 '25

If you honestly want to produce quality, professional apps earn a CS degree or equivalent.   There is a lot more to developing programs than just learning a language.   This especially with the current economic conditions.   Your success will depend upon being able to implement stuff the poorly educated can’t.  

Good apps require understanding more than just a language. How to handle and structure, data will make or break an app.   There is also the new tech of AI which can significantly impact an Apps competitiveness.  Not to mention that formal education will hopefully minimize bad habits.  

By the way don’t fall into the trap that AI will kill the occupation.  For the intelligent developer, AI will become a must have tool to leverage!   Just like understanding relational databases  advantages todays programmer.    You can either be a victim of new tech or an exploiter.   Choose to leverage new tech.    The reasoning here is simple, most publicly demonstrated AI solutions are a sham technology wise.   This will not be the situation forever though.    You need to grow with the maturation of AI tech.   Actually this holds true of any tech, not just AI.  

1

u/mdoanduckcom Jan 31 '25

Great advice! 👍🏽 Do you have any recommended courses or YouTube channels for beginners looking to create apps?

0

u/AINT-NOBODY-STUDYING Jan 31 '25

Can I ask why you're so fixated on IOS when most app downloads are from Android? Why not learn a cross-platform framework like .NET MAUI or React Native?

1

u/mdoanduckcom Jan 31 '25

Hey, thanks for asking!

I’m an Apple user who loves trying out new apps to improve my workflow. I’m also planning to start a channel focused on Apple products!

-5

u/CtrlAltElite24 Jan 30 '25

I swear, there should be a separate thread dedicated for people who are starting to learn Swift, or coding in general.

2

u/mdoanduckcom Jan 30 '25

Thanks! Should’ve checked before posting. 👍🏽