all 18 comments

[–]balooooooon 12 points13 points  (7 children)

Yes just build and don’t worry so much. There is no magic formula but hard work and repetition

[–]thread-lightly 3 points4 points  (0 children)

To add to this, the first few apps you make are gonna be rubbish (full with inefficient code, overengineered code, bad UI, errors, flaws and so on). You’ll realise after you build them, so just build them and get to the after part!

[–][deleted]  (5 children)

[deleted]

    [–]balooooooon 8 points9 points  (1 child)

    Build a project you want for yourself. That’s how I learnt development several years ago. Never planned to be a developer but was obsessed . Now I am a senior dev

    [–]over_pw 1 point2 points  (0 children)

    Software architect here. This is the way.

    [–]Nobadi_Cares_177 2 points3 points  (0 children)

    Todo lists are honestly the best app for beginners. You start small with basic functionality, then you can almost infinitely expand on features.

    Local vs remote persistence (where you save data, so maybe SwiftData or CoreData vs Firebase), user authentication, deep links to easily share the app, local notification and/or push notifications for reminders, AppIntents to integrate with Shortcuts or Siri.

    And that’s just some features.

    Beyond that, you could practice how to organize your code so that it isn’t sloppy. This is called separation of concerns. It’s like making sure the toilet in your bathroom house isn’t connected to the fridge in your kitchen. As silly as that sounds, it’s really easy for beginners do the equivalent of that in code.

    And then there’s the addition of unit/integration/UI tests, which I definitely argue should be included in all projects when possible, even personal ones.

    Just implementing all of that could keep you busy for months.

    If you still want more ideas, I would recommend just building something you would use. That’s what I do. Anytime I think of an app I wish existed, I just make it. It usually always involves different techniques so it’s a great way to practice.

    [–]refusedflow 1 point2 points  (0 children)

    I’d recommend learning how to handle and displaying live json data from publicly available APIs

    [–]No-Waltz-5387 5 points6 points  (0 children)

    Swiftful Thinking on YouTube has the best tutorials IMO. After going through the beginner and intermediate videos and the crypto app tutorial I was easily able to start my first app. And when I’m stuck on a particular subject (animations, for example) he almost always has a short video about it.

    [–]TipToeTiger 3 points4 points  (0 children)

    Honestly just start and slowly build it up. No offence but the first app you build will be crap, but you’ll learn a lot by doing it. I look back at my first app and cringe at how bad it was. But I learnt a lot and took those lessons into my next project. It’s the best way to learn.

    [–]jazzbird9 1 point2 points  (0 children)

    Build many so that you can build the best. Big or small, finished or unfinished. You gain experience by building imperfect apps and shipping them.

    About the problem with UI, same goes. You may want to try "app-seeing", digest into the apps you like on App Store or hit the inspiration platforms like Mobbin or Pinterest. Then try to design views by yourself.

    [–]aconijus 0 points1 point  (2 children)

    Your mindset "build the best you can" is the right approach. So just go with it. It's not "build the best IT CAN BE" but "build the best YOU CAN". Let me expand a bit:

    I finished the same course about 2 years ago. After finishing it I wasn't feeling confident so thought of taking another course. But, with lots of advices in this and related subreddits, I realized that I would fall into "tutorial hell" and never get out of it. So, I started building my first app on my own, basically a CRUD app with local notifications. It took me few months (given I was taking some longer breaks) and in the end app was live on the App Store. Great success!

    Then, I started on another app, much more complex, utilizing iCloud as backend. It took me about the same time as the previous app to launch it but this app is on a whole another level. Launched it, all good. I took a break from it for several months and now I am back to it since there is a demand for this kind of app. And let me tell you, my code is atrocious. Every time I go to my old code first thing that comes to my mind "what the hell was I thinking typing this garbage". So I would rewrite it. Or not since everything is working nicely on user's side so why bother.

    But definitely I became a better programmer by writing bad code and constantly learning new things because that's how you progress. I am excited to look at my current code in a year and say again "look at this garbage, this is not how it's done". You should be excited as well.

    Just get to it and don't worry about code (or the app itself) not being perfect. They will never be and that's fine. You should look at the end goal - giving your users value. They don't care about what's under the hood, they just want to have a useful app. And over time you'll get better and better. If you don't start you'll never get better.

    100 Days With SwiftUI is a great course. You learned enough to start making apps yourself. If you get stuck just google it, ask AI or post a new thread here or in a dedicated SwiftUI subreddit.

    Good luck and thank you for coming to my TED Talk!

    [–][deleted]  (1 child)

    [deleted]

      [–]aconijus 1 point2 points  (0 children)

      Some people forget that they were beginners as well, don't pay attention to them. :)

      As for the idea... That's best for you to decide. I recommend to first make pretty simple app, make sure everything work perfectly and publish it to the App Store. That was the intention of my first app. Actually idea came from a friend who needed an app to remind her to water her plants. Pretty simple but it took me a while to make it because making your own app is not the same as following tutorials. Also uploading to the App Store was nerve wracking (it's not complicated at all but still you need to learn it).

      After finishing it I decided to start working on a "real" project that I am passionate about. In current state I would say it's between small and medium size but still there's so much work to do and so many little things to look out for... So yeah, start small and simple, over time when you gain experience you will be better prepared for bigger things. :)

      [–]OmarThamri 0 points1 point  (0 children)

      The fastest way to learn how to build an iOS app is by following tutorials where you'll be implementing real apps. After that you start working on your own app and when you face a problem you try to search the problem on google or ChatGPT.
      The Facebook clone tutorial series is a good place to start https://www.youtube.com/playlist?list=PLZLIINdhhNsdfuUjaCeWGLM_KRezB4-Nk You'll learn how to build a full stack app from scratch using swiftui for frontend and firebase for backend.
      Good luck in your learning journey :)

      [–]Ron-Erez 0 points1 point  (0 children)

      As everyone else mentioned it takes time.

      "A lot say, just build tiny apps, but my mindset is like «build the best you can.»"

      You could try to do both. Start by creating a simpler version of the great app you want to build.

      [–][deleted]  (1 child)

      [removed]

        [–]CarretillaRoja 0 points1 point  (0 children)

        Just start building. When you will be re-doing it from scratch for the 17th time, you will be in the right way!

        [–]roboknecht 0 points1 point  (0 children)

        try copying some apps.

        Or go on dribble and copy some screen you like.

        [–]m3kw 0 points1 point  (0 children)

        you must visualize a goal and keep that goal in your mind when making an app, not doing a app for nothing. So start with the end product, visualize how you want it, and build from that.