42 and something new?
August 4, 2011 12:23 PM   Subscribe

With no background, how long will it take to build and manage an android app from scratch?

I currently work as an account manager for a government contractor who in the current political climate will undoubtedly see some contraction of funds in the near future, so time for an exit plan. I have always been a bit of a computer guru, but more like an gifted amateur than trained professional. I am thinking of going into App development, I have one good idea and 2 simple cheesy ones. starting from scratch what kind of time frame am I looking at,

I know HTML, minimal Python, no java
posted by kanemano to Education (13 answers total) 12 users marked this as a favorite
 
Plan to spend about a month on your first, fairly simple app. Simple apps after that will take anywhere from a weekend to a couple weeks. Complicated apps will take much longer, possibly up to six months if the idea is quite ambitious and you need to work with networking or performance constraints.
posted by michaelh at 12:47 PM on August 4, 2011


I asked my brother since he has a job programming android apps. He says it would depend on how fast you can crash course through Java and Android SDK. The apps are programmed in Java so you pretty much have to learn it if you want to program. He then said he would give you about three months minimum but most likely longer as it all depends on the app.
posted by Deflagro at 12:48 PM on August 4, 2011


You might want to look at PhoneGap instead of the official Java SDK, especially if you already have some web experience.
posted by damn dirty ape at 12:53 PM on August 4, 2011


It depends entirely on the complexity of the app and the complexity of what you're trying to accomplish. A game is going to take a lot longer than something that displays web-service based data (i.e. something displaying your Facebook friend feed, or Netflix instant queue), which is going to take longer than, lets say, a sound board that plays fart noises.

I would study up a bit on the Android Java classes, the Android framework, and how everything fits together. Depending on how familiar you are with general programming concepts, learning the framework could be easy or it could be incredibly hard. I'm not sure how much help your knowledge of HTML is going to be (certainly can't hurt) for Android development, but I think your exposure to Python will help. The biggest difference between Python and Java is that Python is a weakly-typed dynamic language, whereas Java is a strongly-typed static language. This basically means that in Java you have to keep better track of your object types (for example, 2 and "2" are not equivalent in Java, whereas they could be interpreted as equivalent in Python. In Java the first is of type integer, where the second is of type string) and you have to go through a compile step, rather than just running a script like you would in Python.

I would say if you're at all competent with programming and you're trying to create something that's not too complex, it would probably take you a few months to come up to speed and produce something. If you're having a hard time grasping the concepts of some of the tutorials, it could take you a lot longer. App development on the Android platform is a relatively easy exercise if you already have a background in object oriented programming, but it can be a steep climb if you lack that background or have a hard time learning the fundamentals.

You might want to look at PhoneGap instead of the official Java SDK, especially if you already have some web experience.

I'm pretty sure if you use something like PhoneGap, you won't have access to the native features of Android so you'll be limited to what you can deliver over HTML. You may or may not care about this limitation.
posted by Fidel Cashflow at 12:57 PM on August 4, 2011


Phonegap provides support for some mobile APIs. I'm not well versed it in, but its not stricly an HTML5 application.
posted by damn dirty ape at 12:59 PM on August 4, 2011


Phonegap provides support for some mobile APIs.

Ah, I didn't see that. Might be a good option then.
posted by Fidel Cashflow at 1:08 PM on August 4, 2011


You should be programming for iOS, not Android.

And you should allow for at least 6 months from start to finish for a decent app to be completed if you are learning as you go.
posted by eas98 at 2:18 PM on August 4, 2011


And I should add that the reason I said iOS over Android is due to the larger app market, not personal preference.
posted by eas98 at 2:18 PM on August 4, 2011


Response by poster: eas98 I prefer Android over iOS due to the rudimentary support and smaller market, my thinking is that it will be easier, to launch, refine, then relaunch a more polished product and not get lost in the stream.
posted by kanemano at 3:10 PM on August 4, 2011


You can write apps for Android in Flex, which is much, much easier as far as the language and project set up, but... i'm not sure learning ActionScript now is a good way to stay relevant.

I find the Android SDK to be pretty damn fussy. Once you learn Java, the SDK will take a while to master.
posted by klanawa at 3:52 PM on August 4, 2011


I find the Android SDK to be pretty damn fussy. Once you learn Java, the SDK will take a while to master.

This is so true.

Especially if what you're doing involves audio or multitouch.
posted by Netzapper at 4:15 PM on August 4, 2011


Best answer: Just saw this - Standford is offering their intro to computer science classes online for free.
http://see.stanford.edu/

Looks like Java is what they use to teach.
posted by COD at 4:51 AM on August 5, 2011 [1 favorite]


I had some time to play with phonegap and it makes mobile development pretty darn easy. You can hook into some mobile APIs and build what's essentially one large HTML page with javascript doing all the dynamic elements. I imagine you could sit down with a good book on javascript and get into the phonegap examples and build something pretty quickly. Phonegap doesn't support native widgets natively, so its going to look like a webpage for the most part, but there is a NativeControls plugin that supposedly can bring in native widgets. You app can also be ported over to iOS or WP7 or BB pretty easily too. It does tie your hands quite a bit compared to native development, but its easy and kinda fun.

Also, Flash CS5.5 can now export to iOS and Android. So you could learn flash/actionscript and compile to these platforms. I haven't played with this yet, but supposedly it works. Its not free and there's probably a lot of good reasons not to spend the next few months learning actionscript/flash considering this technology is probably dying off, but it might be fun to make flash stuff and see how well the export to mobile feature works.

Of course, you can learn the native SDKs, but I imagine they might be a little daunting for the beginner. My take on learning programming is to start with a weakly typed language that allows you a lot of room for mistakes like Python (decent free book here) or PHP (if you're doing web). At the very least you'll need to understand things like if, for/while loops, functions, basic APIs, arrays, Object Oriented Programming, basic SQL, etc.
posted by damn dirty ape at 10:27 AM on August 10, 2011


« Older Lets talk about - something, somewhere   |   help me order myself to order right! Newer »
This thread is closed to new comments.