Vous voudriez vous lancer dans le développement d’applications mobile, et vous ne savez pas trop par ou commencer?
C’est bien normal.
Posons les bases:

Android c’est du Java , c’est un langage Orienté Objet, gratuit, assez rependu. ( on ne va pas entrer dans les détails de programmations dans cet article )
iOS ( iPhone ) c’est sous Objective-C et on code plus facilement sous xCode ( l’ IDE )
Le gros probleme d’iPhone est que pour coder une appli iPhone… il faut un Mac! ( ils ne perdent pas le nord chez Apple )
Ce qui n’est pas le cas pour Android, vous codez avec ce que vous voulez ( ceci dit éviter le 286 qui traîne dans votre cave. )

Le petit soucis est que pour rendre une application possible sous ces deux plateformes il faut coder 2 fois ( et donc connaître aussi 2 langages de programmation )

C’est la qu’interviennent les frameworks.
Il en existe quelques uns ( gratuits ) qui sortent du lot:
Titanium
Titanium logoLeader, dans le domaine. Vous codez en Javascript/CSS/HTML et de plus on utilise facilement les Interfaces native du mobile.
Pour Android/iPhone/Blackberry

PhoneGap
PhoneGap va moins loin dans les options cependant il couvre plus de plateforme: iPhone, Android, BlackBerry, Symbian et Palm. Là aussi, on code en Javascript/CSS/HTML

La liste est plus ou moins longue mais ces deux là ont une communauté assez importante.

Sachez aussi, que pour les flasheur, Flash CS5 exporte des applis iPhone & Android

Les framework nous facilitent grandement la tâches, cependant, ceux ci sont ( bien ) moins complet, puisqu’il faut qu’un élément de la plateforme A fonctionne sur la plateforme B.
Rappelez vous de vos cours de Mathématique, c’est un peu comme rechercher le plus petit dénominateur commun.
De plus c’est une couche en plus: donc moins rapide à l’exécution d’éléments qui se déplaceraient , je pense notamment aux jeux.