How to start building mobile apps?
I want to move from building simple php based websites to simple mobile apps (android, iOS, doesn't matter). There's no shortage of tutorials online but after an hour into the most basic tutorial I slowly get overwhelmed by how much has happened in web/mobile development and how depressing it would be to start at the "hello world" stage again!
What I'm looking for is 1) some assurance this is normal for techies at heart who havent been active in a while, and 2) some no-nonsense guides, tutorials that will quickly get me up to speed on mobile dev basics and help me get something out the door and on a device. I think once I'm over the initial hump it will get easier and come naturally but at the moment the sheer magnitude of what I don't know scares the bejesus out of me! Perhaps there is a meet up I can leverage of similar like minded people who are looking to kick start their coding/creative side again?
Tl;dr I'm a 30 something ex coder, want to learn mobile development, overwhelmed by how much I don't know, need help getting started.
9 comments
[ 3.4 ms ] story [ 30.9 ms ] threadIf you get LAMP development and OOP, most things haven't changed. Java is helpful to learn, Ruby/Rails and frameworks work like template engines so if you get that concept you should pick up MVC pretty quick.
If you're going to build apps on mobile my suggestion is to work in iOS. There is lots of code out there to do just about anything you want to do.
I'm building an app in .net for my windows phone just to see how it works. Its very easy and they deploy really easily. So you might want to look there too if you have .NET experience.
I hire for a global tech organization, and I'd just like to give you a little bit of insight:
1. Don't use middleware unless you have to. Your salary will be lower, and you won't get to work on 'as' amazing things. This includes Xamarin, PhoneGap, Trigger and all the things in between
2. Pick one first. iOS or Android. Don't dual-learn. It'll take you longer. Get a decent foundation on one first, and pick the one that makes more sense to you from a language point of view. (hint: Objective-C is weirder than it looks, Java is insanity)
3. I've hired people who had less than 1 year experience with mobile development who have subsequently turned into extremely senior developers. It's totally possible buddy.
4. Reading is (mostly) useless to form a foundation. Pick a project, work on it, scrap it, begin again with newfound knowledge and keep doing that until you feel comfortable with the concept of creating mobile apps.
Hope that helps ;)
Did they have < 1 year professional experience or experience through side projects, reading, etc?
With iOS, ignore older tutorials and always start with the most recent stuff. If you find code that's from, say, pre-2013 even, you'll find non-ARC stuff, people going through all kinds of hoops, a resistance to use storyboards, and in some cases, you'll be solving problems Apple already solved.
I think there is some online Stanford course that is pretty good that'll take you 2-3 days to get through to not feel so "hello world."
Also, one last note: Don't read everything and then try to make something. It's painfully boring. Try to build something complicated right off the bat and read to make that happen. A lot of iOS stuff is painfully boring to read about, but crazy fun to rip apart and break in XCode.
I am also learning Mobile dev (Android) in my spare time. Although I program all day long, I still was not able to pick up Android easily. I tried a few free tutorials online. Also bought a few books. But I would get bored easily and stop learning. Or I would find information overwhelming.
Now I am using Treehouse site. Their videos are pretty good, you build interesting apps and they explain some of the concept better. Their badges are kind of cheesy but also motivating.
They are $25/month though. But you can get 2 weeks free trial and check out as much as you can.
There are a ton of samples and open-source mobile apps. It's a whole lot easier to pick one of those up and start messing with it than it is to start from a blank slate app template.
It took me almost 6 months to submit my first iOS app and I'd done plenty of C/C++ and client-side UI work. It takes time to get moving and iOS can be frustrating as hell between the odd syntax of Objective-C and UIKit. Android is an easier transition for most developers.
Now pick a super super simple idea (hit a button make an image appear type simple) and try to do it on your own.
Then do 3 more tutorials on http://www.raywenderlich.com/
Try to do your super simple idea better, or with one extra feature.
Get the Stanford iOS course or Treehouse and follow that all the way thru.
Do you super simple idea again but with another extra feature.
You will be well on your way. Good luck.
Now on to actual help. Building mobile apps can be intimidating just by the number of platforms. Beyond the www.raywenderlich.com and www.codecademy.com links, you should check out something like Apache's Cordova (cordova.apache.org) if you already know CSS and JavaScript. This way you can easily build an app for any platform.