π
<-
Chat plein-écran
[^]

Android ou IOS ?

Discussions diverses, débats, sondages, parler de tout et de rien... mais en restant plutôt sérieux.

Android ou IOS ?

Message non lude AnToX98 » 14 Juil 2014, 08:57

Bonjour à tous.

Pendant ces grandes vacances, j'aimerais profiter du temps libre pour éventuellement attaquer l'apprentissage d'un nouveau langage de programmation. Quand je dis attaquer, ce n'est pas apprendre les bases, c'est vraiment approfondir avec des libs et tout.
La question est simple : quel est le langage le plus approprié, sachant que j'aimerais de préférence développer pour tablette et smartphone ?
J'ai moi même plusieurs samsung Android à ma disposition, et aussi un ipad/ipod touch...

Mais le dilemme c'est de choisir entre le java d'Android et l'Objective-C de IOS...
Voilà ma situation :
• J'ai un mac donc xcode installé, et j'ai entendu dire que c'était un outil génial surtout pour débuter, mais que malheureusement il n'y avait pas beaucoup de tutoriels.
• J'ai également Ellipse pour le java mais là les gens ont l'air de dire que c'est lent et mal foutu.
• Après, d'un point de vu professionnel , lequel de ces deux langages semble être le plus utile pour le futur, sachant que j'envisage de faire des études d'ingénieur et peut-être une prépa scientifique ?

Peut-être faudrait il que j'attaque le python plutôt ? Mais bon j'aimerais aussi que ce soit utile et que je puisse partager mon travail, et c'est vrai que ce serait vraiment bien de au moins utiliser mes propres apps/jeux sur mon smartphone Android...

Bref je suis plutôt confus et ainsi je vous consulte, vous, programmeurs aguerris.
Avatar de l’utilisateur
AnToX98Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 75.5%
 
Messages: 1022
Images: 15
Inscription: 19 Mai 2013, 16:54
Localisation: Paris, France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 1ere S

Re: Android ou IOS ?

Message non lude Lionel Debroux » 14 Juil 2014, 09:50

Je suis développeur professionnel depuis quelques années, dans trois entités différentes au cours du temps, et je peux te dire que d'un point de vue professionnel, il n'y a aucune ambiguïté :)
* Java est multi-plate-formes et largement utilisé comme tel, il reste très présent dans les développements en entreprise, et rares sont les cursus de programmeur professionnel où on ne fait pas de Java (ça serait criminel pour les élèves). Android utilise une variante un peu trafiquée de Java, et son propre modèle de déploiement (enfin, ça, c'est aussi parce que Java n'a pas de modèle officiel de déploiement), mais le langage Java d'Android est du Java;
* Objective-C reste presque exclusivement cantonné à l'écosystème fermé Apple. Au moins pour l'instant, son successeur Swift, qui est en train d'arriver, est exclusivement cantonné à l'écosystème Apple: aucune implémentation tierce.

La base installée d'iP* reste importante en volume, mais ça fait déjà un moment qu'ils sont nettement minoritaires par rapport aux Android dans les chiffres de ventes, ces derniers représentant 70% à 90% des ventes dans la plupart des pays.

Je n'irai pas jusqu'à dire qu'Eclipse est mal foutu, il a des features sympa et un certain nombre de plugins. Cependant, difficile en effet de dire qu'il est "rapide" quand beaucoup de plugins sont activés, même si on s'en rend moins compte avec un puissant x86_64 moderne :)
Des IDEs écrits en C/C++ (Qt Creator, KDevelop, Code::Blocks, etc.) peuvent être plus légers et plus rapides, mais n'ont pas la même étendue de features pour le Java qu'Eclipse, IntelliJ IDEA, NetBeans, et autres éditeurs dont le Java est le principal langage cible.

Il est important de connaître au moins un langage de type script, et de préférence un langage plus populaire que le Lua que tu connais déjà: Perl (l'ancêtre, quelque peu passé de mode mais il reste une formidable collection de modules sur CPAN), Python, PHP (en général utilisé pour le développement Web, mais utilisable pour certaines tâches de scripting), éventuellement Ruby.

Parmi les langages émergents, plutôt rapides tout en restant plus haut niveau que le C++, il y a par exemple Rust (Mozilla), Go (Google), ou encore D (qui existe depuis longtemps, il a plein de features, mais il n'est pas très répandu). Swift appartiendrait apparemment également à cette catégorie déjà bien fournie. Bien malin qui peut dire quelle sera leur popularité dans 5 ans...
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: Android ou IOS ?

Message non lude mdr1 » 14 Juil 2014, 14:23

AnToX98 a écrit:• J'ai également Eclipse pour le java mais là les gens ont l'air de dire que c'est lent et mal foutu.

Ils doivent confondre ou être habitués à des logiciels pas plus compliqués que le bloc-note puisque Eclipse est au contraire un IDE vraiment génial et très complet. Auto-complétion, documentation dynamique, débogage en consultant les valeurs des variables, regex, tout y est. L'interface est très bien pensée et très adaptée. Et il est très rapide puisqu'il fonctionne parfaitement sans ramer sur ma clef usb avec un ordinateur 1,5GHz monocœur sous Windows XP, avec des fichiers de plusieurs milliers de lignes chacun.
Image ImageImage
Avatar de l’utilisateur
mdr1Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 44%
 
Messages: 1083
Images: 12
Inscription: 28 Mar 2011, 00:00
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Je voyage toujours en première.

Re: Android ou IOS ?

Message non lude AnToX98 » 14 Juil 2014, 15:17

Merci de vos réponses, je vais donc plutôt opter pour Android :)
Avatar de l’utilisateur
AnToX98Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 75.5%
 
Messages: 1022
Images: 15
Inscription: 19 Mai 2013, 16:54
Localisation: Paris, France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 1ere S

Re: Android ou IOS ?

Message non lude Lionel Debroux » 14 Juil 2014, 15:29

Sur un single core à 1.5 GHz, Eclipse n'est quand même pas un foudre de guerre :)
Ca fait bientôt 7 ans que je suis passé à des machines plus modernes, mais j'ai utilisé Eclipse sur un Pentium 4 A ou B à 2.6 GHz de 2003, et il lui fallait quand même plusieurs dizaines de secondes pour se charger, même si j'étais loin d'avoir installé tous les plugins qui existaient à l'époque. Certes, ce n'est pas le seul IDE ou programme Java qui prend beaucoup de temps pour se charger, mais le chargement est quand même sensible.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: Android ou IOS ?

Message non lude Adriweb » 14 Juil 2014, 16:00

Effectivement, même sans Android (quoiqu'il y participe non négligeablement), le Java reste en tête des langages les plus utilisés ces temps-ci (ces dernières années et probablement les quelques années à venir, encore, mais ça on verra bien :P).
Mais je pense (et je suis probablement pas le seul) que c'est donc à la fois un avantage et un inconvénient pour un futur professionnel, que de choisir d'y s'initier :
Le + : Ben, la communauté étant très répandue, StackOverflow (principalement, mais pas que) saura probablement t'aider peu importe ta question.
Le - : Il y a professionnellement une concurrence monstrueuse - et forcément, des recruteurs vont faire des choix sur ce qui dépasse la simple (bonne) maîtrise du langage (encore faut-il bien le maîtriser en premier lieu, donc).

(Edit : donc oui, du côté professionnel, être bon dans un domaine spécifique est bien souvent plus intéressant que d'être bon dans un domaine où il y aura 42x plus de personne meilleures que toi... On a l'exemple de consultants qui sont bons dans un langage vieux de dizaines d'années mais qui tourne encore sur des bécanes "cruciales" et la maintenance doit être faite.... bonjour les honoraires :D)

Mon avis personnel sur Eclipse ? Pour rester poli, je trouve que c'est de la chiure en boîte et j'ose espérer qu'ils se sont amélioré (difficile d'aller dans l'autre sens, remarque) depuis la dernière fois que j'avais ouvert le logiciel). Peu importe ma config, il a toujours été lourd, lent, et surtout non intuitif (niveau design etc.).
Je ne tourne plus que sous Intellij IDEA (et ses dérivés pour les autres langages) et je ne m'en porte que mieux. (Un point faible est qu'il met (lui aussi) un certain temps à se lancer (à voir, sans plugins), mais bon, une fois que c'est fait, c'est fait, donc...)
Mais, dans le monde de l'entreprise, il faudra vraisemblablement savoir maîtriser Eclipse. Cependant, il n'est pas forcément obligé que le logiciel soit imposé, ça dépend des boîtes. Mais bref, je te laisse essayer les deux et te faire une opinion ;)

Autre chose : Cette année, j'ai pu suivre l'évolution d'un projet (c'était un autre groupe que le mien, je regardais juste ce qu'il se passait) consistant à faire une appli Android. Je passe les détails, mais ils en ont chié pour faire du dev. Android, une fois qu'on ignore les 42 fliptables dus aux crashs et comportements aléatoires d'Eclipse.
(Par ailleurs, je n'ai fait que voir rapidement le dev. Android, mais sérieusement, ca me parait archaïque au possible. La création d'interface à travers des fichiers XML qu'il faut modifier à la main parce que l'éditeur graphique n'y comprend plus rien ou ne marche tout simplement pas dans tels ou tels cas ? Non mais c'est quoi cette blague ? Je connais "un minimum" le dev. iOS et de ce côté la au moins, c'est infiniment mieux. On a beau dire tout ce qu'on veut sur l'écosystème relativement fermé d'Apple face à celui relativement ouvert de Google, quand les outils Android de dev. et le SDK en général sont ridicules (et pas fait par le constructeur pour le constructeur), ça donne pas envie...).
En fait, puisque t'es sur Mac, tu devrais lancer Xcode et créer un projet d'exemple pour iPhone, ensuite, tu fais 2-3 boutons/sliders/etc. et tu lances l'appli dans le simulateur. Note le temps que ça t'as pris. Maintenant, fait pareil avec Eclipse et le SDK Android :D


Concernant les langages de scripts, oui, c'est fort utile voire nécessaire. Le swift, c'est pas mal et tout ce qu'on veut, mais c'est pour le moment restreint à Apple, alors si ce n'est pas ton but ces temps-ci, autant regarder du côté des autres trucs plus populaires pour l'instant : python etc. comme l'a dit Lionel. Le JavaScript est aussi en forte hausse, notamment à cause de (/ grâce) la disponibilité des navigateurs partout. Et puisque tu es sur Mac OS, tu devrais aussi regarder du côté du Bash, qui marchera aussi (et d'autant plus) sur Linux.
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.2%
 
Messages: 14616
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Android ou IOS ?

Message non lude Lionel Debroux » 14 Juil 2014, 16:14

Faut quand même pas exagérer, le développement d'applications Android n'est pas complètement inutilisable, et comme tu le soulignes, on trouve des tutorials et des exemples un peu partout. Je me souviens d'articles dans Linux Magazine et/ou OpenSilicium (fr), par exemple.

Quand tu vois la merde en boîte que sont, hélas, la plupart des logiciels entreprise, pour des raisons de temps de développement trop faible et par des gens pas assez expérimentés, tu te dis que les recruteurs des grosses structures ne sont pas forcément très exigeants sur la connaissance de Java ou des autres langages...

J'aurais en effet dû mentionner le JS, même s'il est rare en ligne de commande. Même sur desktop, les développeurs sont de plus en plus nombreux à faire la partie présentation de leurs applications en HTML5 + JS + frameworks JS (JQuery, JQuery Mobile, Require pour la modularité, Backbone et autres frameworks MVC, etc.). Côté serveur, il y a Node.JS.

Autre aspect de l'informatique qu'il est utile de connaître par les temps qui courent (ce n'est pas trop tôt !): les techniques visant à la sécurité et à la sûreté de fonctionnement. Ca réclame du temps, et ça ne s'apprend hélas pas à l'école, comme beaucoup de choses. Bien sûr, un développement selon ces techniques est plus cher à court terme, parce que ça prend plus de temps à développer: facilement 20-30% pour pouvoir tenir un certain temps contre des adversaires compétents et bien outillés (entre les niveaux 3 et 4 de la classification ANSSI; il n'y a pas grand chose à faire pour résister aux attaquants de niveau 5, c'est à dire les organisations étatiques qui disposent de piles de 0-days et peuvent mettre des dizaines de personnes pendant des mois si pénétrer un certain système est considéré comme important). C'est meilleur à long terme, et ça peut être moins cher, car mettre en place ces techniques a des effets bénéfiques sur la maintenabilité.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: Android ou IOS ?

Message non lude Adriweb » 14 Juil 2014, 16:18

J'y suis peut-être allé un peu fort, mais c'est véritablement ce que j'ai vu à travers mes camarades de classe qui s'arrachaient les cheveux ... :P

Mais bon, j'imagine qu'il y a des alternatives logicielles (dommage alors qu'elles ne soient pas aussi/plus populaires) qui se débrouillent mieux que la référence qui vient à l'esprit de suite quand on parle d'IDE Java (pour Android)
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.2%
 
Messages: 14616
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Android ou IOS ?

Message non lude Lionel Debroux » 14 Juil 2014, 16:27

Les versions récentes de Qt permettent de cibler Android en C++ / QML, et d'ailleurs également iOS (mais je ne sais pas dans quelles conditions, je ne m'y suis pas intéressé, programmant pour Linux sur x86 / x86_64 / ARM de puissances diverses).
La programmation en code natif a toujours été accessible sur Android de manière tout à fait officielle (sur les iP*, il faut effectuer le jailbreak, comme sur Nspire), même si elle comporte quelques particularités à cause du kernel Linux trafiqué (il l'est de moins en moins au fil du temps, un certain nombre de changements d'Android sont tôt ou tard intégrés au kernel mainline) et surtout de l'implémentation spéciale de la libc à laquelle il peut manquer quelques features ou qui peut présenter quelques comportements différents des autres libc (de moins en moins au fil du temps, là aussi).
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: Android ou IOS ?

Message non lude Levak » 14 Juil 2014, 16:31

Je ne vais pas rentrer dans le débat actuel, car beaucoup d'idées que je partage ont déjà été évoquées.

Cependant, je vais juste rentrer dans le détail d'Android : Il était pas question de faire des applications natives sur Android ? J'en ai très vaguement entendu parlé et ça reste à un public j'imagine beaucoup plus expérimenté qu'un simple développeur Java.

edit : grillé :/
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Suivante

Retourner vers Autres discussions

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 60 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1396 utilisateurs:
>1365 invités
>26 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)