Développement mobile : des langages de programmation dédiés

Nous sommes tous concernés par le mobile, ses usages, et notre transformation progressive en petits esclaves de ce truc qui vit au fond de notre poche : le smartphone. En tant que dev, c’est un objet fascinant. Et en plus les offres d’emplois semblent pleuvoir. Arrive alors la question que tout jeune geek se pose à un moment ou un autre : quels sont les langages de programmation dédiés au développement mobile ? On t’en dit plus sur l’apogée du mobile, les deux principaux OS (iOS et Android) et leurs langages de prédilection. Si tu veux avoir un aperçu de Java, Kotlin, Objective-C et Swift, c’est ici que ça se passe !

Développement mobile : pourquoi est-il si populaire ?

Usagers sur leur smartphone dans le métro
Pourquoi le développement mobile est-il si populaire ? Parce qu’on est tous accro…

Au début du développement mobile, il n’y avait rien. Ou plutôt une cacophonie d’entreprises qui souhaitaient devenir les maîtres du monde sur le marché mobile, mais pédalaient un peu dans la semoule. C’était la bonne vieille époque où jouer à Snake sur son Nokia 3310 relevait de la merveille technologique.

À l’époque (nous sommes dans les années 1990), les premières applications voient le jour. On est encore très (trèèès) loin du smartphone couleur qui prend des photos, fait des vidéos avec trois caméras à la fois et réchauffe le café. Comment ça on exagère ? L’iPhone 11 fait bel et bien des vidéos avec trois caméras à la fois. Quant au café, c’est plutôt Samsung qui a réussi le pari il y a quelques années (coucou le Galaxy Note 7).

Toujours est-il qu’un beau jour de 2007, Apple lance le premier iPhone. Si aujourd’hui on ne comprend plus très bien pourquoi les smartphones à la pomme sont si spéciaux, à l’époque ils étaient révolutionnaires pour le citoyen lambda. Dès l’année suivante, Google décide de ne pas laisser Steeve Job être maître du monde tout seul. On se retrouve alors, dès 2008, avec deux market places servant au téléchargement, gratuit ou  non, d’applications. Nous avons nommé l’App Store (côté iOS) et Google Play (pour Android).

Enfin, les années 2010 ont vu les usages mobiles exploser (comme le Galaxy Note. OK, on arrête). Le web n’est plus desktop depuis longtemps. Il est en effet passé au responsive, puis au mobile first. Pour les développeurs c’est une bonne nouvelle : la demande en développement mobile est excessivement haute, et les salaires tout aussi enviables.

OK, alors on veut coder pour le mobile ! Cool. Mais au fait, on utilise quoi pour ça ?

Les motivations derrière la création du premier smartphone restent mystérieuses…

Développement mobile pour iOS

Apple a beau avoir été le pionnier, la firme a la pomme n’est plus le plus gros vendeur de smartphones au monde. La faute à Google, sûrement, parmi d’autres. La bonne nouvelle pour les développeurs souhaitant développer pour iOS est cependant que les utilisateurs d’iPhones sont de gros consommateurs d’applications. Ils n’hésitent pas non plus à en acheter, et dépensent donc plus sur l’App Store que ne le font leurs copains sur Google Play.

Du coup, la demande est haute, et les développeurs (nous) restent bien payés. OK, mais alors, j’apprends quoi pour ça ? On t’avait parlé il y a peu de comment choisir son premier langage de programmation, aujourd’hui on se focalise sur les langages mobiles ! C’est parti.

Rendons à Steve ce qui appartient à Steve, Apple a révolutionné le développement mobile.

Objective-C

Objective-C est un bon vieux langage de programmation qui a fait ses preuves. Il a aussi parfois montré ses limites (dites adieu à l’héritage multiple). Orienté objet réflexif, il est apparu dans la communauté de développeurs en 1983. À l’époque, C est l’un des langages les plus populaires, avec des systèmes entiers reposant sur lui, comme UNIX. Problème : C n’est pas orienté-objet, et pas mal de développeurs se cassent les dents pour y ajouter l’orientation objet. D’autres réussissent le pari. C’est notamment le cas de C++, puis d’Objective-C.

Beaucoup de jeunes développeurs considèrent Objective-C comme un reliquat du dev. Oui Objective-C est vieux, oui il est parfois poussiéreux. Mais il reste très largement utilisé sur les plateformes Apple. Pour ce qui est de l’emploi, qui dit large utilisation, dit offres d’embauche en pagaille. Ce n’est donc définitivement pas un mauvais choix. D’ailleurs, il a largement influencé son successeur, un certain Swift.

Swift

Swift est un langage plus jeune et donc plus moderne. Il faut dire qu’il n’est apparu qu’en 2014. Beaucoup de développeurs ont au début montré une certaine réticence face à ce nouveau langage (on n’aime pas le changement). Était-il performant ? Apple allait-il en assurer le support ? Certains ont cependant accordé le bénéfice du doute à Swift et ainsi pu apprécier sa simplicité d’utilisation. Swift est en effet un langage à la syntaxe efficace et bien documenté.

Côté performance, le langage n’a rien à envier à son aïeul. Au final, la plupart des ressources utiles sur le développement mobile pour iOS sont désormais publiées sur la base de Swift. Aussi, si à CodeKing on peut te donner un conseil dans ton choix, ce serait d’apprendre Swift. Peut-être en complément d’Objective-C pour être un dev mobile complet, c’est un choix qui se tient. N’apprendre qu’Objective-C peut par contre aujourd’hui vite montrer ses limites.

Développement mobile pour Android

Android ou iOS? La bataille est loin d’être terminée

Le royaume mobile aime à voir différents visages se succéder sur son trône. Après de sombres années sous le joug du roi Blackberry, connu pour avoir plus de touches que de fonctionnalités, est donc arrivé l’empereur Apple. Fini le superflu, tout était alors beau, brillant et efficace. Mais le pouvoir d’achat en a pris un coup. Le vizir Microsoft a alors fait beaucoup d’efforts pour devenir calife à la place du calife. En vain. C’est alors qu’est arrivé le jeune fougueux Google. Au diable les élites, le futur devait être accessible à tous. Les masses ont apprécié, mais gare à ne pas finir comme un vulgaire robot. À la casse.

Histoire de ne pas filer la métaphore politique trop loin, rappelons qu’Android est le système d’exploitation mobile le plus utilisé au monde. Il faut dire que la quasi exclusivité des constructeurs de smartphones autres qu’Apple l’utilisent. Pour accéder au graal de développeur Android, il faut alors se pencher sur deux langages.

Java

Faut-il encore présenter Java ? Langage généraliste, stable, qui a fait ses preuves, Java n’est pas dédié au mobile. Pourtant, Google en a fait le langage historique du développement pour Android. S’il n’est plus son préféré (on y vient), il est pourtant toujours tout à fait possible de développer une app complète en Java. Autre avantage : Java peut être utilisé pour à peu près tout et n’importe quoi.

Du coup, si tu doutes encore de vouloir faire du dev mobile toute ta vie, Java est un peu le super joker que tu peux choisir. En plus d’app Android, tu pourras facilement te tourner vers d’autres types de développement, pour tous les systèmes d’exploitation auxquels tu peux penser (Windows, Unix, Mac OS ou GNU/ Linux peuvent faire tourner du Java).

Kotlin

Kotlin est presque aussi neuf que Swift. En fait, son développement a commencé dès 2010 en Russie. Pourtant la première version stable n’arrive sur le marché qu’en 2016. L’attente aura surement été utile puisque l’année suivante, en 2017, Google décide d’en faire le second langage officiel du développement Android, au même titre que Java. À ce moment-là, Java est toujours le préféré. On ne déshérite pas son ainé sur un coup de tête. En mai 2019, c’est le drame. Java est destitué et Kotlin devient le langage recommandé par la firme de Mountain View. Depuis, l’écosystème Android est petit à petit optimisé pour Kotlin. C’est notamment le cas d’Android Studio, l’IDE de l’OS.

Pour toi petit padawan du développement mobile, le choix se trouve donc là. Kotlin devrait logiquement prendre de plus en plus d’importance au cours des prochaines années. Ce qui se présente de bon augure pour le marché du travail, soit dit en passant. Par contre, ça veut aussi dire que tu te spécialises. Ce qui est bien. Très bien. Mais plus clivant.

À toi de faire ton choix !