S'il y a une technologie de développement qui alimente les chroniques des gazettes (IT et même grand public), c'est bien Java.
Sécurité critiquée ou louée, rachat par Oracle, avantages et faiblesses de la JVM, procès Android, nouveaux frameworks, orientations prises… les sujets ne manquent pas.
À tel point qu'il nous a paru bon de prendre un peu de recul pour dresser un « État de Java », sur le modèle de l'« État de l'Union » en politique, loin du flux continu de news et de « trolls » plus ou moins argumentés qui, à la longue, aveugle.
Nous avons envisagé plusieurs options. Faire cet « État » avec Oracle, par exemple. Mais l'entreprise de Larry Ellison étant partie prenante sur toutes les questions sensibles (GlassFish, Android, mises à jour, etc.), nous avons cherché une autre option. Avec des SSII (ESN) ? L’idée nous paraissait bonne. Jusqu’à ce que nous rencontrions des développeurs de DigitasLBi.
Pourquoi ? D’abord, parce que DigitasLBi – un réseau d'agences de « digitalisation & d'innovation technologique » (6.000 experts dont 300 en France) qui gère des projets globaux pour des marques comme Nissan, eBay, American Express ou La Poste - est totalement indépendant des éditeurs (voir aussi : sa page sur Developpez.com)
Ensuite, parce que cette agence d’un nouveau genre se place à la croisée d’une multitude de chemins (beaucoup plus que les ESN). DigitasLBi fait aussi bien de la communication numérique, du design d’UI que du développement. Et dans le développement pur, l’agence touche aussi bien au web (HTML, CSS, JS) qu’au .NET ou, donc, à Java (sans oublier les bases de données). Simple exemple, DigitasLBi a pris en charge toute la communication numérique de Nissan (site web, applis mobiles, etc.)… mais va jusqu’à concevoir tout l'embarqué de ses véhicules.
Enfin - et surtout - parce que son pôle Java/JEE est un nid d'expertises. Cette équipe d’environ 40 personnes est chapeautée depuis maintenant cinq ans par Romaric Le Bever, doté d'un riche background (e-commerce, ingénieur d’études, chef de projets techniques, etc.) et dont le bras droit est un passionné diplômé de l'Ecole des Mines de Nantes. Les deux, ainsi que le CTO – Arnaud Defrenne – se sont révélés être loin de toute querelle de chapelles malgré plus d'une dizaines d'années de carrière dédiée à leur technologie de prédilection.
Dans la première partie de cet entretien nous avons abordé avec eux la popularité du langage, sa sécurité, Java 7 et Java 8, et le virage vers l’embarqué. N'hésitez pas à nous faire part de vos propres points de vue d’experts et à interagir avec eux (nous savons de source sûre qu'ils gardent un œil sur Developpez.com). La deuxième partie est ici
Sécurité critiquée ou louée, rachat par Oracle, avantages et faiblesses de la JVM, procès Android, nouveaux frameworks, orientations prises… les sujets ne manquent pas.
À tel point qu'il nous a paru bon de prendre un peu de recul pour dresser un « État de Java », sur le modèle de l'« État de l'Union » en politique, loin du flux continu de news et de « trolls » plus ou moins argumentés qui, à la longue, aveugle.
Nous avons envisagé plusieurs options. Faire cet « État » avec Oracle, par exemple. Mais l'entreprise de Larry Ellison étant partie prenante sur toutes les questions sensibles (GlassFish, Android, mises à jour, etc.), nous avons cherché une autre option. Avec des SSII (ESN) ? L’idée nous paraissait bonne. Jusqu’à ce que nous rencontrions des développeurs de DigitasLBi.
Pourquoi ? D’abord, parce que DigitasLBi – un réseau d'agences de « digitalisation & d'innovation technologique » (6.000 experts dont 300 en France) qui gère des projets globaux pour des marques comme Nissan, eBay, American Express ou La Poste - est totalement indépendant des éditeurs (voir aussi : sa page sur Developpez.com)
Ensuite, parce que cette agence d’un nouveau genre se place à la croisée d’une multitude de chemins (beaucoup plus que les ESN). DigitasLBi fait aussi bien de la communication numérique, du design d’UI que du développement. Et dans le développement pur, l’agence touche aussi bien au web (HTML, CSS, JS) qu’au .NET ou, donc, à Java (sans oublier les bases de données). Simple exemple, DigitasLBi a pris en charge toute la communication numérique de Nissan (site web, applis mobiles, etc.)… mais va jusqu’à concevoir tout l'embarqué de ses véhicules.
Enfin - et surtout - parce que son pôle Java/JEE est un nid d'expertises. Cette équipe d’environ 40 personnes est chapeautée depuis maintenant cinq ans par Romaric Le Bever, doté d'un riche background (e-commerce, ingénieur d’études, chef de projets techniques, etc.) et dont le bras droit est un passionné diplômé de l'Ecole des Mines de Nantes. Les deux, ainsi que le CTO – Arnaud Defrenne – se sont révélés être loin de toute querelle de chapelles malgré plus d'une dizaines d'années de carrière dédiée à leur technologie de prédilection.
Dans la première partie de cet entretien nous avons abordé avec eux la popularité du langage, sa sécurité, Java 7 et Java 8, et le virage vers l’embarqué. N'hésitez pas à nous faire part de vos propres points de vue d’experts et à interagir avec eux (nous savons de source sûre qu'ils gardent un œil sur Developpez.com). La deuxième partie est ici
Developpez.com : Quatre années après son rachat par Oracle, comment se porte Java aujourd’hui ? Vous semble-t-il toujours aussi populaire en France ?
DigitasLBi : Je vous ferai une réponse influencée par ma perception de l’utilisation des technologies Java dans l’univers du marketing numérique. Cette mise en garde effectuée, il me semble que le Java se porte comme un charme. Nous assistons même à une recrudescence des projets web en Java.
Une certaine image de sécurité, fiabilité et de solidité le rend populaire auprès des entreprises industrielles et aussi banques et assurances. Enfin à l’heure où les appareils connectés mobiles se multiplient, où la diversité des systèmes d’exploitation est de mise, finalement Java est un langage de développement multi-device, multi-OS, ce qui est très précieux. Android y est aussi pour quelque chose.
Developpez.com : Certains accusent Java d’être lourd, lent et verbeux. Côté technique, comment voyez-vous le travail d’Oracle et de la communauté sur l’amélioration du langage avec l’arrivée de Java 7, et à l’aube de Java 8 ?
DigitasLBi : Java a été à l’origine conçu comme un meilleur C++ dans les années 1990, incorporant des concepts de SmallTalk, Objective-C et Ada. À cette époque, Internet était balbutiant et la plupart des technologies d’aujourd’hui n’existaient pas.
Java 7 est la reconnaissance qu’un langage unique n’est pas forcément adapté à toutes les situations, et s’est ouvert à des langages dérivés de la JVM avec l’instruction invokedynamic (qui est la 1ère nouvelle instruction JVM depuis Java 1.0 !). Oracle ne reste pas en plan, s’inspirant du meilleur des autres langages pour rendre Java plus productif — je parle ici du Project Coin incorporé à Java 7, et des lambda attendues avec impatience avec Java 8.
Bien évidemment, toute modification substantielle de Java prend du temps (et parfois beaucoup !). Mais je pense que nous avons un équilibre entre évolution et stabilité du langage, ce qui est très important dans le monde de l’entreprise.
Enfin, oui, Java est verbeux, particulièrement face à des langages comme Groovy ou Ruby. Nous supportons ici l’héritage des années 1990.
Par contre, je ne peux pas laisser dire que Java est lent ! Ce qui est lent, ce sont les algorithmes pas toujours très optimisés pondus par certains développeurs (tous langages confondus). Ce qui est lent, c’est la masse de données à traiter, en augmentation constante. Ce qui est lent, ce sont les frameworks et solutions toujours plus complexes, libérant le développeur de considérations bas niveau en cachant la complexité (gain de productivité) mais également le coût associé.
Java en lui-même est grossièrement aussi rapide que le C (ceci n’est pas un appel à troll…). Je teste régulièrement mes applications personnelles sur un vieux Pentium M (en fin de vie) de 2005 ainsi que sur un Raspberry Pi, ce qui me permet de détecter d’éventuel code non optimal.
Developpez.com : Au passage, si l’on ne devait retenir que trois nouveautés de Java 7, quelles seraient-elles ?
DigitasLBi : Je retiendrais principalement les améliorations apportées par Project Coin qui facilitent la vie quotidienne du développeur.
Java 7 a également connu depuis sa sortie en 2011 une évolution « transparente » sur la JVM (début de l’intégration Hotspot et JRockit, notamment les aspects monitoring). C’est à mon sens important pour optimiser au maximum les performances d’applications toujours plus riches.
Developpez.com : Que peut-on espérer pour Java 8 ?
DigitasLBi : Personnellement j'attends de Java 8 de substantielles améliorations tant au niveau de la JVM (continuation de la fusion de HotSpot et JRockit, même si G1 a été repoussé à Java 9) qu’au niveau de la productivité développeur (les lambda, mais également javac multi-threadé).
Malheureusement, pour certains de nos projets, nous ne pourrons passer à Java 8 que lorsque les éditeurs le supporteront officiellement !
Developpez.com : Java a été beaucoup critiqué sur ses failles de sécurité. Vous parait-il plus sûr aujourd’hui, voire très sûr, ou pensez-vous - comme le disent certains - que régler ce problème prendra encore quelques années ?
DigitasLBi : Le sujet de la sécurité est à prendre très au sérieux. La recrudescence des attaques et des piratages est une réalité. D’autre part avec le développement des applications « cloud » nous assistons à une explosions du stockage d’informations personnelles sur les réseaux. L’enjeu est donc doublement important.
Par Java on peut entendre deux choses :
- l’utilisation de Java comme langage Backend ;
- les applets Java compilées et exécutées côté client.
Les technologies utilisées en particulier en backend ont un rôle important dans la sécurisation des applications, quand on compare les différentes options, Java comme framework backend est plutôt bien placé. Néanmoins au-delà de cela, choisir un environnement ne suffit pas. Pour garantir à nos clients des applications sûres, nos propositions combinent des bons choix d’architecture avec exigences sur les processus, la documentation, la fréquence des mises à jours logiciels, et aussi certains services de sécurité qui vont simuler régulièrement des attaques pour éprouver les solutions.
Sécuriser les serveurs c’est une choses, mais côté navigateur c’est un peu plus compliqué.
Developpez.com : Sur ce sujet de la sécurité, Mozilla a désactivé tous les plug-ins par défaut de Firefox 26 (sauf Flash). Les applets Java sont au centre de cette décision. Vous parait-elle bonne ou mauvaise ?
DigitasLBi : À partir du moment où des codes dangereux se diffusent comme des virus à l’échelle de la planète c’est une décision défensive mais sage.
Nous n’utilisons pas cette technique qui tend à disparaître avec l’enrichissement du JavaScript coté client. Le véritable enjeu maintenant c’est garantir l’absence de faille en JavaScript.
Developpez.com : Ces derniers temps, Oracle met beaucoup en avant l’embarqué (Java SE Embedded, Java ME, Java Card sur les cartes à puces, Java TV pour les téléviseurs connectés et les Box, etc.) comment analysez-vous ce mouvement ?
DigitasLBi : Oui c’est le grand retour d’une des principales forces de Java : un langage qui s’exécute sur n’importe quel assembleur grâce à la machine virtuelle Java.
L’explosion du DIGITAL c’est avant tout un très grand cycle d’innovation pour les périphériques. Téléphones, baladeurs, télé numériques furent les précurseurs mais on assiste maintenant à l’exploration systématique du potentiel de connecter tous les objets de la vie de tous les jours… Une balance pour se peser (et suivre son poids avec une appli), une montre pour se localiser et courir avec ses amis, un collier qui localise son animal familier etc…
Cette formidable innovation sur le terrain des périphériques s’accompagne d’une diversité de systèmes d’exploitation très difficile à gérer !
Dans ce monde de diversité il y a une recherche pour des solutions multi-device.
Java apparaît comme une réponse pour les applications. HTML/JS une autre réponse pour les interfaces. Android est un système qu’on voit se répandre dans de nombreux appareils. D’autres systèmes open-source sont aussi très intéressants.
Publications techniques et offres d’emplois de DigitasLBi sur Developpez.com