¿Por qué no enviar archivos JavaScript en código de bytes específico del navegador? [cerrado]

No existe un código de bytes universal para JavaScript, pero la mayoría de los motores de JavaScript tienen su propio código de bytes. Dado que los archivos JavaScript viajan como una cadena de código fuente, tienen que analizar / compilar la cadena de código fuente en bytecode antes de la ejecución.

Sin embargo, como podemos especificar un tipo de agente de usuario (por ejemplo, tipo y versión del navegador) en la solicitud HTTP, ¿no podemos hacer que el servidor mantenga el código de bytes para cada navegador y responda en consecuencia para ahorrar algo de tiempo en el cliente?

¿Qué nos impide adoptar este enfoque? No creo que los navegadores no tengan ningún problema, incluso si algunos archivos JavaScript se dan en bytecode y otros en la cadena de origen. Del mismo modo, tenemos archivos .pyc en Python, y funciona bien con archivos .py.

[Actualizar] Los beneficios potenciales que se me ocurren están a continuación.

Puede ahorrar tiempo de análisis en el cliente. El análisis es rápido, pero puede valer la pena hacerlo para dispositivos de gama baja.Podrías poner algunas pistas en bytecode. Por ejemplo, JavaScriptCore (motor JavaScript de WebKit, JSC para abreviar) parchea el código de bytes con información recopilada durante el tiempo de ejecución, como los tipos. El código de bytes de JSC está diseñado de manera que tiene ranuras para dicha información.

En términos de mantenimiento, el servidor siempre puede enviar la cadena de código fuente original si el navegador del cliente no es compatible, y no hay tantos motores JavaScript diferentes. Soportar los cuatro navegadores más populares (Chrome, Firefox, IE y Safari) me parece factible. Además, no veo que el conjunto de instrucciones de bytecode cambie con frecuencia.

Respuestas a la pregunta(1)

Su respuesta a la pregunta