Zerosquare (./2331) :
Je pense que le facteur qui fait qu'il serait qu'un navigateur serait difficile/impossible à refaire from scratch aujourd'hui, c'est que le Web évolue tellement vite qu'on n'arriverait pas à avoir un rythme de développement suffisamment élevé pour arriver à suivre avec un tel retard au début.
C'est bien le web qui est problème. Non seulement la vitesse avec laquelle ça change, mais le nombre de trucs qu'il y a déjà maintenant. (C'est ça qui fait le "retard au début". Si c'étaient juste des changements, on commencerait directement avec la version la plus récente et c'est bon. Le problème est que les changements sont à 99% des ajouts – normal, faut dire, parce que sinon tous les vieux sites casseraient!) Depuis "Web 2.0", on exige de plus en plus de fonctionnalités inutiles du navigateur. Bientôt 2 décennies de "Web 2.0" ont fait totalement dégénérer la chose. Le mot-clé "HTML5" sert maintenant de prétexte pour spammer une fonctionnalité inutile après l'autre. Le "standard" HTML5 est en évolution constante, de plus en plus de fonctionnalités ont été rajoutées au HTML 5.0 pendant 3 années, puis ils ont décidé de le déclarer "stable" et de passer à la version 5.1, où le petit jeu a continué pendant 2 années, et maintenant, tout recommence avec le numéro de version 5.2. Évidemment, un navigateur qui implémenterait juste la version stable actuelle ne servirait à rien, parce que les sites "modernes" attendent la fonctionnalité inutile du jour (du "prochain" standard, non finalisé, qui change tout le temps).
Il y a 2 décennies, le projet (alors tout neuf) KDE arrivait à implémenter un moteur HTML avec juste une toute petite équipe (probablement une seule personne au départ). Ça a donné KHTML, qui a été à la base de WebKit, qui a été à la base de Blink et donc de Chromium. Maintenant, plus personne n'arrive à mettre à jour le KHTML original avec les changements permanents du web, et plus personne ne croit pouvoir faire ce qu'ont fait les développeurs de KHTML, c'est-à-dire implémenter un nouveau moteur HTML de zéro.