JavaOne 2012 : Oracle dévoile ses plans pour Java
Les préversions du JDK 8 et JavaFX Scene Builder 1.1 disponibles

Le , par Hinault Romaric, Responsable Actualités
JavaOne 2012, la plus grande conférence annuelle autour de la plateforme Java se déroule actuellement à San Francisco.

Oracle a profité de l’occasion pour dévoiler sa feuille de route pour Java et renouveler son engagement à faire évoluer le langage afin de rassurer les utilisateurs sceptiques face aux récentes découvertes de failles dans la plateforme.

Pendant ces prochains mois, Oracle travaillera essentiellement sur Java SE 8. Au menu : l’éditeur prévoit l’intégration des expressions lambda, du moteur JavaScript Nashorn (déjà disponible dans la préversion de NetBeans 7.3), les annotations, la nouvelle API « date and time » et bien plus.

Oracle a également officialisé le projet Sumatra, qui vise à mettre fin à l’utilisation des bibliothèques externes pour l’accélération GPU des applications Java ainsi qu’au processus de conversion entre Java et OpenCL (librairie multiplateforme qui permet d'utiliser les processeurs graphiques pour réaliser des calculs lourds). Le projet Sumatra sera disponible avec Java SE 8.




La préversion du JDK 8 peut déjà être testée sur le site java.net. La sortie de la version finale est prévue pour septembre 2013. On va regretter cependant le report à Java 9 du projet Jigsaw, qui devait ajouter au langage un système de module.

Java EE 7 (l’édition pour entreprise) est annoncé pour avril 2013 et apportera comme nouveautés : une API WebSocket, l’API JCACHE pour une mise en cache temporaire des objets Java, un modèle de programmation pour applications Batch et une API pour la manipulation des données au format JSON. Avec cette version de Java EE, Oracle proposera Glassfish 4.0 comme plateforme de référence.

En ce qui concerne sa plateforme de développement d’Applications Internet Riches JavaFX, Oracle envisage de passer de JavaFX 2.0 (la version actuelle) à JavaFX 8 lorsque sortira le JDK 8. Cette version de JavaFX disposera par défaut au niveau de l’interface utilisateur d’une boite à outils pour Java SE 8 Embedded. Une nouvelle API sera proposée pour la création d’interfaces utilisateur avec un meilleur support des balises HTML5, WebView et JavaFX Scene Builder 2.0.

JavaFX Scene Builder, l’outil de mise en page visuelle pour la plateforme JavaFX, qui permet aux utilisateurs de créer des interfaces utilisateur en glissant et en positionnant les composants à partir d'une palette dans une scène est actuellement disponible en version 1.1 développeur avec un support pour Linux 32 et 64 bits.

Toutes ces annonces montrent l’engagement d’Oracle à vouloir faire évoluer l’écosystème Java.

Télécharger la préversion de JDK8

Télécharger la préversion de JavaFX Scene Builder 1.1

La couverture de JavaOne par Bouye

Source : JavaOne 2012

Et vous ?

Que pensez-vous de ces annonces d'Oracle ?


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


 Poster une réponse

Avatar de la.lune la.lune
http://www.developpez.com
Membre Expert
le 03/10/2012 15:56
L'importance dans JavaFX8 c'est le support 3D en vrai et le support aussi de l'embarqué. Et vu que presque les syntaxe vont évolué vers Java 8 avec les expressions tous se nouveautés, de plus JavaFX sera une partie intégrant du jdk pas besoin d'installer un jre en plus du jre de java, voilà pourquoi ça va passer à la place de la version 3 à la version 8 pour aller avec java 8
Avatar de bouye bouye
http://www.developpez.com
Rédacteur/Modérateur
le 03/10/2012 21:51
Note : pour l'API Time & Date, l'équipe a dit hier soir qu'il ne sont pas à 100% sûrs de finir à temps d'ici aux deadlines imposées (j'en ai entendues deux distinctes : novembre et février, sans savoir précisément ce à quoi elles correspondent exactement).
Avatar de Voïvode Voïvode
http://www.developpez.com
Membre Expert
le 04/10/2012 0:25
Je suis globalement très emballé par ce que nous réserve le JDK 8, mais suis-je le seul à avoir un avis mitigé sur les expressions lambdas ?

J'ai cherché après plusieurs exemples sur la toile et en résumant (grossièrement) j'ai remarqué que cela permettait de simplifier le code, notamment en remplaçant les @Override pas beaux. Sauf que des parenthèses sorties de nulle part avec Java, ça ne me plaît pas beaucoup.

Pourriez-vous partager votre avis et, éventuellement, me rassurer ?
Avatar de bouye bouye
http://www.developpez.com
Rédacteur/Modérateur
le 04/10/2012 1:25
Grosso-modo là ils utilisent la même syntaxe que C#.
Perso, je préférais la syntaxe de JavaFXScript/Visage (note : le langage fonctionnel de JavaFX 1.0) où les closures s'écrivaient comme de bêtes pointeurs de fonction à la C, c'était bien plus simple à appréhender.

Mais bon... Un type de la team langage disait il y a 2 jours que, pour les lambda, ils avaient fait le choix de ne pas exposer les méthodes comme ayant des types à part entière, donc...
Avatar de ithel ithel
http://www.developpez.com
Membre confirmé
le 04/10/2012 14:09
Citation Envoyé par Voïvode  Voir le message
Je suis globalement très emballé par ce que nous réserve le JDK 8, mais suis-je le seul à avoir un avis mitigé sur les expressions lambdas ?

J'ai cherché après plusieurs exemples sur la toile et en résumant (grossièrement) j'ai remarqué que cela permettait de simplifier le code, notamment en remplaçant les @Override pas beaux. Sauf que des parenthèses sorties de nulle part avec Java, ça ne me plaît pas beaucoup.

Pourriez-vous partager votre avis et, éventuellement, me rassurer ?

L'intérêt des expressions lambda va bien au delà; par exemple auparavant quand on voulait ajouter un ActionListener anonyme à un bouton on était obligé d'écrire:
bouton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
/* do something */}
}
});

Avec les lambdas on aura plus qu'à déclarer le /* do something /* dans le addActionListener, tout le reste (la déclaration de la classe et de la méthode) sera déduit. Résultat un code plus simple à écrire et à lire.

Par ailleurs l'API Collection va être revue pour tirer parti de cette nouvelle manière d'écrire du code: il sera alors possible de manipuler des collections de données très facilement sans avoir à écrire de boucles for.
Par exemple: supprimer tous les objets d'une liste dont l'attribut x sera égal à 1 pourra être réalisé en une petite ligne de code
Avatar de Voïvode Voïvode
http://www.developpez.com
Membre Expert
le 04/10/2012 16:29
Citation Envoyé par bouye  Voir le message
Grosso-modo là ils utilisent la même syntaxe que C#.
Perso, je préférais la syntaxe de JavaFXScript/Visage (note : le langage fonctionnel de JavaFX 1.0) où les closures s'écrivaient comme de bêtes pointeurs de fonction à la C, c'était bien plus simple à appréhender.

C'est ce que j'ai cru voir, mais je n'ai pas vraiment d'avis là-dessus dans la mesure où Visage m'avait très moyennement emballé (même s'il y avait une certaine élégance dans la syntaxe).

À ce propos, il me semble avoir lu quelque part que les lambda Java ne seront pas tout à fait des closures…

Citation Envoyé par ithel  Voir le message
L'intérêt des expressions lambda va bien au delà […] on aura plus qu'à déclarer le /* do something /* dans le addActionListener, tout le reste (la déclaration de la classe et de la méthode) sera déduit. Résultat un code plus simple à écrire et à lire.

Un truc de ce genre ?
Code :
1
2
3
bouton.addActionListener(() -> { 
   /* do something */ 
});
Mais… il se passera quoi avec un MouseListener ou un KeyListener qui contiennent plusieurs méthodes à surcharger ?
Citation Envoyé par ithel  Voir le message
Par ailleurs l'API Collection va être revue pour tirer parti de cette nouvelle manière d'écrire du code: il sera alors possible de manipuler des collections de données très facilement sans avoir à écrire de boucles for.
Par exemple: supprimer tous les objets d'une liste dont l'attribut x sera égal à 1 pourra être réalisé en une petite ligne de code

Là je suis entièrement pour ! La verbosité de Java ne me dérange pas trop dans l'ensemble mais devoir se palucher les tris de Collection est effectivement pénible.
Avatar de ithel ithel
http://www.developpez.com
Membre confirmé
le 04/10/2012 16:57
Tout à fait, un truc de ce genre
Et effectivement pour que cela fonctionne il faut que l'interface utilisée (ici ActionListener) ne contienne qu'une seule méthode. Donc pour un MouseListener ou un KeyListener on fera comme avant: on implémentera ces interfaces à l'ancienne (ou on étendra MouseAdaptor / KeyAdaptor ).
Avatar de bouye bouye
http://www.developpez.com
Rédacteur/Modérateur
le 04/10/2012 20:42
On peut pas faire
Code :
x, y -> ...
?

C'est con si c'est figé à un seul argument
Avatar de ithel ithel
http://www.developpez.com
Membre confirmé
le 05/10/2012 9:53
Citation Envoyé par bouye  Voir le message
On peut pas faire
Code :
x, y -> ...
?

C'est con si c'est figé à un seul argument

Si bien sûr on peut avoir autant d'arguments que l'on souhaite. Pour plus d'information vous pouvez aller voir l'article "Java 8 et les Lambda" sur le blog de la société Zenika.
Avatar de bouye bouye
http://www.developpez.com
Rédacteur/Modérateur
le 05/10/2012 16:54
Ma faute, j'avais lu en diagonale en essayant de comprendre la manière de calculer les impôts sur le revenu américain qui nous était expliquée durant la dernière session

Oui donc il parlait de plusieurs méthodes et non pas plusieurs arguments.

Ouaip c'est un peu pour ça que je trouve le truc moins efficace que les closures où il fallait juste transmettre le nom d'une fonction qui correspondait au type attendu. Ici, il faut utiliser une interface avec une seule méthode, c'est pas pratique pour tous les mouse et keyboard listener de AWT/Swing/JavaFX.
Offres d'emploi IT
Analyste Fonctionnel AMOA H/F
CDI
NEO SOFT - Rhône Alpes - LYON
Parue le 16/12/2014
Ingénieur développement hpc h/f
Stage
BULL FR - Rhône Alpes - Échirolles (38130)
Parue le 12/12/2014
INGENIEUR SYSTEMES STOCKAGE/VIRTUALISATION/WINDOWS (H/F)
CDI
SCC SA - Ile de France - Nanterre (92000)
Parue le 06/12/2014

Voir plus d'offres Voir la carte des offres IT
 
 
 
 
Partenaires

PlanetHoster
Ikoula