BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Oracle annonce la publication en Open Source de JavaFX pour iOS et Android

Oracle annonce la publication en Open Source de JavaFX pour iOS et Android

Oracle a dévoilé ses intentions de publier en Open Source ses implémentations iOS et Android de sa plateforme JavaFX « au cours des deux prochains mois », permettant ainsi aux développeurs d'écrire des applications multi-plateformes sur ces supports pour la première fois.

Richaird Bair, architecte en chef de la partie Client Java Platform à Oracle, a écrit dans un billet sur le blog FX Experience,

Une majorité d'entre vous ont dit qu'ils contribueraient à un port iOS / Android (via des rapports de bogues ou directement par des contributions de code) et nous redoublons actuellement d'effort pour que vous puissiez commencer à travailler dès que le code sera ouvert.

Les premiers éléments du port iOS devraient être disponibles la semaine prochaine, pour la release finale il faudra attendre les publications Open-Source requises de plusieurs éléments précis de la technologie JavaFX.

Quand Oracle a annoncé la publication en Open Source de l'intégralité de JavaFX à JavaOne l'année dernière, l'entreprise a également déclaré vouloir terminer cette opération avant la fin de 2012 – information que Bair accueilla comme « … une agréable surprise pour moi comme pour n'importe qui d'autre dans l'audience ».

Quelques 543,055 lignes de code, représentant 35 différents sous-projets, ont été republiées depuis. Bair déclare que l'équipe s'attend à publier le code restant de JavaFX Glass (toolkit de gestion de fenêtres), de Prism (moteur graphique de rendu de Scene), du moteur de rendu Web, de la bibliothèque d'image I/O et de ressources multimédia, dans un délai de 1 ou 2 mois. Le dernier point important restant est le moteur de rendu des polices de caractères javafx-font, qui repose sur une technologie propriétaire appartenant à Bitstream. Pour débloquer la situation, Bair a déclaré que son équipe travaille actuellement sur une solution pour remplacer la technologie Bitstream par des appels natifs à l'OS.

Dustin Marx, le principal ingénieur Software et architecte à Raytheon Company, souligne « qu'être capable de développer des applications iOS et Android avec JavaFX sera certainement un tournant pour JavaFX », une impression également partagée par Anahata Technologies.

Si ce projet réussit, les éditeurs de logiciels du monde entier seront capables à partir d'un unique code source de livrer des applications mobiles tournant sur iOS, Android ou Windows RT, ainsi que des applications desktop pour ordinateurs, fixes ou portables.

"Je suis impatient de voir ce que vous ferez tous grâce à cette contribution, et j'espère pouvoir utiliser de nombreuses applications Java sur mon téléphone / iPad dans un futur proche", dit Bair.

Il reste encore de nombreux challenges techniques et juridiques à relever avant de pouvoir accéder à des applications JavaFX sur le très contrôlé App Store iOS d'Apple. Concernant l'aspect juridique, les conflits entre les conditions imposées par Apple et celles d'Oracle sur l'usage de la licence GPL font apparaître certaines craintes. Les versions de JavaFX et du JDK sont licenciées sous GPL v2 avec une exception notable pour le traitement du classpath. Apple a retiré de l'App Store un port iPhone d'un jeu, GNU Go, qui était licencié sous GPL, en réponse d'une plainte émanant de Free Software Foundation (FSF). FSF soutient que les conditions d'utilisation de l'App Store contredisent la licence GPL v2, en particulier qu'une partie d'un logiciel téléchargé depuis l'App Store ne peut être utilisée sur 5 supports matériels différents. Sans surprise, plutôt que de changer les conditions d'utilisation, Apple a simplement retiré le jeu en question.

Aujourd'hui, Bair pense que « d'après sa compréhension du sujet », l'exception faite sur le classpath implique que vous devriez être capables de regrouper OpenJFX et OpenJDK (en dehors de quelques binaires sous une autre licence) avec votre application puis de compiler le tout sous votre propre licence en un unique livrable classique. Il y a un cas similaire pouvant servir de référence à ce sujet – Apple a autorisé une application sous OpenJDK, Cyberduck, sur le Mac App Store – mais Bair insiste lui-même sur le fait que, n'étant pas un avocat, il ne peut être sûr à 100% que cela soit si simple.

Techniquement, bien sûr, regrouper le tout dans un même livrable veut aussi dire que plusieurs copies de la JVM et des bibliothèques JavaFX se retrouveront sur le même support matériel, relativement restreint. La JVM en question est conçue pour être plus légère que la version complète – Bair informe : « Tous nos ports sont basés sur une version de JavaSE Embedded for iOS/Android qui est actuellement non publiée ». Nous ne savons pas bien sûr si cette version sera effectivement bien plus légère, nous devons attendre la publication. De plus, côté performances, les restrictions imposées par Apple sur les machines virtuelles avec compilation JIT représentent un véritable challenge pour les applications JavaFX.

JavaFX doit aussi faire face à une rude concurrence dans le milieu mobile. Les développeurs désireux de produire des applications multi-plateformes via des technologies Open Source peuvent déjà utiliser HTML5 ainsi que d'autres frameworks comme PhoneGap; tandis que pour les développeurs de jeux, JavaFX se présente comme un compétiteur sérieux face aux solutions propriétaires comme Unity et ShiVa3D. Néanmoins, même si les efforts de Bair et de son équipe sont louables, il est difficile de voir cette technologie susciter beaucoup d'intérêt tant qu'Oracle ne s'impliquera pas à livrer une version plus formelle de JavaFX pour les supports mobiles.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT