Et la plus grosse d'entre elles est malheureusement JS.
Je ne serais pas surpris si un jour tous les jeux étaient codés en WebGL (et plus généralement si toutes les applis étaient dispos sous forme de pages web). Mais ça n'arrivera que lorsqu'il sera possible d'envoyer un code de plus bas niveau que JS, par exemple via NaCl ou asm.js. Accessoirement il y aura aussi du boulot à faire sur le support des périphériques, des casques 3D aux manettes et joysticks. Enfin les cartes 3D doivent offrir une mémoire virtuelle et des anneaux de privilèges comme les CPU (c'est déjà le cas chez AMD avec HSA) pour alléger le poids du bac à sable aujourd'hui en place autour des appels webgl.
Mais sur le fond on en revient toujours à la même chose depuis vingt ans : le problème c'est JS. Quelles que soient les qualités de ce langage (ou pas), comme solution universelle imposée c'est un foutu boulet. Et les navigateurs doivent plus généralement devenir de vrais petits OS capables d'exécuter de façon sûre un code de plus bas niveau qu'aujourd'hui et d'offrir à des applis web universelles tout ce dont elles ont besoin.
Et, non, JS n'est pas aussi rapide que le C (sauf sur trois mini-benchmarks bidons). Non, les compilateurs JS ne savent pas faire de vaudou et ont atteint leurs limites (ou alors il faudra rendre la compilation extrêmement longue - plusieurs heures).
Allez, je vous laisse me moinsser. Mais j'ai raison.
Partager