Bonjour,
Je viens de lire attentivement tes interventions.
Je suis entièrement d'accord avec toi "nous devons avoir le choix"
HTML permet d'embarquer des scripts et il est possible d'utiliser d'autres langages que JavaScript
En 1996 j'embarquais du TCL et IE permettait d'utiliser VBS.
Mais, je ne suis pas d'accord lorsque certains dissent qu’il faut supprimer les prototypes et le typage dynamique de JS et le remplacer par des classes et du typage Satique.
EcmaScript n'est pas utilisé que dans le WEB et je ne suis pas toujours très content de la façon don EcmaScript est intégré au navigateur la Partie W3C de JS est pour moi plus problématique que le langage.
Lorsqu’on utilise EcmaScript dans d'autres contextes que le Web, sa capacité à faire évoluer ces objets est pertinente efficace.
Je sais que cela à un coût et je suis le premier à dire qu'il faut utiliser la modélisation statique lorsque cela est pertinent.
Je pense qu'effectivement tout comme par le passé avec le shellScript on est arrivé à des usages dans le navigateur qui ne sont plus dans le scope de départ. Il ne s'agit plus d'écrire un petit script pour gérer un évènement. Aujourd'hui on écrit de véritable application quasi 100% JS et là le modèle de programmation proposé n'est peut être la le meilleur.
Pour faire des IHM, la modélisation par classes a fait ses preuves.
Je suis personnellement confronté à la situation inverse tous les jours.
J'ai des dev fait en JAVA dans lequel je manipule des "objets" très mouvants aux contours flous.
Pour y parvenir, j'ai fini par utiliser des HashMap. Du coup tous mes "objets" sont des HashMap. À quoi peut me servir le typage statique ? Je ne peux pas utiliser le polymorphisme Java puisque ce sont tous des HashMap
Je dois donc faire ce qui est le pire en java des if et switch pour déterminer quelle méthode statique d'un objet statique utiliser sur ma HashMap, idéalement il me faudrait pouvoir associer à ma HashMap un objet qui possède toutes les méthodes le concernant. Mais ayant quelques centaines de méthodes il me faudrait alors prévoir toutes les combinaisons possibles. N'ayant pas connaissance avant l'exécution du contenu de ces "objets" je ne peux pas faire des classes pour chaque "type d'objet" que je reçois.
Au final sur cette partie je fais du dev procédural en Java.
Avec Nashorn (Js dans Java8), j'ai le meilleur des deux mondes. Pour cette partie particulièrement peu typée, JS est une force. Pour tout le reste les classes java font des merveilles.
Malheureusement Java8 n'est pas encore une cible pour la mise en production. Mais tous mes tests montrent qu’utiliser JS pour cette partie donne un code simple, robuste, adaptable, maintenable, évolutif, et concis.
Tout le contraire des mots que je lis dans les critiques de JavaScript. Et le code JS étant dans le Jar Java il n'est pas modifiable par l'utilisateur donc je n'ai pas de Pb de sécurité plus important qu'avec le reste de l'appli.
J'aimerais dans le monde web voir apparaitre plusieurs choses.
D'autres langages supportés en standard dans le navigateur pour cibler les nouveaux usages.
J'aimerais aussi pouvoir envoyer au navigateur un "lanceur d'app". Un mime type qui dirait au navigateur charge ce JS (ou un autre langage) et exécute-le. Je trouve très con de faire une page HTML comme
<html<head><script src="myapp.js"></script></head></html>
j'aimerais bien pouvoir dire au navigateur charge myapp.js et exécute-la. Je n'ai jamais de code HTML dans mes applis.
A+JYT
Partager