<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Artefacto &#187; programación</title>
	<atom:link href="http://blog.artefactomania.com/tag/programacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.artefactomania.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Tue, 31 Aug 2010 07:31:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Reducir los archivos Javascript</title>
		<link>http://blog.artefactomania.com/2009/02/reducir-los-archivos-javascript/</link>
		<comments>http://blog.artefactomania.com/2009/02/reducir-los-archivos-javascript/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 23:22:59 +0000</pubDate>
		<dc:creator>Pablo</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[artefacto server]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[programación]]></category>

		<guid isPermaLink="false">http://blog.artefactomania.com/?p=128</guid>
		<description><![CDATA[Llevo todo el fin de semana arreglando el código de Artefacto Server, mejorando su legibilidad y tratando de mejorar su eficiencia todo lo que sea posible. El problema de las aplicaciones web es que en cuanto empiezan a crecer se multiplican las consultas a la base de datos, la inclusión de ficheros de PHP, la [...]]]></description>
			<content:encoded><![CDATA[<p>Llevo todo el fin de semana arreglando el código de <a href="http://artefactoserver.com">Artefacto Server</a>, mejorando su legibilidad y tratando de mejorar su eficiencia todo lo que sea posible. El problema de las aplicaciones web es que en cuanto empiezan a crecer se multiplican las consultas a la base de datos, la inclusión de ficheros de PHP, la descarga de archivos de estilos o de Javascript&#8230; y al final pueden llegar a ser realmente pesadas.</p>
<p>De momento me estoy centrando en limitar las comprobaciones en la inclusión de archivos PHP, sustituyendo los require_once() por llamadas a require() convencionales (que resultan algo más rápidas al no tener que comprobar si el archivo ya ha sido incluido), en la corrección general del código, en la optimización de las consultas a la base de datos (verdadero <strong>cuello de botella</strong> de las aplicaciones web) y en la reducción del tamaño de las páginas.</p>
<p>Sobre esto último, algunas secciones del panel de control de Artefacto Server tenían código CSS o Javascript escrito directamente en el archivo PHP. Esto es un problema porque <strong>incrementa el tamaño de la página</strong> que se descarga al navegador, con lo cual el tiempo de carga es mayor. Ya solucionamos esto en gran medida en Artefacto Server 3.1, pero todavía quedaban algunos módulos con ciertas particularidades sin actualizar.</p>
<p>La ventaja de este enfoque es que el navegador guarda en la caché los archivos y eso siempre acelera la carga. No obstante, todavía se puede dar una vuelta de tuerca más, que consiste en <strong>comprimir el código Javascript o CSS</strong>, eliminando saltos de línea, espacios, etc. Adicionalmente, se puede cambiar el nombre de las funciones y variables y reducir el código todavía más. Para no tener que hacer este trabajo a mano hay algunas opciones interesantes, y la más popular parece ser <a href="http://www.crockford.com/javascript/jsmin.html" target="_blank">JSMin</a>, que además es libre. Hay una implementación en PHP, <a href="http://code.google.com/p/jsmin-php/" target="_blank">jsmin-php</a>, con la que he estado trabajando estos días. He hecho la prueba con uno de los ficheros de funciones comunes y ha pasado de 3060 a 2476 bytes, lo cual nos arroja una tasa de compresión del 20%, que no está nada mal. Otro fichero Javascript del panel de control ha pasado de 3247 a 1754, lo cual supone una reducción de casi el 50%.</p>
<p>Hay que decir que todo esto no va a solucionarnos ningún problema por si solo, sino que tenemos que tomarlo como una acción más de un conjunto de medidas encaminadas a mejorar la rapidez general de la aplicación.</p>
<p>Vía | <a href="http://www.anieto2k.com/2008/05/06/reducir-ficheros-javascript-desde-php/" target="_blank">aNieto2k</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.artefactomania.com/2009/02/reducir-los-archivos-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
