Comprimir y ofuscar código javascript

minify Con el avance de javascript como parte cada vez más importante en el desarrollo de aplicaciones web, el comprimir su contenido y a la vez ofuscarlo para evitar ingeniería inversa son 2 procesos cada vez más habituales, pero, no todo lo que brilla es oro; aquí quiero mostrar las ventajas y desventajas de ofuscar y comprimir el código javascript de una aplicación web.

Como todo en programación es relativo aquí solo me limitaré a cosas y características generales, luego cada programador debe decidir realmente lo que quiere.

Ventajas de comprimir y ofuscar javascript

  • el código resultante es mucho más ligero de descargar sin penalizar el rendimiento.
  • haces más difícil el proceso de ingeniería inversa (aunque solo es ralentizarlo con las herramientas de desofuscación actuales)

Desventajas

  • la corrección de errores y modificación del código resulta casi imposible en código ofuscado por tanto o se tiene el código fuente y se ofusca cada vez que hay una modificación o se genera dinámicamente con opciones como Minify Uri Builder.
  • las consolas de errores de los navegadores no pueden ubicar correctamente los fallos en un código compactado impidiendo ver en tiempo real la línea concreta del error y el archivo de origen.

Herramientas

  • Para ofuscar código javascript y css dinámicamente (o sea que tienes en el servidor la fuente intacta y cada usuario genera un archivo comprimido) tenemos minify de php.
  • Para desofuscar código javascript tenemos el Javascript unpacker and beautifier.
  • Para limpiar y optimizar el código de un archivo css tenemos clean css.
  • Comprimir código javascript desde consola con JSMin.

Al final que cada uno saque sus propias conclusiones.

Comentarios