Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

smitty8202

macrumors member
Original poster
Jan 18, 2011
82
12
Okinawa, Japan
I know this has been asked probably a million times and I have done a search but would just rather ask to get the answer I am looking for.

I am looking into getting started making apps for the iPhone and iPad. I was interested in it back in 2008/2009 but not since then. I am currently on active duty in the Marine Corps and with really no formal college training would like to have something under my belt that is a lucrative job for when I retire in 8 short years.

So with that being said I noticed that udemy.com has a iOS 9 developer course. Is this a good place to start?

I know what most of you are thinking but taking actual college classes online right now just isn't in the cards as I just don't have the time for it. With this I can really do it at my own pace and don't have to worry bout deadlines getting a grade below a c and have to pay it back. Any info on where to start is appreciated

One last thing I have no prior knowledge of programming or application development. So I would be starting from the ground up
 
I started a few years ago by taking a course from the people at Bitfountain.io

It was well worth it. After about 2 years of being my hobby I made it into a very lucrative (and incredibly fun) job. Now it's a few years after that and I've expanded my interests even more, I'm building deep neural networks to do handwriting recognition and such. That's the best thing about programming, once you've learned one language, it's really easy to pick up more languages/concepts.

I would suggest you do what I did: try to set aside a bit of time every day to learn programming (you'd probably start with Swift these days). You really have to be dedicated and don't ever give up even if it gets tough. Take a huge amount of notes. By the time I was done with my first course I had > 500 pages of painstakingly organized notes. For every minute of the video lecture I probably spent 5 minutes taking notes and 5 minutes experimenting in Xcode.

I would suggest one big thing: stay focused. Don't try to learn every programming language or skill in your first month. Stay focused like a laser on iOS development for the first year or two. After that time you should be good enough at Swift to pick up even more languages really easily. After learning Objective-C I was able to learn JavaScript/Node.js in just a few days, same with Swift. Just pick a course (I still really suggest Bitfountain) and dive in head first.
 
Learning any new skill takes time, effort and patience. A lot of people like the idea of making apps but won't commit what it takes or get discouraged or simply bored.

There are good books, websites and online cbt depending on how you like to absorb information. Some of the udemy courses are useful for beginners but some I wouldn't recommend as they just paste chunks of code with little explanation.

You need to start learning Swift which you can do on your Mac and with iOS 10 a fancy playground app to practice in. I would recommend a book or course in Swift 2 which while not as exciting as graphical apps you need a programming foundation. If you can understand variables, classes, methods, loops and other basics you can start to use those with iOS frameworks to build apps.

Never copy code, always type it out, you need repetitive practice to get your brain to make it stick. Take your time, repeat the exercises more than once, make your own changes to see the results. Practice, practice, practice.
 
Learning any new skill takes time, effort and patience. A lot of people like the idea of making apps but won't commit what it takes or get discouraged or simply bored.

There are good books, websites and online cbt depending on how you like to absorb information. Some of the udemy courses are useful for beginners but some I wouldn't recommend as they just paste chunks of code with little explanation.

You need to start learning Swift which you can do on your Mac and with iOS 10 a fancy playground app to practice in. I would recommend a book or course in Swift 2 which while not as exciting as graphical apps you need a programming foundation. If you can understand variables, classes, methods, loops and other basics you can start to use those with iOS frameworks to build apps.

Never copy code, always type it out, you need repetitive practice to get your brain to make it stick. Take your time, repeat the exercises more than once, make your own changes to see the results. Practice, practice, practice.
Amen to that! In fact I recommend that not only should you never copy & paste code when learning...you should type it twice. Once in Xcode, and again in your notes. It will be a bit of a pain, but you will learn much faster this way, at least when you are first starting.

Another suggestion is to follow your course carefully, but spend a lot of time playing around with it and experimenting by yourself. Don't just write whatever code they tell you to write, play around with it and see if you can make it even better.

Mostly though, don't get intimidated! A lot of this stuff looks super hard/complicated when you are a beginner. What I've learned is, most of it is a lot simpler than it looks at first. Something like computer vision, or deep learning neural networks, are really just a few simple equations combined into a single algorithm. Programming is a big field and there's really room for people of all skill sets.

Also, don't ever ask a programmer what language you should learn, you will get responses all over the board. A lot of programmers will just tell you to learn what they wish they had learned, but that's rarely what will actually work for you. A lot of programmers used to tell people wanting to learn iOS development to 'Start with Python, then move on to C, then Objective-C, then....', or some other complicated circuitous path. Just learn whatever you want to learn (probably Swift). Once you know your first language, it's really easy to pick up more. It's that first language that is a real challenge and takes a lot of time.
 
Last edited:
  • Like
Reactions: sartrekid
so I have been looking around and think im going to be starting the course on bitfountain this week. Also looked at apples website and with the new xcode, swift and ios coming out in the next couple months should I hold off on starting the course till something is developed for it or does it matter.
 
so I have been looking around and think im going to be starting the course on bitfountain this week. Also looked at apples website and with the new xcode, swift and ios coming out in the next couple months should I hold off on starting the course till something is developed for it or does it matter.
Definitely start now, don't hold off. The changes coming in Swift aren't huge so it won't be a big adjustment. All the basics still apply.
 
And to follow up on some things. Taking notes is important for both helping brain retention but also to refer back later. You'd be surprised how much you forget a week or two later even though at the time it seemed straightforward and simple. Organize your code projects, type or write some details on each one, what key topics it covers. When you want to use NSURLSession a week later, you'll be able to trace back where that code sample you wrote was used.

Another key to successful programming is source control. This might seem unnecessary when starting out but it's actually a powerful tool to keep you on the right track as well as building a critical skill set. Git is integrated into XCode so take some time learning how to use that. Learn its basics and use them. You will thank yourself after making some big code mistakes or mess up your UI constraints / stackviews and have to re-do the whole thing. Instead, you can click a button and go back to your last working version.

And finally, you will make mistakes. Your program will crash and you can't figure out why (you wrote the code exactly the same as the example!). Everyone has program crashes, makes typos and bangs their head trying to figure out why. These are usually the best learning experiences because it will make your examine your program and really use that brain to troubleshoot.
 
  • Like
Reactions: sartrekid
Before you dig too deep, you should pick a specific path. One path might be games. Inside the path of games you could have "word type" games, 3D shooter, role playing games and VR games.

One of these: "word games" can be done in Objective C / Swift and Xcode.

The 3D role playing, shooters can be done in Unity

The VR I think is also done in Unity.

These are different tools and use different languages.

Another path could be utility apps. The classic "ToDo list" type apps that can be done in Objective C / Swift / Xcode.

Then you have business apps. These could be project management, HR tools, etc... These could be done in Objective C/ Swift / Xcode.

Then you have yet another decision: are you looking for a job or a business developing apps. Jobs are based on current demand. You want to stick with mainstream tools so that they don't have to train you from zero to become useful.

Most of these tools can be had for free, YouTube has tons of examples to watch.

Be careful of the older tutorials, things change quickly, tutorials can become outdate quickly, watch the dates.
 
There's a lot to think about for sure. Not sure what genre of app I wanna make but just wanna learn the basics for now then go from there.

I know this may not be the place to ask but I have an older MacBook pro probably an 2009 or 2010. I know in order to run the latest version of xcode I need the latest verson of mac os whatever that is these days. but am also looking into possiably getting a new MacBook. either a MacBook or a pro. if used strictly for email web surfing and programming will the base 2.7ghz processor with 128gb hd. Is this enough to run everyone or should I get a better processor/hd. I do plan on connecting it to a monitor so I can have multiple windows open at a time.
 
There's a lot to think about for sure. Not sure what genre of app I wanna make but just wanna learn the basics for now then go from there.

I know this may not be the place to ask but I have an older MacBook pro probably an 2009 or 2010. I know in order to run the latest version of xcode I need the latest verson of mac os whatever that is these days. but am also looking into possiably getting a new MacBook. either a MacBook or a pro. if used strictly for email web surfing and programming will the base 2.7ghz processor with 128gb hd. Is this enough to run everyone or should I get a better processor/hd. I do plan on connecting it to a monitor so I can have multiple windows open at a time.
I have a hackintosh (a PC I built that can run macOS). I have five displays, two of them 4K, hooked up to it right now, which is amazing from a programming perspective.

However since you are just getting started...as long as your current computer can run El Capitan, I would say just use Xcode 7, don't worry about having the latest and greatest.

Programming often needs multiple apps/tabs/projects to be open at the same time. So when you do buy a development machine, the most important factor will really be RAM (memory).
 
I have a hackintosh (a PC I built that can run macOS). I have five displays, two of them 4K, hooked up to it right now, which is amazing from a programming perspective.

However since you are just getting started...as long as your current computer can run El Capitan, I would say just use Xcode 7, don't worry about having the latest and greatest.

Programming often needs multiple apps/tabs/projects to be open at the same time. So when you do buy a development machine, the most important factor will really be RAM (memory).

so how much ram would one need for programming
 
so how much ram would one need for programming
Never enough :D. I've got 6 on mine and run SSD drives so swapping is fast. My system is based on the Mac Pro of yesteryear. It seems fine, but there's times when Xcode stumbles.

I do a LOT of small changes and compile/link/run/test routines, so I ask a lot.

I don't know what kind of system you're getting but if there's a choice get one that can be expanded. In the start, it might not be much of an issue as you tend to do a lot of reading and just learning concepts.
[doublepost=1468989440][/doublepost]
I have a hackintosh (a PC I built that can run macOS). I have five displays, two of them 4K, hooked up to it right now, which is amazing from a programming perspective.

However since you are just getting started...as long as your current computer can run El Capitan, I would say just use Xcode 7, don't worry about having the latest and greatest.

Programming often needs multiple apps/tabs/projects to be open at the same time. So when you do buy a development machine, the most important factor will really be RAM (memory).
5 displays? NICE. I like that.:cool:
 
So I ordered my new rMBP today and should be here in a week or two hopefully. I also bought the course on bitfountain.io and will be starting that once the laptop comes. Really looking forward to learning to make apps. I also bought 2 books Swift for beginners: Develop and Design and Swift programming: The big nerd ranch so I should be busy for a while.
 
  • Like
Reactions: chrisandersen
So I ordered my new rMBP today and should be here in a week or two hopefully. I also bought the course on bitfountain.io and will be starting that once the laptop comes. Really looking forward to learning to make apps. I also bought 2 books Swift for beginners: Develop and Design and Swift programming: The big nerd ranch so I should be busy for a while.
Awesome! If you ever have any questions feel free to PM me.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.