Where to go to start developing apps?

Hope this is the appropriate place for this but I'm interested in learning how to make my own game apps for smartphones and was wondering if anyone could guide me to a good place as to where to start.

Google just throws up a load of "buy my software to make apps" adverts so that doesn't help much.

What I've found so far is apparently Java is used to make android apps and other programs such as codeX are used for making ones that will work on apple products.

My first reaction is to just start going through these video tutorials on Java app producing. http://www.youtube.com/watch?v=SUOWNXGRc6g&list=PL2F07DBCDCC01493A&index=1

However if anyone knows anything else obvious I should be doing/learning I would appreciate it.

Thanks in advance

P.s. I take it there is no way to make an app that will run on both an android device and an apple one with the same code?

Oddwired: P.s. I take it there is no way to make an app that will run on both an android device and an apple one with the same code?

There is and you can easily find it with google - http://stackoverflow.com/questions/3045477/android-iphone-single-codebase-cross-development -

Oddwired: I take it there is no way to make an app that will run on both an android device and an apple one with the same code?

If you want to write completely native apps, then you'll generally have to use Java for Android apps, and Objective-C for iOS apps.

If neither of those appeal to you - there are a couple of other options.

One is Ansca Corona SDK - http://coronalabs.com/ - the language it uses is Lua, and isn't that difficult to pick up. Depending on what kind of app you are planning to write, it may be perfect for your needs. It really excels for making multimedia and gaming applications (and typically, if you can excel at that, everything else is cake).

Another option - again, depending on what you are trying to develop - is something called PhoneGap - http://phonegap.com/ (the open-source version is called Apache Cordova - http://cordova.apache.org/); basically, you code your app in DHTML with HTML5 and javascript - then it is executed by a "wrapper" that is essentially a cut-down version of the native browser, with a library of "hooks" to allow you access to many (but not all) of the native functions of the mobile device. If you need more support than what is available with the system, there are ways to write native plug-ins to the system and include them with your project.

Many people use this option, coupled with jQuery and jQuery Mobile (or another mobile framework) to make a complete solution. It has its drawbacks, the biggest being that the resulting "app" isn't really an app - more like a full-screen browser faking an app - but if you design your app right, and really code tight, it can be pretty amazing what is possible to create (especially if you start playing around with websockets and/or ajax to a back-end server). It's only so-so with multimedia, though - tending to work better for "apps" that are more data centric.

There are some MOOCs about phone app development. I'm currently trying to take https://class.coursera.org/android-001/ which is (so far) pretty technical and not very game oriented. This is supposedly easier: https://www.coursera.org/course/androidapps101 I've seen similar classes for iOS go by, um: http://www.mooc-list.com/course/mobile-applications-development-saylororg (I thought there was one from Stanford, too, but I don't see it.)

Java for one objective c (why?? Whyyy apple why!) For the other.

I decided to learn java myself and develop for android, I hate the way java is structured, all the try, excepts, crashing if you don't give it the right permissions, the fact that the app will terminate if it becomes unresponsive, the lack of asynchronous sockets (you need to thread everything) just well I hate it but it's an evil I must learn!

If it had windows style messaging life would be nice.. so the ANR and how everything must be threaded or it can crash is a downer.....

To answer your question.... if you want a write once, compile once and then distribute it to both android and ios, take a look at delphi XE5 I like it but my computer is getting on the tad old side so I stuck with java (for now) but Delphi will allow you to write apps for all the major platforms without you lifting a finger...

But, it's bloated, all of it's runtimes are embedded into the apk file, while it's true you could knock up a program in 5 minutes vs a few hours in Java, it comes at a cost in filesize...

When I make a fortune from java, I'll buy a super computer just so I can compile and run apps from delphi xe5 :)

Java for one objective c (why?? Whyyy apple why!)

Excuse me, but Apple was first. (I had in mind that Apple "Smart Phones" programmable in Objective C were out before Android phones programmable in Java, but apparently Objective C also appeared LONG (12 years!?) before Java as a language, as well.)

And you left out the Windows Phone, which is programmed in ... C#

Apple was first at what?...

I never said anything about being first!

I used to develop iPhone apps and was looking at,,, http://phonegap.com/ but then I discovered arduino and more fun stuff then Xcode ;)

use the conventional tools I mean the eclipse for java and the xcode for iOS PERIOD. I code for Android & Windows(I started my life with windows app development)

the lack of asynchronous sockets

perhaps AsyncTask makes it more smoothened.

Excuse me, but Apple was first.

So What IBM was first but got seconded by Bill, The one who makes things better and more open source hits the shot, thats it.

The question was "why, Appple, why?" And my answer was "because there wasn't any example of another way to do it." (well, PALM and maybe blackberry, I guess (was there a blackberry development environment for normal people? Palm's was actually sort of nice...)

The question was "why, Appple, why?" And my answer was "because there wasn't any example of another way to do it."

Well you seemed very very eager to put the infected fruit at first place so I pointed out ,there would have been definitely another way to politely put it forward without looking like a Apple aficionado.