IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Google considérerait Swift comme un langage « de première classe » pour Android
L'OS mobile de Google pourrait-il basculer de Java à Swift ?

Le , par Michael Guilloux

376PARTAGES

5  2 
Quelle est la meilleure alternative aux API Java d’Oracle pour Android ?
Je préfère continuer avec Java via l’approche OpenJDK
41 %
Swift est une meilleure alternative à Java pour Android
38 %
Autre (à préciser dans les commentaires)
10 %
Kotlin semble être beaucoup plus intéressant
3 %
Pas d'avis
8 %
Voter 39 votants
Un média US rapporte que selon ses sources, Google serait en train d’étudier la possibilité d’un système Android avec Swift, le langage de programmation multiparadigme d’Apple, comme un langage de « première classe ». Cela veut-il dire que Google envisagerait la possibilité de faire basculer Android de Java vers Swift ?

Pourquoi cela serait-il possible ? Cela fait maintenant six ans que Google est trainé devant les tribunaux par Oracle qui exige que le géant de Mountain View lui reverse des sommes énormes pour violation de droits d’auteur relatifs à des API Java. Ayant utilisé des éléments de base de Java dans son système d’exploitation mobile, Google est accusé par Oracle d’avoir copié dans Android « la structure, la séquence et l’organisation » de 37 API Java, sans autorisation. Les deux parties devront encore comparaître le mois prochain devant les tribunaux.

Pendant ce temps, Google a déjà commencé à explorer d’autres pistes pour ne plus être confronté à ce genre de situations à l’avenir. Pour les prochaines versions d’Android, le géant de la recherche en ligne a décidé de remplacer son implémentation des API Java par OpenJDK, la version open source du JDK d’Oracle. « Dans notre version d’Android à venir, nous avons prévu de retirer les bibliothèques du langage Java d’Android pour nous orienter vers une approche basée sur OpenJDK », a rapporté un porte-parole de la société en décembre dernier.

Si Google a donc décidé d’abandonner les API Java d’Oracle, pourquoi ne pas alors profiter pour se tourner vers Swift ? Dévoilé en juin 2014 au WWDC, le salon annuel d’Apple dédié aux développeurs sur Mac et iOS, Swift a rapidement gagné en popularité tendant à faire oublier Objective-C. De nombreux développeurs reconnaissent à Swift de rendre plus facile de construire des logiciels qui sont rapides et sûrs par conception. La montée en puissance du langage multiparadigme d’Apple est également observée au niveau des différents indices de popularité des langages de programmation (TIOBE, PYPL, RedMonk), alors qu’un analyste de RedMonk témoigne que « la croissance que Swift a connue est essentiellement sans précédent dans l’histoire de ces classements ». Également open source depuis décembre dernier, Swift semble encore avoir de très beaux jours devant lui, avec une communauté déjà dévouée.

Si Google officialise ses plans, il ne faudrait toutefois pas s’attendre à ce que la mise en œuvre soit effective de sitôt. Cela nécessiterait en effet une refonte complète de la plateforme Android, qui ne pourrait être implémentée que dans un moyen ou long terme. Il faudrait par exemple un runtime pour exécuter Swift sur Android, mais Google devrait également refaire entièrement sa bibliothèque standard pour supporter le langage de programmation d’Apple. Certaines API de bas niveau écrites en C++ ainsi que des API de haut niveau écrites en Java devraient être réécrites.

Cependant, faire de Swift le langage de base d’Android n’est pas une mission impossible. À la fin de l’année dernière, bien avant que Swift devienne open source, un développeur du nom de Romain Goyet est parvenu à faire fonctionner du code Swift sur Android en utilisant le kit de développement natif Android NDK. C’est donc une preuve que Google peut envisager une expérience au-delà de Java pour son système d’exploitation mobile open source.

Cette information ressort d’une réunion de discussion à Londres entre Google, Facebook et Uber à propos du nouveau langage d’Apple. Les deux autres entreprises, Facebook et Uber, envisageraient également de placer Swift plus au centre de leurs opérations.

Toujours dans la recherche d’un langage de première classe pour Android, Kotlin serait également ressorti dans les discussions internes chez Google. Kotlin est considéré comme un langage qui peut fonctionner partout où Java fonctionne. Il pourrait donc demander beaucoup moins de travail pour obtenir un langage autre que Java qui soit opérationnel pour Android. Comme Swift, Kotlin est orienté objet avec un accent sur la sécurité. En plus, il fonctionne avec Android studio, l’IDE officiel de Google pour le développement Android. Ce qui n’est pas le cas de Swift actuellement. Le problème, d’après les sources, est que Google estime que Kotlin est un peu trop lent lors de la compilation. La transition pourrait également être pénible pour les développeurs par rapport à Swift.

Source

Et vous ?

Que pensez-vous d’adopter Swift comme langage de base pour Android ? Qu’en est-il de Kotlin ?
Pensez-vous qu’il s’agisse d’une meilleure alternative que l’approche basée sur l’OpenJDK ?

Voir aussi :

Un développeur parvient à faire fonctionner du code Swift sur Android, en attendant la sortie de Swift sous licence open source

Bientôt le portage de Swift sur Android ? Un contributeur présente « le premier exemple d'une compilation croisée à l'extérieur de Darwin »

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de GilbertLatranche
Membre averti https://www.developpez.com
Le 11/04/2016 à 15:41
Citation Envoyé par Mouke Voir le message
Quant à l'idée de proposer Js : Non. Déjà parce que niveau perfs y'a déjà des solutions C++ en Android, donc les perfs d'un pauvre langage de script hein. Ensuite Js ça reste un langage bricolé avec plein de défauts graves qui seraient une régression par rapport à Java : Js est mal documenté, Js est confus, Js est mal maitrisé, Js est pas facile à débugger, j'en passe les meilleures.
+1.

Les délires de la commu Javascript, ça va bien 2 minutes.
9  1 
Avatar de Mouke
Membre confirmé https://www.developpez.com
Le 11/04/2016 à 14:11
Je suis pas convaincu de cette idée. Java possède l'atout d'avoir un écosystème ultra complet, d'être maitrisé et connu par ses utilisateurs. C'est un langage propre, qui impose la rigueur.

Swift est un langage encore mal connu, trop jeune, sans un écosystème réel et sans intérêt autre que iOs d'un point de vue professionnel.
La force d'Android, c'était qu'en utilisant Java, on pouvait très facilement apprendre les bases du dev' Android vu que Java est un langage déjà répandu, aussi bien en milieu scolaire que professionnel.

Quant à l'idée de proposer Js : Non. Déjà parce que niveau perfs y'a déjà des solutions C++ en Android, donc les perfs d'un pauvre langage de script hein. Ensuite Js ça reste un langage bricolé avec plein de défauts graves qui seraient une régression par rapport à Java : Js est mal documenté, Js est confus, Js est mal maitrisé, Js est pas facile à débugger, j'en passe les meilleures.

Donc personnellement je pense que rester sur une base Java/C++ c'est la meilleure option : Java pour les applications "classiques" avec toute sa force (rigueur, gestion de dépendances, puissance, écosystème, simplicité, performances par rapport à un langage de script), C++ quand l'application a besoin de grosses performances et d'optimisation (comme un jeu, par exemple), quand Java ne suffit plus.
8  3 
Avatar de marc.collin
Membre émérite https://www.developpez.com
Le 11/04/2016 à 14:03
Ils vont passer à openjdk, il y a déjà un bon travail à faire de leur part et il pourrait ensuite passer à swift. Un autre changement.

L'écosystème de Java est de très loin supérieur à swift, ne serait qu'en outils de dev, framework, librairie et nombre de développeur.
Passer à swift c'est faire table rase de tout ça. Alors que passer à openjdk règle le problème à Oracle.

Je doute fort qu'oracle est la somme demandé pour 37 api qui ne sont pas primordiale, le passage à openjdk semble s'est fait rapidement.

Ne pas oublier que si Oracle gagnerait, c'est tout le domaine logiciel américain qui en souffrirait au niveau de l'interopérabilité
3  1 
Avatar de abriotde
Membre chevronné https://www.developpez.com
Le 11/04/2016 à 18:46
Le but est de mettre la pression sur Oracle pour montrer qu'il perdrait plus que Google en perdant Androïd car Java, à part sur Androïd est en perte de vitesse.

Mais non, Google ne passera pas sur Swift, il faudrait réécrire toutes les applications (outre le fait de réécrire tous le coeur Androïd)... c'est trop de travail. Par contre oui, Google passera sur OpenJDK ou C++ pour se libérer totalement d'Oracle. Le problème fondamental est que les "brevets" que revendique Oracle n'en sont pas vraiment ce sont des "idées" alors il y aura toujours une faiblesse. Et Google serait donc bien tenté de changer de langage mais il ne le peux pas.
2  0 
Avatar de bbalet
Membre actif https://www.developpez.com
Le 14/04/2016 à 14:07
Go peut être cross-compilé pour Android et iOS.
Très performant (environ 15%-20% par rapport à C).
Implémente un ramasse-miette.
Pensé pour la programmation concurrente.
Et une refonte des API leur permettrait de se débarrasser de tout problème de procès.
2  0 
Avatar de archqt
Membre émérite https://www.developpez.com
Le 11/04/2016 à 12:10
Ils auraient du faire comme BlackBerry, interface compatible Qt. Et description en QML. Cela aurait évité un procès, permis de faire du cross-plateforme. Free s'y est mis pour programmer la freebox. Après un "binding" vers un autre langage aurait été possible aussi.
1  0 
Avatar de Mouke
Membre confirmé https://www.developpez.com
Le 12/04/2016 à 10:19
Citation Envoyé par TiranusKBX Voir le message
c'est vôtre avis très bien mais le seul fait réel que vous citez est "Js est pas facile à débugger", le reste c'est de l'ordre de la querelle de cloché
Je pense qu'il y aurait un débat intéressant à ouvrir sur ce point, et que j'aurais beaucoup à apprendre mais ce n'est pas l'endroit pour ce débat.
1  0 
Avatar de 23JFK
Membre expert https://www.developpez.com
Le 12/04/2016 à 15:51
Le succès de swift c'est surtout l'absence de choix pour les développeurs sur Apple. Si google voulait vriament se débarasser de java, le groupe aurait les moyens de créer son propre langage maison... En fait, ils en ont déjà deux à leur actif : go et dart.
1  0 
Avatar de air-dex
Membre expert https://www.developpez.com
Le 14/04/2016 à 15:31
Swift langage de première classe pour Android ou comment remplacer "Google vs. Oracle" par "Google vs. Apple". Google n'aurait ainsi pas retenu la leçon. Comme le dit bbalet c'est Go qu'ils doivent choisir, ne serait-ce que pour avoir une tranquillité juridique.
1  0 
Avatar de 23JFK
Membre expert https://www.developpez.com
Le 14/04/2016 à 19:16
J'ajouterais que l'apparente clarté de swift me semble en grande partie due à sa jeunesse qui le préserve des pollutions induites par le "sucre syntaxique". Ça semble être une bonne idée pour les experts qui pissent du code depuis des lustres, mais pour un débutant, je pense que ça a tendance à compliquer inutilement la compréhension du code en lecture tant que toutes les variantes syntaxiques ne sont pas connues ; et depuis quelques années, chaque mise à jour majeur de java apporte son lot de sucre syntaxique à l'utilité douteuse.
1  0