<?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>Mundo Osukaru &#187; Frameworks</title>
	<atom:link href="http://www.osukaru.es/tag/frameworks/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.osukaru.es</link>
	<description>Desarrollo web y Tecnología</description>
	<lastBuildDate>Wed, 27 Jul 2011 12:10:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<script type="text/javascript">

if (typeof Meebo == 'undefined') {

Meebo=function(){(Meebo._=Meebo._||[]).push(arguments)};
(function(q){

	var args = arguments;
	if (!document.body) { return setTimeout(function(){ args.callee.apply(this, args) }, 100); }
	var d=document, b=d.body, m=b.insertBefore(d.createElement('div'), b.firstChild); s=d.createElement('script');
	m.id='meebo'; m.style.display='none'; m.innerHTML='<iframe id="meebo-iframe"></iframe>';
	s.src='http'+(q.https?'s':'')+'://'+(q.stage?'stage-':'')+'cim.meebo.com/cim/cim.php?network='+q.network;
	b.insertBefore(s, b.firstChild);

})({network:'mundoosukaru_xa39vo'});	}</script>	<item>
		<title>Symfony2 ya está aquí</title>
		<link>http://www.osukaru.es/programacion/symfony2-ya-esta-aqui/</link>
		<comments>http://www.osukaru.es/programacion/symfony2-ya-esta-aqui/#comments</comments>
		<pubDate>Tue, 08 Mar 2011 12:58:58 +0000</pubDate>
		<dc:creator>Osukaru</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[Symfony2]]></category>
		<category><![CDATA[XSL PHP]]></category>

		<guid isPermaLink="false">http://www.osukaru.es/?p=230</guid>
		<description><![CDATA[En el pasado evento Symfony Live 2011 de París se dio a conocer el nuevo sitio web del proyecto:  symfony.com y el Lunes día 7  de Marzo se habilitó la descarga de la distribución Symfony Standard 2.0.0 PR7.   Al ser una Preview Realease todavía no se puede garantizar la estabilidad del framework, pero ya [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">En el pasado evento <a href="http://www.symfony.es/2011/03/06/sflive2011-resumen-de-todas-las-presentaciones/" target="_blank">Symfony Live 2011 de París</a> se dio a conocer el nuevo sitio web del proyecto:  <a href="http://symfony.com" target="_blank">symfony.com</a> y el Lunes día 7  de Marzo se habilitó la descarga de la distribución <a href="http://symfony.com/download" target="_blank">Symfony Standard 2.0.0 PR7</a>.   Al ser una <em>Preview Realease</em> todavía no se puede garantizar la estabilidad del framework, pero ya se puede ir probando esta versión con bastantes garantías.<br />
<span id="more-230"></span><br />
Una de las novedades de Symfony2 es que se basará en distribuciones, al más puro estilo Linux.  Actualmente sólo existe la distribución estándar de forma oficial, pero es de esperar que salgan otras distribuciones oficiales, cada una con su propia selección de Bundles y configuración inicial básica, y por supuesto, muchas distribuciones &#8220;no oficiales&#8221;.</p>
<p style="text-align: justify;">Para probar esta nueva versión de forma rápida, basta con bajarnos el archivo comprimido y descomprimirlo en el directorio web de nuestro servidor Apache (redordad que esta no es una forma segura de desplegar una aplicación en Apache) y si cumplimos todos los requisitos se nos mostrará una bonita página de bienvenida accediendo a: <a href="http://localhost/Symfony/web/app_dev.php/" target="_blank">http://localhost/Symfony/web/app_dev.php/</a>:</p>
<p><a href="http://www.osukaru.es/wp-content/uploads/2011/03/SymfonyWelcome.jpg"></a><a href="http://www.osukaru.es/wp-content/uploads/2011/03/SymfonyWelcome.jpg"><img class="aligncenter size-medium wp-image-236" title="SymfonyWelcome" src="http://www.osukaru.es/wp-content/uploads/2011/03/SymfonyWelcome-300x209.jpg" alt="Pantalla de bienvenida de Symfony" width="600" height="418" /></a></p>
<p>En esta nueva versión, tenemos una demo básica &#8220;Hola Mundo&#8221;:</p>
<p><a href="http://www.osukaru.es/wp-content/uploads/2011/03/SymfonyHello.jpg"><img class="aligncenter size-medium wp-image-238" title="SymfonyHello" src="http://www.osukaru.es/wp-content/uploads/2011/03/SymfonyHello-300x208.jpg" alt="Hola mundo" width="600" height="416" /></a></p>
<p>y un configurador gráfico de la base de datos:</p>
<p><a href="http://www.osukaru.es/wp-content/uploads/2011/03/SymfonyConfiguration.jpg"><img class="aligncenter size-medium wp-image-239" title="SymfonyConfiguration" src="http://www.osukaru.es/wp-content/uploads/2011/03/SymfonyConfiguration-300x191.jpg" alt="Configurador gráfico de base de datos" width="600" height="382" /></a></p>
<img style='display:none' id="post-230-blankimage" onload="Meebo('discoverSharable', {element: ((this.parentNode.className.match('post')) ? this.parentNode : this.parentNode.parentNode) ,url:'http://www.osukaru.es/programacion/symfony2-ya-esta-aqui/',title:'Symfony2 ya está aquí',tweet:'En el pasado evento Symfony Live 2011 de París se dio a conocer el nuevo sitio web del proyecto:  ',description:'En el pasado evento Symfony Live 2011 de París se dio a conocer el nuevo sitio web del proyecto:  '})"><script type='text/javascript'>document.getElementById("post-230-blankimage").onload();</script>]]></content:encoded>
			<wfw:commentRss>http://www.osukaru.es/programacion/symfony2-ya-esta-aqui/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Preparandonos para la llegada de Symfony2</title>
		<link>http://www.osukaru.es/programacion/preparandonos-para-la-llegada-de-symfony2/</link>
		<comments>http://www.osukaru.es/programacion/preparandonos-para-la-llegada-de-symfony2/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 09:36:21 +0000</pubDate>
		<dc:creator>Osukaru</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[Symfony2]]></category>

		<guid isPermaLink="false">http://www.osukaru.es/?p=219</guid>
		<description><![CDATA[El próximo 5 de Marzo de 2011, si todo va bien, se publicará la versión final de Symfony2 (se anunciará durante el evento Symfony Live 2011 que tendrá lugar en París del 2 al 5 de Marzo). Mientras tanto, ¿qué podemos ir haciendo? A pesar de que Symfony2 aún está en su fase de desarrollo [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">El próximo 5 de Marzo de 2011, si todo va bien, se publicará la versión final de <a href="http://symfony-reloaded.org/" target="_blank">Symfony2</a> (se anunciará durante el evento <a href="http://www.symfony-live.com/paris" target="_blank">Symfony Live 2011</a> que tendrá lugar en París del 2 al 5 de Marzo). Mientras tanto, ¿qué podemos ir haciendo?<br />
<span id="more-219"></span><br />
A pesar de que Symfony2 aún está en su fase de desarrollo la versión que nos ofrecen actualmente es bastante estable y completamente funcional. Además existe ya mucha <a href="http://docs.symfony-reloaded.org/?page=learn" target="_blank">documentación</a>, eso sí, en inglés y a veces sin actualizar con los últimos cambios (aún así la documentación es mejor de la que nos ofrecen algunos otros frameworks que se supone que están terminados).</p>
<p style="text-align: justify;">Si queremos iniciarnos con este framework, lo más fácil es echar una ojeada al <a href="http://docs.symfony-reloaded.org/quick_tour/index.html" target="_blank">Quick Tour</a> (<a href="http://parasitovirtual.wordpress.com/2011/02/22/quick-tour-por-symfony2-primeros-pasos/" target="_blank">aquí</a> lo tenéis en castellano, cortesía de Francisco Belmonte Ruiz), que comienza con la descarga del <a href="http://symfony-reloaded.org/downloads/sandbox_2_0_PR6.zip" target="_blank">Sandbox</a>, un pequeño proyecto con el típico &#8220;Hola Mundo&#8221;.</p>
<p style="text-align: justify;">Para ponernos a trabajar es necesario tener una versión de PHP superior a la 5.3.2 (en mi caso he instalado la última versión de <a href="http://www.wampserver.com/en/" target="_blank">WampServer2</a>). Si trabajáis en Windows, recordad poner la ruta al ejecutable de PHP en el Path para poder ejecutar los comandos desde la consola. Y para ser más productivos, seguiremos utilizando <a href="http://netbeans.org/downloads/index.html" target="_blank">NetBeans</a> como IDE de desarrollo. De momento Netbeans no trae incorporado el soporte a Symfony2 como sí hacía con la versión anterior, pero no notaremos mucha diferencia salvo que tendremos que salir del IDE para ejecutar los comandos por consola, tan sólo tenemos que crear un nuevo proyecto desde el código fuente existente del Sandbox y ya podremos ponernos a trabajar.</p>
<p style="text-align: justify;">Para acostumbrarnos a las buenas prácticas desde un principio, es aconsejable que nos familiaricemos con dos herramientas vitales para el desarrollo: <a href="http://git-scm.com/" target="_blank">Git</a> (echa un vistazo a <a href="http://progit.org/book/es/" target="_blank">esta documentación</a>) y <a href="https://github.com/sebastianbergmann/phpunit/" target="_blank">PHPUnit</a> (que además podremos integrarlo en Netbeans). Si ya venías utilizando Subversion para el versionado de código y Lime para la realización de las pruebas automáticas, el cambio no te supondrá demasiado esfuerzo y si nunca habías utilizado herramientas de este estilo, ¿a qué estabas esperando?</p>
<p style="text-align: justify;">Ya tenemos nuestro entorno preparado para ser lo más productivos posibles desde el primer día, así que lo mejor será que empecemos a estudiar algunos de los conceptos clave de nuestro nuevo framework. Desde mi punto de vista, lo más destacable de Symfony2 es su nueva arquitectura con la organización en Bundles (echa un vistazo a <a href="http://symfony2bundles.org/" target="_blank">esta página</a>) y el contenedor de inyección de dependencias (DIC, <a href="http://components.symfony-project.org/dependency-injection/documentation" target="_blank">aquí</a> puedes introducirte al este concepto). Si dominamos estos dos conceptos, el desarrollo con Symfony2 se nos hará mucho más sencillo.</p>
<p style="text-align: justify;">Y para el final dejo otras dos de las características que van a dar un salto de calidad (tanto en rendimiento como en productividad) a nuestros desarrollos: <a href="http://www.twig-project.org/" target="_blank">Twig</a> y <a href="http://docs.symfony-reloaded.org/guides/doctrine/index.html" target="_blank">Doctrine2</a>.</p>
<p style="text-align: justify;">Twig es un motor de plantillas que es el que se va a utilizar por defecto en Symfony2, aunque siempre tendremos la posibilidad de seguir utilizando nuestras plantillas en PHP. Si vamos a trabajar con Netbeans sería interesante que asocies la extensión .twig con el tipo de archivos HTML para que te funcione el resaltador de sintaxis.</p>
<p style="text-align: justify;">Por su parte, Doctrine2 es la nueva versión del ORM que ya se convirtió en el preferido por los desarrolladores de Symfony en su versión anterior.</p>
<p style="text-align: justify;">Esto es todo, de aquí al 5 de Marzo hay muchas cosas que aprender, ¿no te parece?</p>
<img style='display:none' id="post-219-blankimage" onload="Meebo('discoverSharable', {element: ((this.parentNode.className.match('post')) ? this.parentNode : this.parentNode.parentNode) ,url:'http://www.osukaru.es/programacion/preparandonos-para-la-llegada-de-symfony2/',title:'Preparandonos para la llegada de Symfony2',tweet:'El próximo 5 de Marzo de 2011, si todo va bien, se publicará la versión final de Symfony2 (se anu',description:'El próximo 5 de Marzo de 2011, si todo va bien, se publicará la versión final de Symfony2 (se anu'})"><script type='text/javascript'>document.getElementById("post-219-blankimage").onload();</script>]]></content:encoded>
			<wfw:commentRss>http://www.osukaru.es/programacion/preparandonos-para-la-llegada-de-symfony2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¿Por qué un blog?</title>
		<link>http://www.osukaru.es/programacion/por-que-un-blog/</link>
		<comments>http://www.osukaru.es/programacion/por-que-un-blog/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 18:32:23 +0000</pubDate>
		<dc:creator>Osukaru</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Arquitectura Web]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Frameworks]]></category>

		<guid isPermaLink="false">http://www.osukaru.es/?p=9</guid>
		<description><![CDATA[Todos mis lectores se hacen la misma pregunta: ¿has adquirido tu propio dominio y estás pagando un hosting para tener un simple blog? Bueno, dicho así parece un poco tonto, sobretodo cuando podemos utilizar Blogger, que se integra en nuestra cuenta Gmail y nos sobra para escribir todo lo que queramos bien estructurado y etiquetado [...]]]></description>
			<content:encoded><![CDATA[<p>Todos mis lectores se hacen la misma pregunta: ¿has adquirido tu propio dominio y estás pagando un hosting para tener un simple blog? Bueno, dicho así parece un poco tonto, sobretodo cuando podemos utilizar <a href="http://www.blogger.com">Blogger</a>, que se integra en nuestra cuenta Gmail y nos sobra para escribir todo lo que queramos bien estructurado y etiquetado y con gran cantidad de widgets y temas para configurarlo. ¿Entoces? Tendré que hacer un repaso desde los días previos a adquirir mi dominio hasta ahora&#8230;</p>
<p><span id="more-9"></span>Estaba yo tranquilamente navegando por internet descubriendo infinidad de cosas interesantes (gracias <a href="http://www.evernote.com/">Evernote</a> por hacer que navegar por internet no sea un sinónimo de perder el tiempo) cuando no sé muy bien por qué caí en una página en la que hablaban de diferentes herramientas CMS (Sistemas de Gestión de Contenidos). Había oido hablar de varios de ellos otras veces, pero nunca me habían llamado la atención, siempre me han parecido una herramienta para desarrolladores web &#8220;amateurs&#8221;.</p>
<p>Sin embargo, ese día me entró curiosidad y estuve estudiándolos, sobretodo <a href="http://www.joomlaspanish.org/">Joomla</a> y <a href="http://drupal.org.es/">Drupal</a>. Me hice con un hosting gratuito en <a href="http://dosmilonce.co.cc/">Dosmilonce</a> y  empecé a hacer instalaciones y pruebas. Al comprobar las limitaciones de un hosting gratuito me decidí a adquirir uno de pago con dominio incluido en <a href="http://www.masbaratoimposible.com/">MBI</a> (Más Barato Imposible). Ya con mi propio dominio estuve trasteando (además de con los citados CMS) con un sistema de e-Learning como <a href="http://docs.moodle.org/es/Portada">Moodle</a>, foros <a href="http://www.simplemachines.org/">SMF</a> y <a href="http://www.phpbb.com/">phpBB</a>, <a href="http://www.mediawiki.org/wiki/MediaWiki/es">mediawiki</a> y <a href="http://es.wordpress.org/">WordPress</a>.</p>
<p>Después de mucho trastear, se despertó mi interés por el mundo PHP. Yo por aquel entonces estaba aprendiendo bastante sobre el framework <a href="http://www.springsource.org/">Spring</a> para Java y montando en mi portátil una arquitectura con <a href="http://www.jboss.org/jbossas/downloads/"> JBoss</a> como servidor de aplicaciones y <a href="http://dev.mysql.com/downloads/">MySQL</a>+<a href="https://www.hibernate.org/">Hibernate</a>+<a href="http://www.springsource.org/">Spring</a>+<a href="http://www.springsource.org/">BlazeDS</a>+<a href="http://www.adobe.com/es/products/flex/">Flex</a>+<a href="http://www.guasax.com/guasax/web/en/index.php">Guasax</a>. Aunque aprendí bastantes cositas, el hecho de que ya tenía en mi poder un hosting PHP y que un hosting Java decente es bastante caro me hizo investigar un poco sobre cómo se desarrollan aplicaciones web 2.0 y RIA desde un entorno PHP. Y ahí es donde descubrí el maravilloso mundo de <a href="http://www.symfony-project.org/">Symfony</a>. Este framework PHP es muy completo y con muy buena <a href="http://www.symfony.es/documentacion/">documentación en español</a>, nos permite elegir entre dos ORM distintos muy potentes (<a href="http://propel.phpdb.org/trac/">Propel</a> y <a href="http://www.doctrine-project.org/">Doctrine</a>) y nos da un excelente soporte para AJAX (<a href="http://www.prototypejs.org/">Prototype</a> y <a href="http://script.aculo.us/">script.aculo.es</a>). Combinándolo con una gran cantidad de <a href="http://www.symfony-project.org/plugins/">plugins</a> elaborados por su prolífica <a href="http://www.symfony-project.org/community">comunidad</a> y con un buen framework CSS (como <a href="http://developer.yahoo.com/yui/">YUI</a> o <a href="http://960.gs/">960 Grid System</a>) estaremos en disposición de desarrollar aplicaciones web utilizando las mejores prácticas y de manera totalmente estandarizada.</p>
<p>Además, descubrí que tanto mi cuñado César (<a href="http://www.neofis.com/">www.neofis.com</a>) como mi primo Javi (<a href="http://www.flai.es/">www.flai.es</a>) utilizan <a href="http://www.symfony-project.org/">Symfony</a> en sus proyectos, lo que me animó a seguir aprendiendo.</p>
<p>Volvamos un poco al tema principal del artículo. Por un lado quería realizar un portal personal en mi dominio que fuese atractivo, con varias secciones y fácil de realizar, así que me adentré un poco más en <a href="http://www.joomlaspanish.org/">Joomla</a> y <a href="http://drupal.org.es/">Drupal</a> y vi que con <a href="http://drupal.org.es/">Drupal</a> tendría más posibilidades de personalizar el sitio a mi gusto. Empecé a configurar <a href="http://drupal.org.es/">Drupal</a> en mi sitio, pero sinceramente, no se puede pretender convertir un gestor de contenidos en un &#8220;generador de aplicaciones&#8221;.</p>
<p>Además, poco a poco fui descubriendo que mi hosting probablemente haga honor a su nombre (por lo menos entre los alojados en España) pero que más calidad sí es posible (¡OJO! <a href="http://www.masbaratoimposible.com/">MBI</a> no es una mala opción) y que además se puede encontrar un hosting mejor optimizado para <a href="http://www.symfony-project.org/">Symfony</a> (<a href="http://www.servergrove.com/symfonyhosting">ServerGrove</a> es una muy buena opción).</p>
<p>Así que decidí emplear mi tiempo en seguir aprendiendo a desarrollar aplicaciones web con <a href="http://www.symfony-project.org/">Symfony</a> y utilizar mi web para ir compartiendo mi aprendizaje con todo aquel que por alguna extraña razón termine por aquí.</p>
<img style='display:none' id="post-9-blankimage" onload="Meebo('discoverSharable', {element: ((this.parentNode.className.match('post')) ? this.parentNode : this.parentNode.parentNode) ,url:'http://www.osukaru.es/programacion/por-que-un-blog/',title:'¿Por qué un blog?',tweet:'Todos mis lectores se hacen la misma pregunta: ¿has adquirido tu propio dominio y estás pagando un',description:'Todos mis lectores se hacen la misma pregunta: ¿has adquirido tu propio dominio y estás pagando un'})"><script type='text/javascript'>document.getElementById("post-9-blankimage").onload();</script>]]></content:encoded>
			<wfw:commentRss>http://www.osukaru.es/programacion/por-que-un-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

