IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Chroniqueur Actualités
    Avatar de Bruno
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    mai 2019
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : mai 2019
    Messages : 336
    Points : 5 300
    Points
    5 300
    Par défaut TeaVM : un outil pour développer des applications web rapides et modernes en Java
    TeaVM : un outil pour développer des applications Web rapides et modernes en Java,
    sans les difficultés d'une pile de développement JavaScript

    Ces dernières années, les développeurs de navigateurs ont favorisé les technologies basées sur le JavaScript et ont constamment délaissé la prise en charge du Java natif. Dans un monde dominé par les applications web côté client, Java semble être relégué au rang de technologie réservée aux serveurs. Pour rester dans la course, d’excellents outils Java doivent alors être réinventés du côté client.

    TeaVM est un compilateur avancé qui prend du bytecode Java et le convertit en JavaScript pour une exécution sur un navigateur. Il est conceptuellement lié au Google Web Toolkit (GWT), car les deux produits permettent de coder en Java et de produire un code JavaScript convivial pour le navigateur. Cependant, selon certains analystes, TeaVM présente des avantages par rapport à GWT dans plusieurs domaines : flexibilité, performance et efficacité sur le Web. TeaVM supporte tous les langages JVM, y compris Kotlin et Scala, alors que GWT est uniquement en Java. Il produit un code JavaScript plus petit qui fonctionne mieux dans le navigateur.

    Nom : z1.png
Affichages : 231868
Taille : 331,9 Ko

    Rappelons que GWT est un ensemble d'outils logiciels développé par Google, permettant de créer et maintenir des applications web dynamiques mettant en œuvre JavaScript, en utilisant le langage et les outils Java. C'est également un logiciel libre distribué selon les termes de la licence Apache 2.0.

    Les applications développées en Java sont très facilement portables sur différents systèmes d’exploitation tels que Windows, Mac OS, UNIX ou encore Linux, ce langage orienté objet qui reprend en grande partie la syntaxe du C++ reste toujours très prisé par les développeurs. Pour arriver à leurs fins, les développeurs se servent d’un certain nombre d’outils de développement.

    Une des particularités de TeaVM est qu’il intègre Flavour, un framework pour créer des applications Web d'une seule page en Java. Selon ses concepteurs, l'expérience est assez proche d'Angular, mais le framework est basé sur des idiomes Java, et non pas des idiomes JavaScript.

    Étant donné que TeaVM ne supporte pas entièrement le JDK, la réflexion, le chargement de classe, les ressources, les threads, la plupart des bibliothèques Java pour la sérialisation des données et la communication réseau n’étant également pas disponibles dans TeaVM, Flavour réimplémente des sous-ensembles raisonnables de Jackson et du client JAX-RS sans une seule ligne de réflexion.

    La plateforme continue d’être appréciée, comme en témoigne un développeur Web Java. « J'ai eu une grande expérience de la mise en place de mes applications de bureau dans le navigateur avec TeaVM. Les performances sont excellentes, le code JavaScript généré est petit », déclare-t-il. « Je bénéficie d'une abstraction d'interface utilisateur. Mon kit d'interface utilisateur fonctionne avec Swing/JavaFX sur bureau, et avec HTML/DOM dans le navigateur », a-t-il ajouté.

    Dans le même ordre d’idée, un autre développeur affirme : « l'environnement de développement est agréable. TeaVM est mon préféré. Sur la plupart des plateformes, l'utilisation d'une API native est au moins un peu douloureuse. Par contre, sur TeaVM, il y a des annotations pour pouvoir migrer vers le JavaScript sans trop de soucis ».

    Cependant, TeaVM ne fait pas toujours l’unanimité dans le monde des développeurs. Pour un autre développeur Web, la comparaison avec par exemple Scala ou Kotlin où le code JavaScript est généré, mais pas à partir de fichiers de classe n’est pas assez claire. « J'ai fait quelques tests, l'une des sources de difficultés est de travailler avec les bibliothèques JavaScript, qui ont besoin de certains ‘’wrappers’’ pour les signatures de méthodes, ce qui est parfois un défi », a-t-il déclaré. « TeaVM a un grand nombre d'annotations pour JavaScript, ainsi que la possibilité de traiter le code JavaScript comme de simples chaînes de caractères. Mais je ne vois pas comment cela résout clairement les problèmes que je trouve les plus ennuyeux avec Scala ou Kotlin ».

    Source : TeaVM


    Et vous ?

    Que pensez-vous de TeaVM ?
    Connaissez-vous d'autres alternatives à TeaVM ? Lesquelles ?

    Voir aussi :

    TypeScript 4.1 apporte le remappage de clé dans les types mappés, les types template de littéraux, les types conditionnels récursifs et bien d'autres

    La version bêta de TypeScript 4.2 est disponible avec le type tuple plus amélioré et une préservation plus intelligente des alias de type

    Quels sont les coûts liés à l'utilisation de frameworks JavaScript pour le développement Web ? Une analyse des sites utilisant React, Vue.js ou Angular

    Le WebAssembly serait moins performant en termes de rapidité que le code natif, selon les résultats d'une étude
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Développeur Front-End
    Inscrit en
    juin 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Front-End
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2020
    Messages : 4
    Points : 8
    Points
    8
    Par défaut
    Dès que je lis "Java" j'ai de l'urticaire Sauf quand j'entends "la java de broadway"

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2016
    Messages : 6
    Points : 9
    Points
    9
    Par défaut Pourquoi tant de haine ?
    @dev00_

    Le java n'est pas un langage si mal foutu puisqu'il a séduit tant de société et qu'il reste largement enseigné. Etant donné qu'il est là dans les parages depuis pas mal de temps, c'est vrai que certaines nouveautés comme la programmation orienté événement n'est pas aussi simple que dans d'autres langages plus récents et modernes créés après lui.

    Concernant TeaVM, ça ressemble à GWT et pour avoir travaillé avec quelquechose de similaire, ce genre de framework fout le seum. Peu de choses sont au final disponible même dans les paquets standards... Du coup vous vous retrouvez à vouloir faire une choses simple, comme construire un chaîne de caractères et les outils ne sont pas disponibles. Alors quand il faut travailler sur des collections là c'est le ponpon...

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur Front-End
    Inscrit en
    juin 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Front-End
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2020
    Messages : 4
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Lor6s Voir le message
    @dev00_

    Le java n'est pas un langage si mal foutu puisqu'il a séduit tant de société et qu'il reste largement enseigné. Etant donné qu'il est là dans les parages depuis pas mal de temps, c'est vrai que certaines nouveautés comme la programmation orienté événement n'est pas aussi simple que dans d'autres langages plus récents et modernes créés après lui.
    Ouhh aucune haine, ce langage ne m'a rien fait Juste une petite pique 😊
    Et comme tu dis, il est ultra employé (trop même).
    Je pense surtout que j'ai été rebuté quand j'ai voulu faire de l'android, suivi un cours sur Java/Kotlin et que l'enseignant était bordélique dans ses explications. Après de souvenir c'est plutôt bien structuré (objet oblige). Me suis lancé sur une voie différente depuis et considère Java comme un langage old school, malheureusement pas has-been vu qu'encore beaucoup employé (surtout dans les banques j'ai l'impression).

  5. #5
    Membre éprouvé

    Homme Profil pro
    Ingénieur logiciel embarqué
    Inscrit en
    juillet 2002
    Messages
    342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur logiciel embarqué
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juillet 2002
    Messages : 342
    Points : 905
    Points
    905
    Par défaut
    Honnêtement, autant je suis un habitué de java ce qui fait que je l'utilise assez facilement, et probablement un peut trop souvent (il est pour moi un bon compromis perf/ simplicité d'utilisation), autant dans le domaine du navigateur, je ne l'ai jamais vraiment retenu comme solution. J'ai essayer il y a quelques mois, la performance n'est pas au rendez-vous (pas vraiment de surprise de ce coté la, même si cela finissant en wasm, c'est pas dit qu'on ai pas un peut de perte).
    Notez que ce test était avec Jsweet et non TeaVM.
    Au delà de cet aspect, Oubliez vos threads, vos socket, vos IO, awt & co, bref une bonne partie de l'api standard en fait ! (le JNI aussi ok j'enfonce des portes ouvertes).

    On oublie vite, mais un truc qui m'a séduit avec java a l'époque c'est qu'on avais (ca a pas mal changer) pas besoin de chercher tout un tas de lib pour fair un programme. Et en utilisant l'api, on était plutôt bien compatible x86, a64, arm, windows, linux, solaris ... Des petits programmes que j'ai écrit il y a 16 ans sont toujours opérationnels.

    Ce que semble proposer TeaVM c'est plutot une api bien a elle, en supportant l'écriture type java pour faire des "pages" ou "apli" web comme on dit à présent.

    A l'époque on avais les Applets
    Mais ce temps est révolu semble-t-il ...

  6. #6
    Membre éprouvé
    Inscrit en
    juin 2010
    Messages
    743
    Détails du profil
    Informations forums :
    Inscription : juin 2010
    Messages : 743
    Points : 900
    Points
    900
    Par défaut
    Si l'objectif est de faire du WASM, dotnet core est ultra avancé sur le sujet alors que leur truc Java chelou ne me semble pas vraiment prêt

  7. #7
    Membre expérimenté
    Homme Profil pro
    Ingénieur en génie logiciel
    Inscrit en
    juin 2012
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur en génie logiciel
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : juin 2012
    Messages : 569
    Points : 1 416
    Points
    1 416
    Par défaut
    Citation Envoyé par Lor6s Voir le message
    @dev00_
    Concernant TeaVM, ça ressemble à GWT et pour avoir travaillé avec quelquechose de similaire, ce genre de framework fout le seum. Peu de choses sont au final disponible même dans les paquets standards... Du coup vous vous retrouvez à vouloir faire une choses simple, comme construire un chaîne de caractères et les outils ne sont pas disponibles. Alors quand il faut travailler sur des collections là c'est le ponpon...
    gwt de base était moyen... c'est pour ça qu'il y a eu des compagnies qui ont construit autour tel que Sencha GXT, smart gwt...
    des produits qui existait il y a 13 ans....

    https://www.smartclient.com/smartgwtee/showcase/#main

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mai 2021
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Oracle et Cie ne font rien pour Java côté client
    Je ne comprends pas pourquoi, contrairement à Microsoft qui fait des avancées progressives avec Blazor Wasm, les grands acteurs de Java (Oracle, Google...) ne font rien pour développer Java côté client (in the browser) après la mort des Applets. Pourtant il y a des développeurs talentueux qui, si encouragés, peuvent faire des choses très intéressantes.

Discussions similaires

  1. Quel est selon vous le meilleur outil PHP pour développer des applications web ?
    Par Olivier Famien dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 32
    Dernier message: 06/07/2017, 14h37
  2. Outils pour développer une application web
    Par cheyma dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 22/01/2013, 12h54
  3. Réponses: 1
    Dernier message: 16/11/2012, 11h31
  4. Réponses: 0
    Dernier message: 15/11/2012, 16h22
  5. Meilleurs outils pour Développer une application web portable
    Par s-ehtp dans le forum EDI et Outils pour Java
    Réponses: 1
    Dernier message: 15/07/2009, 19h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo