Java 11 et l'avenir des applications graphiques

31 views
Skip to first unread message

Emmanuel Puybaret

unread,
Oct 4, 2018, 10:27:05 AM10/4/18
to tec...@googlegroups.com
Salut les techos,

En lisant les nouveautés de Java 11
https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html
dont JavaFX ne fait plus partie, je suis tombé sur un intéressant article plus ancien
https://www.oracle.com/technetwork/java/javase/javaclientroadmapupdate2018mar-4414431.pdf
qui parle du futur des applets, de Java Web Start, AWT, Swing et JavaFX.

Vous croyez que finalement on va avoir droit à un revival de Swing ou c'est plutôt Oracle qui commence à abandonner les interfaces graphiques Java ?

A+
--
Emmanuel PUYBARET
Sweet Home 3D developer
Email : puyb...@eteks.com
Web : http://www.eteks.com
http://www.sweethome3d.com

Henri Tremblay

unread,
Oct 4, 2018, 10:40:09 AM10/4/18
to tec...@googlegroups.com
Ni un ni l'autre.

Swing, il n'y aura jamais de revival. C'est JavaFX l'avenir.

Sauf que JavaFX a une avenir qui n'est plus lié à Oracle. Donc ça va beaucoup dépendre de la communauté. Il a le même sort que NetBeans et JavaEE.

Oracle veut se limiter au core de Java. Tout le reste va 
1- Disparaître (Corba)
2- Devenir un module mais rester dans le JDK (Swing pour l'instant, mais dans le futur je ne suis pas sûr du tout)
3- Être poussé hors de là vers une fondation quelconque (JavaEE comprennant javax.xml et patata)

En gros, Oracle veut limiter scope Java au maximum pour faire évoluer le coeur. Ça a un bon et un mauvais côté. Avec la nouvelle politique de livraison et support, ça permet évidemment de réduire les coûts tout en espérant augmenter les bénéfices.



--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes techos.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+un...@googlegroups.com.
Pour envoyer un message à ce groupe, adressez un e-mail à tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos .
Pour plus d'options, visitez le site https://groups.google.com/d/optout .

Julien Kirch

unread,
Oct 4, 2018, 10:42:25 AM10/4/18
to tec...@googlegroups.com
Hello,

Possible qu’on ai un truc mou entre les deux pour que les clients qui sont encore sur ces technos ne soient pas contraints de bouger de suite, mais sans forcément un investissement significatif.

Je dis ça parce que je suis en train de regarder du code PowerBuilder 2017…

Julien

Laurent Caillette

unread,
Oct 4, 2018, 12:04:33 PM10/4/18
to tec...@googlegroups.com
Salut tous,

Je trouve JavaFX tres prometteur mais helas le client riche pour machine de bureau ne fait plus rever personne. Entre le DHTML, iOS et Android, JavaFX a du mal a exister. Donc Oracle fait le choix de ne plus s'investir dedans. Vu le desastre que sont les Applets et Java Webstart peut-etre que c'est mieux pour JavaFX. Dans le papier cite par Emmanuel on apprend que Swing beneficiera d'une plus longue periode de support, ce qui se comprend du fait du grand nombre d'applications Swing. Mais ca ne semble pas assez pour justifier un retour de mode ("revival").

J'aurais a demarrer aujourd'hui un projet avec une interface graphique pour une machine de bureau, ca se jouerait entre JavaFX et LibGDX. De toutes facons il faudra se salir les doigts. C'est clair que Microsoft profite de la situation avec .NET qui offre une solution bien identifiee pour ce genre de developpements.

(Desole pour l'absence d'accents, je fais avec ce que j'ai.)

Henri Tremblay

unread,
Oct 4, 2018, 1:15:18 PM10/4/18
to tec...@googlegroups.com
Le truc c'est qu'il y a encore un besoin d'appli non web. En général pour des raisons de performance.

Par contre, JavaFX a aussi un petit coin sur le mobile. Par exemple avec Gluon. Moi je trouve ça chouette. Est-ce que ça va prendre est une autre histoire.

Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.

Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.

Dominique Jocal

unread,
Oct 4, 2018, 2:35:12 PM10/4/18
to techos
Test à l'envers, avez vous écho du portage sur ms/x-Windows du sdk android?

Laurent Caillette

unread,
Oct 4, 2018, 3:06:06 PM10/4/18
to tec...@googlegroups.com
He he le SDK Android sur Windows comme echo des applications iOS qui vont tourner sur Mojave, ca devait arriver ! Qui est-ce qui fait ca ? Microsoft ?

Je vois arriver un autre facteur de convergence. Kotlin est en train d'atteindre la masse critique pour devenir la solution de developpement la plus sexy du monde, avec du code natif, des performances, de l'interoperabilite, plus un langage qui rend les choses tres simples avec les collections, les null et les coroutines. Imaginons maintenant que voie le jour une API exploitant bien les fonctionnalites du langage (notamment les coroutines et les builders avec typage) et capable de deleguer a differents moteurs d'affichage comme du HTML5 ou du JavaFx ou du Cocoa. Les utilisateurs de Kotlin seraient naturellement pousses a utiliser cette API qui deviendrait un standard de fait. En attendant on peut deja coder du LibGDX natif en Kotlin pour Linux, macOS, Windows, iOS et Android.

Dominique Jocal

unread,
Oct 4, 2018, 3:14:51 PM10/4/18
to techos
Désolé, je voulais demander "d'un éventuel"?
Duckduckgo ne me donne que des tentatives pour l'instant, et plutôt pour faire tourner des applis std android sur pc (jeux).
Bon c'est sûr qu'avec tjs plus de netbooks et chromebook, *-windows tire plutôt la langue..
D

Sylvain Rey

unread,
Oct 4, 2018, 3:58:24 PM10/4/18
to tec...@googlegroups.com
Hello

J'ai du mal à suivre sur le dernier sujet... ms/x-windows ??? X-Window ou (Microsoft) Windows ? *-windows ?
portage du SDK Android ? parce que si c'est sous Linux ou Windows, je vois pas pourquoi il faut le porter, il existe déjà...
Des netbooks.. on utilise encore ce terme ? Des "applis std android"... juste c'est quoi ?

Tu m'as mis une grosse migraine sur ce coup !

J'infère de très très loin que tu parles de porter des apps Android sous Windows 10... auquel cas tu fais peut-être référence au projet Astoria de Microsoft (Windows Bridge for Android) ?
Et si c'est ça, j'ai une mauvaise nouvelle de 2016 pour toi : il est abandonné :-(
Il te reste potentillement des trucs du genre Bluestacks, Chrome Ark Welder... bref, des emulateurs.

De manière intéressante, le projet Islandwood (Windows Bridge for iOS), lui, n'est pas (officiellement) mort. Il est sous github, même. Je connais juste personne qui l'utilise par contre.

++

Dominique Jocal

unread,
Oct 4, 2018, 4:48:44 PM10/4/18
to techos
Je voulais dire ms-windows ou x-windows, pour dire tous les environnements fenêtre sur pc.
Désolé pour le manque de clarté.

Tant qu'à partir dans l'espace pour faire une ihm sur grand écran.. unity?
Je sors.

Julien Kirch

unread,
Oct 4, 2018, 4:56:09 PM10/4/18
to tec...@googlegroups.com
Ben j’ai déjà vu passer cette idée ailleurs, un outil de back office avec un moteur de collision 3D ça va finir par arriver…

Sinon pour rester dans le monde du jeu vidéo Haxe a plutôt bonne presse chez eux
@Laurent je ne sais pas si tu as déjà regardé ? Ça a l’air classique mais de bon goût

Julien

Sylvain Rey

unread,
Oct 5, 2018, 3:13:01 AM10/5/18
to tec...@googlegroups.com
Ah ah ah qui serait assez stupide pour embarquer chromium et l'afficher dans une texture (il y a evidemment déjà un plugin pour ça, ça prend 5 minutes) pour afficher son backoffice existant ? Et mettre une demo de quelques data 3d à côté de ça au passage...

Ah ah ah
Hum... sûrement pas moi

Le problème evidemment c'est que nos clients le veulent maintenant.

Julien Kirch

unread,
Oct 5, 2018, 3:48:50 AM10/5/18
to tec...@googlegroups.com
Tsss, tu as oublié la réalité virtuelle

Julien

Vitaliy Shevchuk

unread,
Oct 5, 2018, 5:22:12 AM10/5/18
to tec...@googlegroups.com
Hello,

Kotlin, langage le plus sexy au monde? Pas ca quand même. Au jour d'aujourd'hui IMHO TypesScript a une longueur d'avance sur Kotlin. Ne se reste qu'avec async/await, puis au niveau de typage pure et simple. Je peux déclarer un type qui est un String, mais forcément le nom de propriété de tel autre classe ou interface. Super pratique pour développer des frameworks. 

Il y a 2 ans TypeScript était pas mur. Mais aujourd'hui, c'est le langage le plus sexy que je connais. 

Et svp, il ne faut pas dire sur TS c'est du JS a la base, donc ça vaut rien, comme dans certains analyses. Pour la preuve, regarder la connumauté nodejs/frontend web SPA qui progresse a la vitesse que java ne connaissait jamais. 

C'est comme jee vs spring il y a 10 ans. Beaucoup de bla bla d'architectes sur jee, et Spring qui suie son chemin 10 fois plus vite et deviens un leader. 

On a des grosses boites qui gardent java serverside, et milliers de startups qui foncent avec single fullstack language et obtient des résultats qui ne sont pas moin bons.

Allez... la provoc est lancée



Envoyé depuis mon smartphone Samsung Galaxy.

-------- Message d'origine --------
De : Laurent Caillette <laurent....@gmail.com>
Date : 04/10/2018 21:05 (GMT+01:00)
Objet : Re: Java 11 et l'avenir des applications graphiques

Laurent BEDE

unread,
Oct 5, 2018, 5:38:31 AM10/5/18
to techos
Hello,

100% en ligne avec toi Vitaliy.

Dans le contexte des applis de gestion (ce qui représente la majeure partie de l'IT corporate), il faut quand même reconnaître que le mix de langages requis pour afficher des pages web est juste dingue.
Ce qui drive cet état de fait est généralement la performance; des full stacks homogènes en langage sont l'avenir et je ne vois pas bcp de raison de conserver des trucs compliqués.
Si on ajoute le fait que la tendance est quand même à la renaissance d'AGL modernes posés sur du PaaS, le curseur va se déplacer assez rapidement vers de la programmation par paramétrage / configuration plutôt que programmation.

A titre d'exemple, j'ai dans mon périmètre actuel une application en développement avec un front end mobile natif IOS (1 langage) et Jira en backend pour motoriser le workflow (0 langage et juste de la configuration); il y a, en vérité énormément de use case adressables avec ce couple IOS / Jira et je suis convaincu que la programmation server side va progressivement se dissoudre dans des briques de plus haut niveau.

Laurent B.

Vitaliy Shevchuk

unread,
Oct 5, 2018, 5:39:04 AM10/5/18
to techos

Allez une petite provocation,  l'histoire de rendre la journée de vendredi bien productive

 

Kotlin est en train de devenir la solution de développement la plus sexy du monde?

 

IMHO TypeScript est aussi un candidat à ce titre. Il y a 2-3 ans, je ne le pensais pas, mais aujourd'hui quand je regarde Kotlin par apport à TypeScript, le gagnant n'est pas évident. Même de coté typage fort ou Java était toujours très fière d'elle , TS est loin devant Kotlin/Java.  Par exemple, je peux définir un type qui doit être le nom de propriété d'un objet. C'est super pratique pour développer des frameworks. C'est comme si on pouvais faire PropertyUtils.getProperty(myBean,"inesistingPropertyName")  et avoir l'erreur de compilation (souligné par l'IDE même avant la compilation)

 

Autre exemple : Destructuring Declarations  sont plus complètes dans ES6 /TS on peut faire ceci :

const {a,b, ...others} = {a:1,b:2,c:3,d:4} //others = {c:3,d:4}
const [a,b,...c] = [1,2,3,4,5] // c= [3,4,5]

et avec Kotlin?

Cependant c'est vrai que Kotlin est possède quelques fonctionnalités  sympathiques  aussi, qui ne sont pas [encore?] dans TS.


Aussi:


- la concurrence c'est beau !


- Tout peut être faite en ES/TS aujourd'hui (du front (web/mobile/desktop) à la BD, avec solutions matures, pas experimentals), ce qui n'est pas le cas pour Java/Kotlin

- Citation de Henri : "Le truc c'est qu'il y a encore un besoin d'appli non web. En général pour des raisons de performance.". Est ce qu'on peut considérer IntelliJ comme l'appli de référence client riche Java ? J'adore Intellij. Alors Visual Studio Code est faite en TS, et voici une citation de comparaison de WebStom (petit frère de Intellij) vs VS Code : " Performance can be one of the biggest advantages of Visual Studio Code. .... It’s simply fast, there are no delays and everything gets updated almost immediately...."

Cheers,

Vitaliy

Laurent Caillette

unread,
Oct 5, 2018, 5:42:00 AM10/5/18
to tec...@googlegroups.com
Je n'ai pas dit "le langage" mais "la plateforme de developpement" justement pour prendre en compte l'outillage et la capacite a fonctionner de bout en bout ("full stack").

Haxe a l'air vraiment chouette, quand j'ai regarde il y a longtemps je l'ai classe "trop beau pour etre vrai ou alors il manque des trucs."

L'application de gestion en Unity peut-etre pas (Unity est-il le Powerbuilder du jeu video ?) mais l'acceleration 3D on baigne dedans depuis qu'il y un moteur de composition dans le systeme de fenetrage (OS X en 2000 et des poussieres) et les navigateurs l'exploitent abondamment. D'ailleurs c'etait le but de JavaFX de mettre ca a portee du developpeur normal.


Julien Kirch

unread,
Oct 5, 2018, 5:49:00 AM10/5/18
to tec...@googlegroups.com

Haxe a l'air vraiment chouette, quand j'ai regarde il y a longtemps je l'ai classe "trop beau pour etre vrai ou alors il manque des trucs. »

Je passe mon temps libre sur https://dead-cells.com en ce moment => ça a l’air assez vrai

Laurent Caillette

unread,
Oct 5, 2018, 6:10:13 AM10/5/18
to tec...@googlegroups.com
C'est vrai que les jeux developpes en Haxe font preuve de plus de fluidite qu'il n'y en aura jamais besoin pour de l'informatique de gestion, et peut-etre pour de l'infographie. Apres quelle est la qualite de l'integration a IDEA ? Est-ce qu'on peut fonctionner avec un tas de 2 Go comme la JVM ? Comment ca tourne dans du Docker ou de l'EC2 ? Obtenir la vraie reponse a ces questions coute cher. Et les capacites de modelisation du langage conviennent-elles a de l'informatique de gestion ? La il faut plusieurs projets suffisamment compliques pour etre sur. Mais bon d'accord Haxe a peut-etre sa place a cote de JavaFX et LibGDX que je preconisais.

On Fri, 5 Oct 2018 at 11:49, Julien Kirch <archi...@archiloque.net> wrote:

Haxe a l'air vraiment chouette, quand j'ai regarde il y a longtemps je l'ai classe "trop beau pour etre vrai ou alors il manque des trucs. »

Je passe mon temps libre sur https://dead-cells.com en ce moment => ça a l’air assez vrai

Julien Kirch

unread,
Oct 5, 2018, 6:10:16 AM10/5/18
to tec...@googlegroups.com
Hello,

De ce que je vois autour de moi j’ai l’impression que pour des besoins « standard » la différence de productivité entre les différentes stacks « orthodoxes » (JS, Ruby, Java, Node…) est assez faible ou du moins pas déterminante.

Pareil sur le fait d’avoir un language du haut en bas plutôt que plusieurs, tant qu’il n’y en a pas trop.

Le fait d’avoir un environnement de travail efficace (une équipe équilibrée, des tests, un déploiement fiable et rapide, une dette tech maîtrisée, une logique métier cohérente et pas 250000 exceptions pas claires) joue beaucoup plus.

Qu’en pensez vous ?

Julien

Laurent Caillette

unread,
Oct 5, 2018, 6:24:51 AM10/5/18
to tec...@googlegroups.com
Aaah bonne question Julien ! Sur mon projet actuel j'ai deja tout ce que tu decris comme constituant un environnement de travail efficace. On n'a jamais ete laxistes pour l'automatisation, la dette, les tests, et ca paye. Maintenant tout ce qui me manque c'est du Kotlin partout et un mvn clean install qui parallelise tout (y compris les tests robotises en Swing). Mais ce dont je beneficie aujourd'hui je l'ai obtenu grace a du Java de haut en bas et du typage statique partout ou c'etait possible. Bon je me traine du JavaScript, du HTML, du Python, du Bash et d'autres trucs mais que des bidouilles peripheriques. Pour faire evoluer la vraie logique metier et l'interface graphique je m'appuie sur le "Find references" d'IDEA et grace au typage il est possible de voir assez vite ce que fait du code ecrit plusieurs annees auparavant. Quand je dois modifier du Ansible je n'ai pas ca et ca me manque douloureusement.

Vitaliy Shevchuk

unread,
Oct 5, 2018, 6:25:47 AM10/5/18
to tec...@googlegroups.com

Pardon, j'ai pas vu ma première message partir, alors j'ai envoyé un autre tout à l'heure, en baissant un peu le nouveau de subjectivité :)

 

Cependant, concernant la plateforme, c'est justement TypeScript qui est bien présent (et mature) dans chaque partie de fullstack.

Front Mobile

-  TS : (React Native, NativeSc ript, *-PhoneGap)

-  Kotlin : (Uniquement Android)

Front Desktop

- see VS Code vs WebStorm

Front Web

- Typescript : Mainstream

- Kotlin avec JS transpiler : le retour de GWT ?

 

Server Side : Si j'avais mon argent à invertir, je commencerai ma recherche de coté node js.  Il y a vraiment de frameworks très avancés pour adresser de problématiques que vous n'avez même pas encore eu. Mon dernier découvert : https://hasura.io/  GraphQL wrapper autour de portgressql avec  la possibilité de "Trigger webhooks on database events ", juste pour donner une illustration. Des solutions de tests, contrôle de dette techniques sont bien matures aussi. Illustration : https://stryker-mutator.io/ (pour tester si votre "code coverage" vaut quelque chose ou pas : test your tests)

Vitaliy Shevchuk

unread,
Oct 5, 2018, 6:31:39 AM10/5/18
to tec...@googlegroups.com

Pour moi la simplicité du stack est la valeur #1  (peu importe langage)

Le travail efficace, testabilité, maintenabilité, evolutivité, dette tech maîtrisée, etc.. dépendent largement (mais pas exclusivement) de la simplicité.

 

Vitaliy

Laurent Caillette

unread,
Oct 5, 2018, 7:11:07 AM10/5/18
to tec...@googlegroups.com
La simplicite c'est quelque chose de terriblement relatif ! Par exemple on peut dire que Netty c'est hyper-complique parce que de tres bas niveau donc tu dois comprendre tout ce que tu fais, et en meme temps hyper-simple parce qu'il n'y a rien a contourner pour obtenir ce qu'on veut justement parce que c'est de bas niveau. Si tu prends un truc de plus haut niveau il faut etre sur que tu as les memes besoins que les auteurs.

A l'evidence je n'ai pas vu tout le progres effectue par TypeScript, notamment concernant l'outillage. Mais le fait qu'il soit base sur JavaScript a tue mon enthousiasme d'entree de jeu.


Philippe Kernévez

unread,
Oct 5, 2018, 7:37:03 AM10/5/18
to techos
Je plussoie que l'environnement, l'équipe et les pratiques sont bien plus important que la stack de mon point de vue.
Par contre le choix de la techno peut motiver l'équipe ou la démotiver. Donc la techno ne compte pas en tant que telle, mais participe à la dynamique de l'équipe

> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.


> Pour envoyer un message à ce groupe, adressez un e-mail à tec...@googlegroups.com.
> Visitez ce groupe à l'adresse https://groups.google.com/group/techos .
> Pour plus d'options, visitez le site https://groups.google.com/d/optout .

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes techos.

Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.


Pour envoyer un message à ce groupe, adressez un e-mail à tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos .
Pour plus d'options, visitez le site https://groups.google.com/d/optout .

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "techos".

Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.


Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "techos".

Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.


Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "techos".

Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.


Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "techos".

Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.


Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "techos".

Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.


Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "techos".

Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.


Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "techos".

Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.


Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "techos".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.

Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "techos".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse techos+unsubscribe@googlegroups.com.

Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse tec...@googlegroups.com.
Visitez ce groupe à l'adresse https://groups.google.com/group/techos.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.



--
Philippe Kernévez



Directeur technique (Suisse),
pker...@octo.com
+41 79 888 33 32

Retrouvez OCTO sur OCTO Talk : http://blog.octo.com
OCTO Technology http://www.octo.ch

Vitaliy Shevchuk

unread,
Oct 5, 2018, 8:24:18 AM10/5/18
to tec...@googlegroups.com

>Il faut etre sur que tu as les memes besoins que les auteurs

Silver bullet !!!! +1000 il faut commencer par la simplicité de la solution (architecture, stack, UI/UX) au besoin réel.

 

Aussi, tu as raison Laurent, il faut parfois faire de choses compliqués, surtout si ça simplifie quelque chose pour les autres. Si on a un projet avec Netty et une équipe de 30 indiens, on a l'intérêt de faire de choses de bas niveau une fois et laisser la tache simple pour les 29 autres.

 

>A l'evidence je n'ai pas vu tout le progres effectue par TypeScript, notamment concernant l'outillage. Mais le fait qu'il soit base sur JavaScript a tue mon enthousiasme d'entree de jeu.

Moi, c'était l'inverse, j'ai aussi raté la poussé de TS, mais c'est grâce à lui j'ai (re)découvert va véritable beauté de  typage.

 

Exemple : je développe un framework interne qui propose un composant <MyGataDrid data=... > ;  il faut lui filler les données à afficher, mais je veux que mon frmk soit cool et agréable à utiliser, donc je veux pouvoir lui filler les données sous forme de :

- Liste des objets

- Fonction qui retourne la liste des objets

- Fonction qui retourne une Promise qui retournera la liste de données

- String (url de l'API backend où mon composant il va aller chercher ses donner)

 

avec TypeScript je declare ca (version simplifié, il fallait définir un type nommé):

interface MyGataDridProps{

   data : object[] | ()=>(object[] | Promise) | string

}

 

puis quand je travail avec la valeur de "data"

 

if (data instanceof Array){

    const x = data.length;  // no error here, no casting needed

} else if (data instanceof Function){

    const res = data();  // no error here, no casting needed

    if (res instanceof Promise){

      ....

    } else {

       const x = res.length ; // no error here, no casting needed, res is recognized as object[]

    }

} else {

       const s = res.toLowerCase(); // no error here, no casting needed, data is recognized as String

}

 

Aussi, par défaut c'est null-safe. "data" ne va jamais être null, il faut autoriser les nulls explicitement "data? : object[] | ()=>(object[] | Promise) | string"

 

(comme ça ou presque)  en tout cas, vous avez compris l'idée que ici le compilateur nous AIDE vraiment.

 

BTW, c'est pas mal d'utiliser "const" à la place de "var" ou "val" ou "let", ça évite pas mal de pb. et quand tu declare avec "let" une variable qui n'est jamais modifié, on va se faire redressé par aussi.

Laurent Caillette

unread,
Oct 5, 2018, 8:43:31 AM10/5/18
to tec...@googlegroups.com
Ah la j'avoue le type polymorphe ca m'aurait servi un paquet de fois !
Pour le reste (transtypage intelligent dans le corps du "if machin instanceof") Kotlin fait ca aussi.
Ce qui m'enerve quand je code en Java c'est que tous mes super idiomes que j'ai mis 10 ans a faire emerger ils se retrouvent dans Kotlin sous la forme d'une declaration "data class" et basta. J'imagine que tu as eu la meme surprise avec TypeScript.

Vitaliy Shevchuk

unread,
Oct 5, 2018, 9:09:06 AM10/5/18
to tec...@googlegroups.com

>(transtypage intelligent dans le corps du "if machin instanceof") Kotlin fait ca aussi. 

La magie que je voulais monter, c'est pas dans le corps, mais dans 'else' sans instanceof.  Autrement oui, c'est similaire. 



Envoyé depuis mon smartphone Samsung Galaxy.

-------- Message d'origine --------
De : Laurent Caillette <laurent....@gmail.com>
Date : 05/10/2018 14:43 (GMT+01:00)

Henri Tremblay

unread,
Oct 5, 2018, 9:09:44 AM10/5/18
to tec...@googlegroups.com
À noter: Vitaliy, je n'ai pas dit ça :-)

Le langage ne m'intéresse pas ici. Le point était que un client lourd a encore une utilité. Tu ne peux pas avoir les performance de JavaFX dans un navigateur. Mais je parle de hautes performances. Par exemple, j'ai vu un outil de génération de trajectoires de satellites pour évaluer la meilleure. C'est des centaines de millions de points. Ça ne passe pas dans un navigateur. Ils ont essayé. Mais c'est pour des exemples très spécifiques.

En terme de langage, en effet, je vois beaucoup de bonheur dans Kotlin mais j'en ai fait très peu. Et de mon côté, j'aime beaucoup Typescript. Je ne suis pas encore rendu à remplacer Java mais JavaScript, sans problème.

Julien Kirch

unread,
Oct 5, 2018, 9:12:44 AM10/5/18
to tec...@googlegroups.com
Hello,

Perso je préfère avoir un switch-case (aka du pattern matching) à la place des if, avec un compilateur qui me valide que je n’ai pas oublié de cas dans le switch, je trouve ça plus lisible.

Julien

Vitaliy Shevchuk

unread,
Oct 5, 2018, 9:24:48 AM10/5/18
to tec...@googlegroups.com
Hm.. essayer de designer centaines de millions de points sur un ecran full hd, même 4k.... c'est sur que language n'est pas leur pb #1
:)))


Envoyé depuis mon smartphone Samsung Galaxy.

-------- Message d'origine --------
De : Henri Tremblay <henri.t...@gmail.com>
Date : 05/10/2018 15:09 (GMT+01:00)

Henri Tremblay

unread,
Oct 5, 2018, 10:18:57 AM10/5/18
to tec...@googlegroups.com

Laurent Caillette

unread,
Oct 5, 2018, 11:28:42 AM10/5/18
to tec...@googlegroups.com
Superbe appli Henri !

Considérant qu'Apple n'a aucun remords à tuer les produits non-rentables, s'ils sortent un iMac acceptant 128 Go de RAM plus une carte graphique avec 8 Go, c'est peut-être parce que des gens vont faire tourner des programmes dessus, et les gens qui les écrivent devront bien choisir des outils pour ca. Il ne faut pas se laisser assourdir par la propagande de Google qui ne favorise que les plateformes qui entrent dans son modèle économique.

(Et ca y est les accents sont revenus ! Mais pas la cédille hélas.


Henri Tremblay

unread,
Oct 5, 2018, 1:25:21 PM10/5/18
to tec...@googlegroups.com
Ah si tout le monde utilisait le CA_fr au lieu d'essayer de bricoler des UK_en et des US_en... Que de cécilles nous aurions!

Emmanuel Puybaret

unread,
Oct 8, 2018, 6:29:58 AM10/8/18
to tec...@googlegroups.com
Merci pour tous vos commentaires. C'est toujours intéressant de savoir ce qui se passe ailleurs :-)
Pas prêt de lâcher Swing côté desktop, mais côté web, vu que les applets sont à l'agonie, il va peut-être falloir que je m'intéresse à un toolkit JavaScript de niveau pas trop bas pour continuer mon projet de portage de Sweet Home 3D.

Bonne semaine, 

--
Emmanuel PUYBARET
Sweet Home 3D developer

Henri Tremblay

unread,
Oct 8, 2018, 5:45:37 PM10/8/18
to tec...@googlegroups.com

Greenfoot (me semble ou un truc comme ça) l'utilise avec grand succès pour le porter en version web.

Reply all
Reply to author
Forward
0 new messages