juin37:43
Il y a des langages sur lesquels nous travaillons afin de porter leur bytecode pour la Dalvik VM, donc il ne sera pas question seulement du langage Java.
On pouvait le supposer, ou bien sinon le prévoir, au moins le prédire, Android va s’ouvrir à d’autres langage de programmation que le Java.
Cette citation est tirée d’une des réponses de Jason Chen lors des Google I/O. C’est d’ailleurs une phrase qui est confortée à plusieurs moment puisque Jason Chen insiste sur le fait qu’Android n’est pas une technologie Java et que la Dalvik VM n’est pas une machine virtuelle Java.
S’il on ne sait pas encore quels autres langages seront supportés par Android (C/C++, Python, ou même C# sont probablement les plus à mêmes de faire partis des langages choisis), il apparait maintenant très clair que le choix du langage Java n’existe pratiquement que pour attirer à Android tout les développeurs mobiles qui sont déjà très à l’aise avec cette technologie.
Les autres langages supportés auront eux probablement pour rôle d’amener les développeurs du monde PC vers le développement Android.
avr298:16
Rien de ce qui contribue à la diversité ou la fragmentation d’une plate-forme n’est dans l’intérêt [des développeurs]
Depuis maintenant quelques mois règne un étrange silence sur la planète Java mobile (J2ME). Ce silence vient d’être rompu par Rich Green, vice président exécutif de Sun. Et le message est clair, si l’entreprise à l’origine de Java n’est pas en colère, elle est en revanche inquiète pour sa technologie et les conséquences que les choix de Google sur Android entrainent.
En effet, inutile de le rappeler Android, ce n’est pas du Java, mais ça se programme en Java.
Par conséquent, Sun est particulièrement ennuyé de voir une sorte de nouvelle machine virtuelle arriver sur le marché car son objectif avec la technologie Java est de respecter le précepte « Write once, run everywhere ». C’est-à-dire que le même code doit pouvoir s’exécuter sur toutes les plate-formes Java.
Pour autant, Google assure quant à lui qu’Android n’est pas un problème pour ce principe, mais bel et bien la solution. Cette réponse vient du constat que la plupart des programmes J2ME ne sont plus, et depuis longtemps, « Write once, run everywhere ».
Cela étant, Android est-il lui-même à l’abri d’une fragmentation ?
avr1115:45
On trouve depuis récemment un guide des bonnes pratiques que doivent respecter les développeurs
Il est vrais, que les ralentissements constatés sur l’émulateur n’aide pas à évaluer la performances de nos applications.
Le guide aborde les points suivants :
- Avoid Creating Objects
- Use Native Methods
- Prefer Virtual Over Interface
- Prefer Static Over Virtual
- Avoid Internal Getters/Setters
- Cache Field Lookups
- Declare Constants Final
- Use Enhanced For Loop Syntax With Caution
- Avoid Enums
- Use Package Scope with Inner Classes
- Avoid Float
- Some Sample Performance Numbers
Liens vers le guide : Writing Efficient Android Code
Update
Nous aimerions remercier Aissen pour ses précisions :
Pour comparaisons, voici un certain nombre de recommandations pour le développement sur J2ME/JME. Vous y trouverez des informations similaires et complémentaires.
Chapter 10, Performance Tuning
Chapter 3, « Programming Strategies for Small Devices, »
http://developers.sun.com/mobility/midp/articles/garbagecollection2/
http://developers.sun.com/mobility/midp/articles/garbage/
http://developers.sun.com/mobility/midp/articles/threading2/index.html
mar918:45
Vous trouviez les conditions d’utilisation du SDK de l’iPhone limitatives sur le plan technique et tarifaire ?
Rassurez-vous, cela ne pourrait être qu’une mauvaise passade. En effet, Sun vient d’annoncer le développement d’une version de JavaME pour l’iPhone. Cette version sera distribuée gratuitement sur l’Appstore et permettra d’exécuter des applications Java a priori téléchargées de n’importe où.
Eric Klein, vice-président du marketing Java chez Sun a déclaré que qu’ils allaient faire en sorte que le maximum de fonctionnalités natives de l’iPhone soient implémentées et accessibles. La machine virtuelle devrait être disponible dés le mois de juin.
Pour rappel, un projet de machine virtuelle de type JavaME existe aussi pour Android, comme nous en parlions ici.