Ce qui est plus facile à coder: Android App vs iOS App?

Je souhaite améliorer mes compétences en codage. J’ai donc prévu de rédiger une application mobile. Je dois choisir entre iOS d’Apple ou Android de Google.

mes antécédents: j’ai fait de la programmation de base en .Net, C / C ++, Python et PHP au collège; À propos de mon niveau de compétence, je ne connais que les concepts et la syntaxe de base. Mais ne peut pas écrire des applications complexes, si demandé 🙁

Alors décidé de parfaire mes compétences, et je voulais savoir ce qui est plus facile à apprendre pour une programmation n00b.

A) iOS qui utilise Objective C B) Android qui utilise Java

Je veux décider en fonction du niveau de difficulté

Ils sont tous les deux aussi complexes, donc cela se résume à ce que vous connaissez.

À en juger par ce que vous savez, le développement Android sera plus facile. La syntaxe sera proche de ce que vous reconnaissez déjà.

Objective-C possède une syntaxe OO différente de tout ce que vous avez répertorié dans votre publication. Cela prendrait un peu de temps pour s’y habituer.

J’utilise le développement pour iOS depuis un peu plus d’un an et pour Android depuis environ six mois. Les deux ont présenté leurs propres défis, mais à la fin de la journée, je dirais que toutes choses étant égales, iOS est plus facile à apprendre pour plusieurs raisons.

1) Interface Builder – Configurer votre interface graphique est beaucoup plus facile avec iOS car vous pouvez le configurer dans IB, puis créer un lien vers les objects de votre code. Économise beaucoup de temps. La chose la plus proche que possède Android est DroidDraw, qui ne lie pas directement au code et génère simplement un brouillon sur les fichiers XML de mise en page. C’est mieux que de créer les vues par programmation, mais cela ne correspond pas à la simplicité et à la robustesse d’IB.

2) API – Les API Apple existent depuis plus longtemps et ont été développées. Android est définitivement en train de rattraper, mais il y a encore beaucoup de domaines, en particulier dans les API centrées sur le mobile, où les API d’Apple sont meilleures en termes de disponibilité et de documentation. De nombreuses tâches de bas niveau peuvent être effectuées par des API de niveau supérieur, ce qui permet de réduire la barrière d’entrée.

3) Fragmentation du matériel et du système d’exploitation (ou non) – Apple fait beaucoup pour pousser la base d’utilisateurs à effectuer la mise à jour vers la dernière version iOS disponible pour tous les facteurs de forme (l’iPad bloqué en 3.2 est la seule exception). Vous pouvez très bien cibler la plate-forme matérielle iPhone et obtenir une compatibilité croisée avec l’iTouch et l’iPad avec très peu de travail supplémentaire. Android a un grand choix d’appareils, avec des modifications de système d’exploitation spécifiques à l’appareil, qui peuvent entraîner des tonnes de problèmes lors des tests. Il y a aussi les différentes tailles d’écran et les résolutions à traiter.

Je tiens à souligner que j’apprécie travailler avec les deux plates-formes pour différentes raisons, mais pour en revenir à une perspective plus facile à apprendre, je devrais voter pour iOS. Bien sûr, toutes les choses sont égales. La syntaxe d’Objective-C peut être difficile à prendre en compte, si vous êtes déjà à l’aise avec Java, certains concepts de base d’Objective-C seront nouveaux et prendront peut-être un peu de temps pour vous y habituer. la gestion car il n’y a pas de ramasse-miettes comme en Java. Et enfin, comme cela a été mentionné si vous ne possédez pas (ou n’avez pas access à) un Mac que vous ne pouvez pas programmer pour iOS.

Je ne suis qu’un développeur web, avec un petit peu de travail sur .NET (C # et VB), mon employeur souhaitait toujours lancer des applications sur iPhone et Android, car l’autre développeur était occupé par un projet majeur, mettre à l’épreuve pour apprendre à la fois Android et iOS (bien iPhone SDK à cette époque).

J’ai commencé avec iOS. J’ai lu quelques livres, téléchargé un tas de projets à partir de la référence du développeur Apples. Je dirais que cela m’a pris environ 2 ou 3 semaines avant que je ne devienne un peu plus à l’aise pour le développer.

Après un mois de développement de l’application sur iOS, mon employeur a voulu que je le transfère sur Android. J’ai donc fait le même processus que pour iOS, lu quelques livres, téléchargé un certain nombre de projets. Il m’a fallu beaucoup plus de temps avant de me sentir à l’aise dans Android. Je n’ai tout simplement pas compris au début.

Maintenant, après un an de développement pour les deux plates-formes, je préfère iOS. Je trouve leur documentation incroyable, et je trouve le codage amusant sur la plate-forme.

Je déteste le simulateur Android, il est juste trop lent, ne peut que tester sur le dispositif réel. Je trouve que coder pour cela une corvée. Je dirais qu’il me faut à peu près le même temps pour développer une application sur l’un ou l’autre appareil, mais j’aime bien le faire sur iOS. Tout clique juste pour moi

Je pense que vous posez la mauvaise question. Le langage de programmation fait peu de différence dans la difficulté de développer quelque chose. L’API et sa qualité documentée peuvent faire une grande différence. Si vous n’avez jamais effectué d’interface graphique, je pense que je commencerais par quelque chose qui n’est pas mobile car cela rend les choses plus difficiles.

J’écris des applications Android depuis quelques mois, puis je suis allé créer les mêmes applications pour l’iPhone. J’ai rapidement commencé à préférer beaucoup de choses sur le développement d’iPhone associé à Android (les données de base sont géniales, il est facile de conserver / transmettre des données complexes).

Il existe de nombreuses différences qui peuvent rendre la plate-forme simple ou difficile, mais tout dépend du type d’applications que vous créez. Certains projets peuvent être plus faciles à écrire sur la plate-forme iOS alors que d’autres, Android, sont plus faciles

Dans l’ensemble, j’ai eu plus de difficulté à apprendre le développement iOS que à celui d’Android.

Je commencerais avec l’incroyable App Inventor de Google, qui est le moyen le plus simple de créer des applications mobiles.
Lorsque vous utilisez App Inventor, au lieu d’écrire du code, vous concevez visuellement l’aspect de l’application et utilisez des blocs pour spécifier le comportement de l’application. Il ne nécessite aucune connaissance en programmation.
Vous pouvez trouver plus d’informations ici .

Les deux vont être tout aussi difficiles, mais de différentes manières. La difficulté ou la facilité d’utilisation d’un programme est généralement déterminée par les efforts du programmeur pour le rendre “facile à utiliser”.

Si vous ne pouvez pas programmer une application complexe, les chances sont bonnes que cela n’ait rien à voir avec vos compétences en matière de codage et avec vos compétences en développement de logiciels. Même si cela ne correspond pas exactement à votre question, je vous recommande de renforcer vos compétences là où elles sont les plus faibles.

La programmation représente probablement au maximum 20% d’un projet bien géré. Le rest consiste à décrire le problème à résoudre (c’est-à-dire à rassembler les exigences), à créer une architecture qui simplifie les morceaux de la solution et à les tester. Si vous pouvez coder, mais ne pouvez pas gérer un projet important ou complexe, c’est parce que vous devez développer vos compétences dans chacun de ces domaines (pas besoin d’être un expert, mais cela aide) et vous devez savoir comment ils fonctionnent ensemble. .

Une fois que vous aurez élargi vos connaissances à l’ensemble du processus, vous constaterez que les grands projets ressemblent à beaucoup de travail, mais chaque étape suivante est plutôt simple. Il y a beaucoup de façons de faire en sorte que tous ces éléments se produisent, un que je recommande est OpenUP .

Je code dans les deux langues et je pratique beaucoup et je dirais que vous pouvez faire beaucoup de choses avec le langage Objective-C, mais vous devriez avoir un C pré-connu. Si vous êtes un programmeur noob, je préférerais Java .

😉

Si vous connaissez .Net, C / C ++, Python et PHP, vous trouverez Java / Android un million de fois plus facile à apprendre qu’Objective-C. Les API d’IOS sont sympas, mais Objective-C est totalement différent de tous les autres langages grand public et franchement un problème si vous êtes habitué à .Net, Java ou C ++.