Selon un récent article L'iPhone a acquis un meilleur attrait qu'Android auprès des programmeurs. Je suis assez novice en Java et complètement profane en ObjectiveC. À votre avis, laquelle des deux pourrait me permettre de m'essayer ? quelle plate-forme me conviendrait ?
parce que j'ai des connaissances en java mais pas en objective c.
Réponses
Trop de publicités?J'ai les deux téléphones (iPhone et G1) comme utilisateur, mais j'ai choisi de développer pour la plateforme Android. Même si je suis un fanboy d'Apple, j'ai pris cette décision en raison de mon aversion pour la politique d'Apple (appstore, NDA, voir ci-dessus) mais aussi pour des raisons architecturales :
- Android permet d'intégrer très facilement d'autres applications à un niveau assez fin. Le partage de la logique applicative entre les applications se fait en utilisant des intents ( http://code.google.com/Android/intro/anatomy.html ).
- De plus, je veux prendre mon téléphone et commencer à lire les nouvelles, pas à les télécharger. Avec l'iPhone, cela n'est pas possible pour un développeur tiers en raison de l'absence de tâches d'arrière-plan.
L'iPhone est meilleur qu'Android dans les domaines suivants :
- nombre actuel d'utilisateurs
Android est meilleur que l'iPhone dans les domaines suivants :
- de nombreux fabricants de téléphones créent des téléphones, possibilité d'un très grand nombre d'utilisateurs à l'avenir
- aucune approbation nécessaire, aucune "censure"
- un environnement de développement agréable et facile à démarrer et un guide pour y accéder (discutable bien sûr)
- plus facile de communiquer avec d'autres applications et d'intégrer des applications comme Google Maps
- Possibilité de remplacer le composeur par défaut ou l'application "maison" par votre propre application.
- entièrement open-source
- possibilité d'avoir une application fonctionnant en arrière-plan
- les applications peuvent fonctionner en parallèle
- facile d'intégrer du contenu web
- beaucoup plus de flexibilité et de puissance en général
N'hésitez pas à me corriger et à suggérer vos articles dans les commentaires, nous en serions très heureux.
Je parle en tant que développeur iPhone actif avec quelques applications en cours de livraison, mais aussi en tant que développeur Java expérimenté avec un œil sur la plateforme Android.
Je pense qu'à ce stade, l'iPhone dispose d'un ensemble de bibliothèques beaucoup plus raffiné que la plate-forme Android. C'est en partie parce qu'elles empruntent beaucoup de classes de base au Mac, mais aussi parce qu'Apple a beaucoup réfléchi aux API qui sont fondamentalement axées sur le tactile.
Je ne suis pas sûr qu'Android ait le même engagement fondamental pour que tout soit centré sur le toucher (sans parler du multi-touch). Les appareils Android comporteront probablement tous au moins un certain nombre de boutons, voire même toujours un clavier physique.
En termes de développement, cela signifie que vous devez également décider du type d'application que vous allez créer. Si vous souhaitez exploiter au maximum l'interface tactile, développez pour l'iPhone. Sinon, vous pouvez envisager la plate-forme Android pour le degré de flexibilité qu'elle offre aux applications possibles.
Une question plus pratique est également la part de marché et le marché potentiel - il est indéniable que l'iPhone a une très grande base d'utilisateurs à ce stade, alors que nous ne savons même pas en détail à quoi ressemble le développement d'Android en termes de revenus provenant de l'équivalent Android de l'app store. L'importante base d'installation de l'iPhone est la raison pour laquelle tant de développeurs ont été attirés par le développement de l'iPhone à ce jour, et il se pourrait que la simple taille de la communauté de développement ait suffisamment d'élan pour continuer à croître indéfiniment à ce stade - tout comme le développement d'applications Palm l'a fait pendant de nombreuses années, même si d'autres organisateurs (et finalement les smartphones) les ont défiés. En fin de compte, c'est Palm qui a fait tomber Palm, et je ne vois pas Apple faire les mêmes erreurs de plate-forme qui ont paralysé Palm et permis à d'autres sociétés de leur voler le marché. Apple est bien trop concentré pour cela.
Pour ce qui est de savoir lequel est le plus facile à apprendre, à ce stade, Java et l'Objective-C disposent tous deux de très vastes bibliothèques qui sont bien plus susceptibles de consommer votre temps d'apprentissage que la simple syntaxe du langage. Heureusement, Java et Objective-C ont tous deux des bibliothèques très bien conçues, donc je ne suis pas sûr que vous puissiez vous tromper dans les deux cas.
Le langage Java disposera de plus de matériel de référence que l'Objective C, mais le SDK de l'iPhone dispose d'une plus grande documentation de la part de tiers et le restera probablement pendant un certain temps encore.
Court terme (facile à mettre en place, moins de choses auxquelles il faut penser), iPhone. À long terme (plus de compétences à développer et plus de choses à faire une fois que vous les avez), Android.
C'est un peu amusant de voir que cet article passe sous silence les dates de sortie comparées des plateformes qu'il compare.
Personne n'a mentionné le coût de mise sur le marché des applications iPhone. Vous devez vous acheter un Mac Mini ou un Macbook pour écrire une application iPhone. Pour la publier sur iTunes, vous devez payer un abonnement annuel de 99 dollars.
Donc avec l'option Mac Mini, c'est environ 600 $ pour commencer. Plus le livre optionnel sur l'Objective-C si vous voulez un moyen fiable d'apprendre, bien qu'il soit facile à prendre pour les développeurs C/C++/C#/Java.
Bien sûr, après avoir vendu ~1000 unités de votre application à 1$, vous avez récupéré votre argent.