Reducir el tamaño de las aplicaciones JavaScript de la Tienda Windows


Compressed Car
Cuando utilizo librerías externas en mis aplicaciones de la tienda Windows suelo tirar de NuGet, es la forma más cómoda de encontrar e instalar las librerías más comunes, pero tiene dos pequeñas pegas que conviene saber antes de publicar las aplicaciones:

UTF-8

Muchas de las librerías vienen con un código de página diferente de UTF-8 + BOM. Resulta que el Kit de pruebas de Windows 8 detecta que si la página de código no es esta última baja el rendimiento y nos dará error de certificación. Este kit es el mismo que se pasa como proceso automatizado en la tienda, así que si no pasa en nuestro equipo tampoco pasará la certificación en la tienda. Resolverlo es muy sencillo, basta con volver a guardar el archivo .js como UTF8 + BOM. Para ello abrimos el archivo y en el menú de archivo seleccionamos Advanced Save Options…:
Advanced Save Options...

En las opciones avanzadas podremos cambiar el Encoding a UTF-8 with signature:
Unicode UTF-8 with signature

Archivos innecesarios

En el caso de librerías de JavaScript, los paquetes de NuGet suelen tener más archivos que la propia librería. Pueden incluir, por ejemplo, la versión completa para que podamos depurar, la versión minimizada para desplegar, algún Readme y otros archivos para que funcione mejor el intellisense de JavaScript. En el siguiente ejemplo tenemos la última versión de la librería jquery, en producción sólo necesitaremos el archivo jquery-2.0.3.min.js, el resto podemos eliminarlos del paquete, pero nos vendrá bien mantenerlos en la solución para poder depurar y tener intellisense:

Unused jquery files

Para evitar que esos archivos se incluyan en el paquete, sólo tenemos que cambiar la propiedad Package Action del archivo a None:
Package Action: none

Una vez hecho esto con todos los archivos que hemos importado con NuGet ya tendremos la solución limpia y mejor preparada para publicar en el Windows Store.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s