Developpez.com

Une très vaste base de connaissances en informatique avec
plus de 100 FAQ et 10 000 réponses à vos questions

Développer pour Android sans Java bientôt possible
En C++ grâce à la 5ème révision du Native Development Kit

Le , par Idelways, Expert éminent sénior
Développer des applications pour Android 3 (ou ultérieur), entièrement en C++, sans la moindre ligne de Java sera bientôt possible d'après un billet publié sur le blog officiel des développeurs Android par Chris Pruett.

Une nouvelle qui devrait surtout intéresser les développeurs de jeux vidéo 3D, un domaine où les applications Java affichent parfois des limites en terme de performances.

Cette nouvelle devrait aussi ravir les développeurs C/C++ et ceux qui ne s'inquiète de l'avenir de Java suite à son passage sous l'égide d'Oracle, à l'origine d'une action en justice toujours en cours, contestant l'utilisation de Java sur Android.

Utiliser des librairies natives en C/C++ à partir d'applications écrites en Java pour Android était déjà possible grâce au Native Development Kit (NDK) disponible dans sa première version depuis juillet 2009.

Depuis cette version, l'équipe du projet a intégré dans plusieurs révisions des fonctionnalités clés à son Kit de développement : le support de OpenGL ES, le débogage, le support de multiples ABI (interface binaire-programme) et l'accès aux bitmaps à partir du code natif.

Dans la cinquième et prochaine révision (NDK r5), Google introduira des APIs qui permettront aux développeurs de s'affranchir entièrement de l'utilisation de Java : "Avec ces outils, les applications visant Android Gingerbread ou ultérieure pourront être implémentées entièrement en C++" déclare Chris Pruett.

"Vous pouvez maintenant écrire des applications pour Android sans avoir à écrire la moindre ligne de Java" insiste Pruett.

Cependant, les applications développées de la sorte dépendront toujours de Dalvik (la machine virtuelle Java de Google) notamment pour les appels à l'API d'Android.

Source : le blog de Android Developer

Et vous ?

Que pensez-vous de cette nouvelle ? S'agit-il d'un début de réponse à Oracle ?
Allez-vous développer en C++ pour Android ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de air-dex air-dex - Membre émérite https://www.developpez.com
le 18/01/2011 à 12:52
Citation Envoyé par Idelways  Voir le message
Que pensez-vous de cette nouvelle ?

Bonne nouvelle. Se passer de Dalvik (à terme) ne peut être que bénéfique pour Android dont on pourrait tirer plus de puissance.
Avatar de Neko Neko - Membre chevronné https://www.developpez.com
le 18/01/2011 à 12:53
Je comprends pas bien pourquoi les appels aux API dépendent toujours de Dalvik
Avatar de gros_rougeot gros_rougeot - Membre du Club https://www.developpez.com
le 18/01/2011 à 13:31
On va enfin pouvoir coder sérieusement sur android sans avoir besoin d'écrire 5 lignes, ni utiliser 10 classes pour faire un truc simple.

Beaucoup sautent sur leur chaise comme des cabris en disant "java", "java", "java" ! mais qu'est cela (java) est lourd et au bout du compte pas des plus efficace.
Avatar de Guildem Guildem - Membre habitué https://www.developpez.com
le 18/01/2011 à 13:53
Te plain pas gros_rougeot, ils auraient pu faire leurs api en flash et intégrer la vm d'adobe

Très bonne chose de pouvoir bientôt développer en c++ directement, toute la puissance d'Android et surtout des smartphones/tablettes enfin disponible en totalité !
Avatar de Priato Priato - Membre habitué https://www.developpez.com
le 18/01/2011 à 14:40
Citation Envoyé par gros_rougeot  Voir le message
On va enfin pouvoir coder sérieusement sur android sans avoir besoin d'écrire 5 lignes, ni utiliser 10 classes pour faire un truc simple.

Beaucoup sautent sur leur chaise comme des cabris en disant "java", "java", "java" ! mais qu'est cela (java) est lourd et au bout du compte pas des plus efficace.

Pour moi, le problème avec Java c'est plutôt sa machine virtuelle(ici Dalvik) qu'il faut qu'il y ait derrière. Je code bien plus vite en Java qu'en C++, par contre niveau performance dans l'exécution, c'est pas trop comparable(avec OpenGL par exemple).
Le fait de passer par Dalvik, supprime, selon moi tous les avantages de passer en C++.
Je pense donc continuer à développer en Java sur cette plateforme...
Si par contre à terme, Dalvik venait à être supprimé (pour l'exécution de code C++), et que j'ai des applications lourdes à développer, je reviendrai à mon bon vieux C++.

@gros_rougeot: Tu trouves qu'il faut plus de lignes de code en Java pour faire la même chose qu'en C++? C'est pas plutôt l'inverse? (sans parler d'héritage multiple bien sur...)
Avatar de ratomms ratomms - Membre actif https://www.developpez.com
le 18/01/2011 à 14:53
Développer en C++ pourrait améliorer la performance des applications qui tournent sous Android. Mais du point de vue préférence,j'adore JAVA.
Avatar de Paul TOTH Paul TOTH - Expert éminent sénior https://www.developpez.com
le 18/01/2011 à 15:35
Ceci dit, on retombe sur les problèmes de compatibilité hardware, vu que tous les processeurs sous Android ne sont pas identiques
Avatar de - https://www.developpez.com
le 18/01/2011 à 18:48
j'espere surtout que cette fois ci il y aura la STL! elle n'était pas supportée dans le NDK r4
Avatar de abriotde abriotde - Membre éclairé https://www.developpez.com
le 18/01/2011 à 19:12
Pour un compromis entre le C++ et le java, rapport performance, efficacité, simplicité de développement, personnellement je préfère le langage Go de Google. Compilé, mais avec un garbage collector... c'est fort.
Avatar de lequebecois79 lequebecois79 - Membre confirmé https://www.developpez.com
le 18/01/2011 à 19:21
Citation Envoyé par abriotde  Voir le message
Pour un compromis entre le C++ et le java, rapport performance, efficacité, simplicité de développement, personnellement je préfère le langage Go de Google. Compilé, mais avec un garbage collector... c'est fort.

tu peux déjà avoir un GC avec le C++

ça va créer que plus de problème actuellement étant donné la variété de cpu qui font tourner android

Google n'a qu'à optimiser sa vm... voir droidbooster
Offres d'emploi IT
Spécialiste systèmes informatiques qualité et référent procédure H/F
Safran - Ile de France - Colombes (92700)
Architecte technique des systèmes d'information H/F
Safran - Ile de France - Évry (91090)
Architecte et intégrateur scade/simulink H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil