How To Make An App (for beginners) – Start Here

by Chris Ching

How to make an app for beginners

In this guide, I’ll reveal 3 steps you can take today to start making apps.

Hello! I’m Chris Ching and I just want to let you know that you’re in good hands. I specialize in teaching beginners and non-programmers how to build iOS apps. Tons of people have learned with me, given me great feedback and built apps!

How to get started

I often get emails asking, “How do I get started with building apps?”.

At first, it seems like a silly question to me because I see so many resources available for making apps.

But then I realize it’s not that simple:

As a beginner, you might not even know what you’re looking for.

Do I need a mac?
What’s Swift and Objective-C?
What’s this Xcode thing?
What sort of equipment do I need?

And to top it all off, there’re a lot of outdated resources out there. The worst part is that you might not even be able to tell that it’s no longer relevant if you’re just starting out.

Talk about frustration and huge amounts of wasted time!

Your first 3 steps for building apps

This guide on how to make an app is going to change all that.

You’ll learn:

1. Orientation: All of the tools that are available. Which ones are important and which ones are not.

2. Mindset: The critical mindset to prime yourself for learning app development.

3. Core Skills: The essential skills for building a solid iOS foundation if you want to make app after app…

Let me promise you this:

You’re going to have completed your first app within the next 20 hours.


1. Orientation

It’s time to catch you up to speed and give you the lay of the land. Let’s do this in a quick question/answer format!

What do I need to learn in order to build my app?

I recommend to focus on the core/basic skills first which you’ll find from the lessons below. After that, you’ll have to identify which traits your app has in order to know what to learn next.

For example, if your app needs to have users register and login then you’ll need to have a database to store that data. I’m writing an article that can help you with identifying those traits once you’ve completed the basic training. Make sure you’re on my newsletter to be notified when it’s published!

How long will it take for me to build my app?

This is a really hard question to answer because some apps are easy, some are complex and everyone learns at different speeds. Also some people have really busy schedules so they can’t dedicate much time to learning.

In terms of number of hours, I would say at least 20 to get some of the fundamentals down.

I would also recommend that you try to find a little bit of time each day to learn rather than saving it all for a Sunday evening because if you wait 7 days in between lessons, you’ll spend a lot of time backtracking to remember where you left off.

Should I learn Swift or Objective-C?

Swift all the way because it’s what Apple has transitioned to.

It’s way easier for beginners to pick up and now that it’s open source, Swift is beginning to be used for other things as well such as server side development.

Lastly, it’ll also make it a lot easier to find tutorials on the net for Swift because most educators have moved to teaching with Swift.

Do I need a Mac? (Can I use a PC?)

Technically yes, because the program where we write Swift code and design the app is a MacOS app and Apple hasn’t released a Windows equivalent.

Two solutions you can try instead of buying a Mac:

  • Use a Mac remotely via MacInCloud.com
  • If you’re technical enough, use virtualization software such as VMWare Workstation and VirtualBox to run MacOS on your PC.

In addition to that, there’re a lot of third party solutions to create iOS apps where you wouldn’t need a Mac at all.

Here are some that you can check out:

I’ve written a full guide here on options for Windows users: Xcode on Windows

If you are thinking about buying a Mac, you can buy used to save some money. An iMac, MacBook, Mac Mini.. any will work.

As long as it can run the latest operating system, you’ll be good to go because Xcode usually requires the latest.

A safe bet for current compatibility and getting mileage out of your purchase is to get something less than 2 years old.

What sort of equipment do I need?

Aside from a Mac (or using one of the PC solutions above), not much else!

You’ll need to download Xcode for free from the Mac App Store.

Swift doesn’t need to be downloaded separately.

Then you just need to launch Xcode and start following along!

If you want to publish your app into the App Store, you’ll need to pay for an Apple iOS Developer Membership which costs around $99/year.

You don’t need to pay anything if you just want to run the app on your own device.


2. The Mindset for Success

I’ve guided over 3000 students through learning app development and here’s one interesting observation that I’ve made:

I’ve noticed that having the right mindset when starting out is a strong predictor of whether or not the student will succeed.

So what’s this mindset?

Impatience leads to frustration which leads to quitting.

As with learning anything new, there’s going to be roadblocks and obstacles but this is where having the right mindset is so important.

Those obstacles are opportunities for growth and learning.

As a seasoned programmer, I can tell you that a large part of building apps will be troubleshooting and figuring out why your app doesn’t work the way you intended it to.

25% coding, 75% debugging

It’s not a knock against the coder; it’s just that when you’re writing code, it’s impossible to foresee 100% of the user scenarios and edge cases and interactions with other parts of your code.

There’s bound to be bugs and unexpected behavior and then you’re going be spending a lot of time debugging and trying to figure out how to fix it.

Don’t let that discourage you though because the feeling that you get when you finally solve the problem is a natural high like no other!

Not to mention that by overcoming your roadblock, you “level up” and learn a lot!

When you get very familiar with Swift code and Xcode, you’ll find that you can hack together an app idea really quickly but the majority of time afterwards is spent refining, debugging and polishing your app.

What’s “The Hump”?

Before you can hack together a prototype of any app idea in a weekend, you have to pass “The Hump”.

This is a certain point on the learning curve where too many beginners have given up.

They encounter their first adversity and experience frustration.

Things aren’t going smoothly.

Rather than facing it, overcoming it and learning from it, they decide that app development isn’t for them.

It’s a graveyard of lost hopes and dreams πŸ™

If you can beat “The Hump”, you’ll be flying and learning faster than you thought you ever could.

This is where having the right mindset makes all the difference!


3. Core Skills

It’s time to put the pedal to the metal.

The 11 lesson mini-course below will teach you the core skills you need to build any sort of app.

It’s designed with beginners in mind and you don’t need any coding experience (if you already have a programming background then you’ll fly through it!)

This is where you want to start.

The basics

You’re going to get an orientation of the development environment, a tiny taste of Swift code and you’ll also make your very first app!

Xcode Tutorial

1. Introduction to Xcode
In this video, I’ll tell you what you need to learn and give you a tour of Xcode.

Auto Layout

2. All About Auto Layout
Jumping right in, you’ll learn how to build layouts.

Stack Views

3. How To Use Stack Views
Learn how to use Stack View elements to build layouts much more easily.

Building a User Interface

4. Assembling the War User Interface
Put your skills to the test by building the UI for our War Card Game.

Swift Variables

5. Learn Swift Basics (Part 1)
Get hands on with the Swift programming language.

Swift Functions

6. Learn Swift Basics (Part 2)
Build upon the skills from the previous lesson and learn more about Swift programming.

Swift Classes

7. Learn Swift Basics (Part 3)
Finally, we put it all together and I’ll tell you how Swift code plays a part in your app.

IBOutlet Properties

8. Connecting Elements With Swift Code
You’ll learn how to connect the elements in your layout to the Swift code that you write.

Handling User Interaction

9. Handling User Interaction
Learn how to capture and handle taps from the user.

Writing The Logic

10. Writing The Logic
Learn how to write code that THINKS!


iOS Training Courses

P.S.
I’ve had comments closed on this page for a good 2 years and only recently re-enabled it.
Help me freshen it up by leaving your comment below and letting me know how this guide has helped you!

142 thoughts on “How To Make An App (for beginners) – Start Here”

  1. Chris,

    When going through the tutorial. I am not getting the viewcontroller.swift only view controller.h and view controller.m Help please

    • “This new Swift course is still in the pre-release stage and I’m giving it away for free to all students of the tried and proven Objective-C course that you’ll find in the store. Once we get past lesson 13 on Oct 10 and the course gets started, this 2 for 1 special will be gone!”

      So if you have purchased the Objective-c course before this time you will get the Swift course for free :). you can also look at a forum post in the general discussion area called “quick question regarding to swift course” Adrien answers this question there as well. hope this helps πŸ™‚

      • Thanks man!

        I just thought that I have to do something to get it for free, because of “Once we get past lesson 13 on Oct 10 and the course gets started, this 2 for 1 special will be gone!” – but thanks!

    • Currently the Objective C course is taught in objective C though when the Swift Course comes out (it still didn’t) It will be taught in Swift.
      πŸ˜€

    • Hey Paige, the current private course is taught in obj-c.
      A new version in Swift is being released and the tutorials on this page are the initial lessons in that Swift course.
      After lesson 12, they’ll be in a private Swift course which will have new lessons released every 2-3 days. Thanks!

  2. Chris, I enjoyed your videos. I noticed on my Xcode in the project navigator that you had an AppDelegate.swift and a ViewController.swift, and mine were labeled AppDelegate.h along with AppDelegate.m and ViewController.h and Viewcontroller.m. How do I change it so it has swift like yours? Or does it matter?

  3. Hey Chris, i’m a first year student of cs branch and i’m new to all these programming kind of stuff so i just wanted to know can i even learn ios programming without knwing any other basic languages of programming ??

  4. Hay Chris, i enrolled in the objective c course and will participate in swift.
    One question for Chris, currently i making an app in objective c and at the same time want to participate in swift course,
    do you think if i update to Xcode 6 (swift), i still be able to finish my project using objective language?

  5. Awesome! I enrolled as an Objective-C Trainee but fell off the map due to some personal situations, but I am back now. I didn’t finish the last course but its okay because I wanted to learn Swift more than Objective-C. I’m stoked. Loving the new layout of the site as well.

  6. Hey Chris,
    I have to say, I just started reading through your lessons and skimmed through them and it is very thorough! I am new to this programming or coding stuff and it’s tough to grasp, but I’m sure I’ll at least learn the basics. Keep it up!

    • Because you use XCode 5.x, xib-files only exist in XCode 4.x (and maybe lower, dont know yet).
      but Chris tells you in every video, what you have to do with the similar versions of XCode πŸ˜‰

        • No problem! I started today to watch your free videos and also started programming, its awesome and i like the way you teach and easy to understand, i think i have to upgrade to an membership in the near future.
          Thank you for the videos Chris!

  7. oh thanks very much for your videos.i got started on your learning plan and it helped me alot. it’s vital for beginners like me to decide what direction the beginners should go.great teacher !

  8. I am making a game where there is 1 player piece with a labeled number, and 4 computer pieces each with a labeled number. The goal of the game is to hit the computer piece with the corresponding number as the player piece, before it moves off the screen. When this happens, the player number goes up and your score increases. Each time the set of computer numbers is generated, 1 of the 4 numbers has to be the same as the player number, but within a certain set of numbers. I am having trouble making the set generate one and only one number matching the player, and 3 other numbers that are from a certain set, none of which are repeating. Sorry if this is confusing but tried to explain it my best. Thanks Chris! You’re awesome!

  9. Hi Chris, I started with your great learning plan. Just wondering if you will start with SWIFT in the near future and post your experience and/or will even add some education material. Thank you!

  10. Hi Chris,

    I had the page earlier, but how do you use a button to move to another view? I want to be able to move to a new view with the tap of a button (Ex; “start”). I have another question though. Is it possible to not use a back button? I do not want the navigation bar or a back button to show in my project.

    Thanks!

  11. Hey Chris– great videos! I was wondering- after completing the full paid course would a user be ready to create a game application? Not necessarily something too serious, just a simple, fun game like Doodle Jump or Tappy Bird

  12. hi there , i am reading your tutorials they are very useful, thanks i start learning ios 2 to 3 weeks ago i want to store data from text field to the table view in another view. Can you Pls. help with that..

    • Hey Nikhil, in lesson 6, you learn how to access the text in the UITextField. Lesson 8 shows you how to create a 2nd view. In an upcoming series i’m releasing tomorrow, you’ll learn how to pass data from view 1 to view 2 and also how to use the table view. Please check back!

  13. Hey Chris. I want to start by saying you are very good at teaching. I like your approach. I have an issue, though. I am having trouble understanding what is even going on. I can follow along and do what you do easy enough, but all the coding just blows my mind. I have a ” what just happened” moment after watching the videos. I am obviously new to programming but I am wondering if I should just give up? I know it takes practice and dedication, but I am wondering if I am in over my head.

    • Hey Joel, it’s definitely doable but I can understand how you feel! I’ve given up learning guitar probably three times now. It’s not always fun πŸ™

      Perhaps try reading this article and see if you can grasp the concepts (https://codewithchris.com/learn-programming/)

      The YouTube videos are not lengthy enough for me to go into any detail so i apologize for that! Give that article a read and let me know if the programming concepts make sense.

  14. i like your lessons. and i did as you mentioned. but when i try to run after adding labels then it’s showing build succesfully and open an iPhone without any labels. so i am not able to read further. and one more error message is there in Main.storyboard page like “No matching code sign identity found”.please help me out. Thank you.

  15. I am in lesson 3 and I am having trouble locating the .xib file within Xcode version 5.0.2. The class files showing are appdelgate.h, .m main_iphone.storyboard, view controller.h, .m and images.xcassets. Can anyone help thank you!

  16. Hey Chris, Im enrolling in your course in few days πŸ˜€ I need few days for begging my mom and stuff like that, It took me literally 2 years of begging to get my macbook, now a week of begging to get the course (btw when my parents agreed to get the macbook, I got a loan from my father so I’m still paying for it πŸ˜› btw I’m 12), I hope your course will include networking and stuff like, i have a time constrain to build a social app so i need to do that fast, hope ur courses help πŸ˜€

    • Hey Moussa, thanks for joining! It’s hard to put a price on education and potential future career, but props to you for starting so young πŸ™‚ It’s going to be a really useful skill!

  17. Hi Chris,

    I wrote to you before. Thanks for the quick response back then. I am writing you again here because I got a few more concerns and you didn’t seem to realize i sent a reply email. I have a few more concerns before I enroll. Do get back to me in your earliest convenient time possible, thanks again. Cheers… Sincerely, Samuel.

  18. Uhm can you make a video on creating a social networking app? Like a login and sign up view and how to connect users which each others

          • Maybe their is I just don’t know how to ask the question, I can’t go on “How to make a social Networking app” neither “How to make a login screen” cause its not enough, and i don’t know what is the question for connecting users with each other or letting them chat to each other so can i tell em the question?
            Thank you in advance and Im sorry not trying to rush you

          • Yeah, the term “social networking app” is a little too vague. What you’ll want to do is define specific features you want in your app. Pretend you were writing a specifications document for someone you were going to hire to build the app for you. You want to be very clear and explicit about what the features and functionality is.

            That will help you communicate what you want more clearly.

            For the login system, i teach how to build a simple one in my video course. Or just google “login system ios”, the top 3 results seem very relevant. In fact the result with Parse, is something that I’ve followed before. It’s the 2nd or 3rd result. Here it is in case you dont see it: https://parse.com/tutorials/login-and-signup-views

  19. Hey Chris, Im 12 and I’m kinda finding a hard time getting into objective c I already know java script and I’m trying to relate them to each other, like a ‘method’ is a ‘function’ in javascript and a variable is a variable but in javascript its ‘var = “I<3programming"', so its a bit hard but anyways, what kinda of app i should first make? I was thinking of Creating a game but wouldn't that be rushing stuff, so? Should i make the game in-mind or go with another category?

    • Hey Moussa, that’s the right way to go about it! Once you know one programming language, it’s just a matter of relating things like you mentioned above. If i were you, i would follow some tutorials to build some simple apps and get the hang of things. Having your own project in mind is fine as it’ll help you learn (when you run into something you don’t know how to do and have to research it) and keep things interesting for you. Keep in mind though doing games require a different way of thinking (game loops and stuff) so check out Sprite Kit to make games for iOS. Good luck!

  20. Hi,Chris,

    I have 20 TableView (about 400 static TableViewCell) would like to localizing from English to Japanse.

    Should I have to change it in Storyboard one-by-one?

    Because I do not find out any tutorials teaching this. But I think it is very spend time, maybe I was wrong.

  21. Hi Chris! This video lecture is Awesome!!
    I am about to enroll this course. but i have some questions to ask you before i pay.
    i’m a Korean guy who is studying abroad in China. And youtube is blocked in China.
    IS there any chance that i can watch the videos in China??
    And is there a lecture for iBeacon Programming?? I’m preparing for the graduation project and there is only a few information.

  22. Hi Chris

    thank you for the valuable information, can you recomand iOS Development books to read for beginners, what about med live and advanced.

    Thank you

  23. Hey Chris! Everything is working with mine except the dice images aren’t appearing. Any clue?? (Note that the sum is accurately calculated and displayed on top – I just don’t see any images at all.) The images have definitely been imported, and I don’t get any errors when I run. I downloaded your source file and everything seems to be matched up perfectly (although I can’t access your storyboard b/c I’m on xcode 4….)

  24. Thank you, Chris. I have looked everywhere for material like yours… I was about to give up on learning iOS dev. You saved the day…

    • Hello Hadi, you’re in luck! In about a week, i’ll release a video series on how to do a soundboard app using Xcode 5. Please keep checking back!

  25. Hi Chris,
    Just wanted to say Thank You for taking the time to teach myself and others how to code for IOS. I was reading through the same book you had and felt I wasn’t quite getting it even with practicing what I was reading. Thanks for taking me to school !

  26. Hello Chris, Your videos are awesome Ive watched alot of them already but when i tried to make the “Hello World” app I got stuck. When you had us search “ui label” my search came back as no match, also when I click the start button my simulator opens outside of Xcode and is white, unlike yours which looks like an actual iphone and is on the Xcode app itself. Please help! I want to learn just confused as to why our programs are different and how am i to create step by step if i cant take the same steps you are? Thank you!

    • Hey Rachel, thanks for following along! I have a feeling you’re using XCode 5 which i haven’t updated my post for yet.
      Don’t worry that you don’t see the actual iPhone frame; it’s just a different view that you can change between. Please see my other reply to your problem with the UILabel! Thanks

  27. Hi Chris . Thanks man . Although Im just starting my First leap in the iOs yard.. i Presume that this would be more likely interesting … πŸ™‚ I am not a programmer though i like programming .. but I finish Bachelor in Marine Transportation… But I really like programming thats my passion .. and by the way I already made an app. but sometimes its just a mess .. i always forgot what code did i encode. . YOU really said that practice practice practice .. will make you used to the code and need not to memo it and yeah it was very help flu.. right now im going back to the basics so that i understand so much the ios yard .. πŸ™‚ Thanks Chris .. Godbless you ..

    • Thanks for the kind words and I’m really glad you realize that it takes persistence and practice to grasp any new skill.
      I hope you continue to watch and let me know if you have any questions!
      Thanks
      Chris

  28. Hello Chris,

    Thanks for making these videos, I can’t wait for the next one, I have been trying to read a few books, but after a few long winded pages, my brain hurst and feel like giving up. I like your concept of Teaching, and from now I will be following your videos and tutorials.

    Thanks,

    Rich

    • Hello, thanks for messaging Joey!
      I’m starting out with the basics, but having the app communicate with a server is definitely something that will be covered in upcoming lessons!

  29. Hi Cris,

    I really thank you for your help. I think your videos are awesome!, short & simple like apple.

    I am on the Xcode series as I am completely new to this world of iOs coding. I could only find on youtube until your 5th video of the serie so I guess you are working on the rest.

    I look forward to seeing all your videos. Thanks again.

    • Thank you! That’s right, i will continue to update the videos and this site so please continue to watch, read and share it with your friends to help my site grow! πŸ™‚

  30. Hi Chris,

    I just want to say thanks for everything. You’re a great teacher and doing an awesome job explaining things. I look forward to all your videos.

    I am new to iOS development and finding help from others is rare. A lot of people are more into Android and windows.

    I am looking for mentors and people to code with in Portland, OR. If anyone is interested, let me know.

    Thanks again Chris!

    • Hello Colette, Thanks for reading!
      It’s great that you’re learning and learning from here too πŸ™‚
      Don’t hesitate to ask me anything that’s unclear.
      Thanks,
      Chris

Leave a Comment

1.6K Shares
Share802
Tweet405
Pin390