<?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>Reflexiones y notas sobre el mundo de los servicios IT enfocados a soluciones de negocio. Reseñas sobre la elaboración de sistemas de información,valoración de frameworks, programación y opiniones sobre herramientas de desarrollo de aplicaciones &#187; Frameworks</title>
	<atom:link href="http://www.esviable.es/category/frameworks/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.esviable.es</link>
	<description>Reflexiones y notas sobre el mundo de los servicios IT enfocados a soluciones de negocio. Reseñas sobre la elaboración de sistemas de información,valoración de frameworks, programación y opiniones sobre herramientas de desarrollo de aplicaciones</description>
	<lastBuildDate>Sat, 22 May 2010 04:28:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Nueva versión de Xataface 1.2.4</title>
		<link>http://www.esviable.es/2010/05/22/nueva-version-de-xataface-1-2-4/</link>
		<comments>http://www.esviable.es/2010/05/22/nueva-version-de-xataface-1-2-4/#comments</comments>
		<pubDate>Sat, 22 May 2010 04:28:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Web Php]]></category>
		<category><![CDATA[backend]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[smarty]]></category>
		<category><![CDATA[xataface]]></category>

		<guid isPermaLink="false">http://www.esviable.es/?p=310</guid>
		<description><![CDATA[Ya podéis descargar la última versión de xataface, interesante framework para gestión de bases de datos, basado en php, mysql y smarty.
Me gustaría conocer cuales son las nuevas features de esta release, pero en la web del autor solo aparece este comentario:
&#8220;It has been a while since the last release of Xataface so I have [...]]]></description>
			<content:encoded><![CDATA[<p>Ya podéis descargar la última versión de xataface, interesante framework para gestión de bases de datos, basado en php, mysql y smarty.</p>
<p>Me gustaría conocer cuales son las nuevas features de esta release, pero en la web del autor solo aparece este comentario:<br />
&#8220;It has been a while since the last release of Xataface so I have released a bug fix release that includes all of the small changes that have accumulated over the past several months. This version includes better support for PHP 5.3 and fixes a lot of the small bugs and annoyances that have been pointed out in the forum.</p>
<p>There shouldn&#8217;t be any problem upgrading from 1.2.x as there aren&#8217;t any major changes here. Just stability improvements for the most part.&#8221;</p>
<p>Aprovechando el post, para todo aquel que tenga curiosidad por el funcionamiento de esta herramienta, describiré la instalación rapidamente:</p>
<ul>
<li>Descargamos la última release desde <a href="http://sourceforge.net/projects/dataface/files/">sourceforge</a></li>
<li>Damos permisos de escritura al directorio dataface/Dataface/templates_c para almacenar las plantillas compiladas</li>
<li>Verificamos que la instalación es correcta vía url http://tudominio.com/path/to/dataface/dataface_info.php</li>
<li>Ahora relacionamos la base de datos con xataface (es el momento de crear tu base de datos si no lo has hecho todavía)</li>
<li>Ejecuta el binario makesite que se encuentra en el directorio dataface:<br />
	       Uso: makesite: ./makesite app_path user:password@hostname/db_name dataface_url<br />
donde<br />
app_path -&gt; Ruta absoluta o relativa al directorio donde se encuentra la aplicación<br />
user -&gt; Usuario de mysql<br />
password -&gt; Password de mysql<br />
hostname -&gt; Nombre del host donde está la base de datos.<br />
db_name -&gt; Nombre de la base de datos.<br />
dataface_url -&gt; Url donde has instalado xataface</li>
</ul>
<p>Por ejemplo:</p>
<pre class="cpp">makesite ../Crm root:password@localhost/Crm /dataface
</pre>
<li>Ejecutando este comando crearíamos un sitio en .. /Crm (es decir, Crm como el directorio padre)<br />
La base de datos utilizada para este sitio está ubicado en localhost, y el nombre de la base de datos es Crm.</li>
<li>A continuación con este comando:
<pre class="cpp">./makesite ../Crm \root@localhost/Crm \http://localhost/tu_directorio/dataface
</pre>
</li>
<li>Crearemos nuestra aplicación en el directorio Crm que será accesible desde el navegador</li>
<p>¿Facil verdad?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.esviable.es/2010/05/22/nueva-version-de-xataface-1-2-4/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Media Player basado en html5 y jQuery (Open Source)</title>
		<link>http://www.esviable.es/2010/04/26/media-player-basado-en-html5-y-jquery-open-source/</link>
		<comments>http://www.esviable.es/2010/04/26/media-player-basado-en-html5-y-jquery-open-source/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 17:46:21 +0000</pubDate>
		<dc:creator>Efren</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[player]]></category>

		<guid isPermaLink="false">http://www.esviable.es/?p=286</guid>
		<description><![CDATA[OsmPlayer se define como una alternativa al uso de players flash en tus webs a través de una herramienta basada en jQuery y html5.
Las principales características que podemos encontrar en este producto son las siguientes:

Se trata de un proyecto open source
Está escrito bajo el framework jQuery y utiliza el standar html5
Utiliza el sistema de temas [...]]]></description>
			<content:encoded><![CDATA[<p>OsmPlayer se define como una alternativa al uso de players flash en tus webs a través de una herramienta basada en jQuery y html5.</p>
<p>Las principales características que podemos encontrar en este producto son las siguientes:</p>
<ul>
<li>Se trata de un proyecto open source</li>
<li>Está escrito bajo el framework jQuery y utiliza el standar html5</li>
<li>Utiliza el sistema de temas ThemeRoller</li>
<li>Tiene soporte para listas</li>
<li>Dispone de comunicación entre players</li>
<li>Ofrece una sencilla integración con Vimeo y YouTube</li>
<li>Dispone de fallback Flash para los medios de comunicación no estándar</li>
</ul>
<p><span id="more-286"></span>No encuentro el momento para implementarlo en el próximo proyecto en el que sea viable o hacer unas pruebas de rendimiento.</p>
<p>Podéis descargarlo en http://github.com/mediafront/osmplayer/archives/v0.8</p>
]]></content:encoded>
			<wfw:commentRss>http://www.esviable.es/2010/04/26/media-player-basado-en-html5-y-jquery-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trabajando con Xataface &#8211; Gestores de Contenidos</title>
		<link>http://www.esviable.es/2010/04/11/trabajando-con-xataface-gestores-de-contenidos/</link>
		<comments>http://www.esviable.es/2010/04/11/trabajando-con-xataface-gestores-de-contenidos/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 04:07:03 +0000</pubDate>
		<dc:creator>Efren</dc:creator>
				<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Web Php]]></category>
		<category><![CDATA[backend]]></category>
		<category><![CDATA[gestores de contenidos]]></category>
		<category><![CDATA[smarty]]></category>
		<category><![CDATA[xataface]]></category>

		<guid isPermaLink="false">http://www.esviable.es/?p=259</guid>
		<description><![CDATA[Introducción
A la hora de realizar una aplicación web con su gestor de contenidos, normalmente contamos con las opciones de usar un framework de desarrollo que nos ayude en la generación del backend, como pueden ser:

Symfony
CakePHP
CodeIgniter
etc

Utilizar un cms en el que integrar el frontend con una parametrización del backend utilizando:

WordPress
Joomla
Modx
Drupal
etc

Y también podemos utilizar Xataface, un potente [...]]]></description>
			<content:encoded><![CDATA[<p><code><strong>Introducción</strong></code><br />
<code>A la hora de realizar una aplicación web con su gestor de contenidos, normalmente contamos con las opciones de usar un framework de desarrollo que nos ayude en la generación del backend, como pueden ser:</code></p>
<ul>
<li><span style="font-family: monospace;">Symfony</span></li>
<li><span style="font-family: monospace;">CakePHP</span></li>
<li><span style="font-family: monospace;">CodeIgniter</span></li>
<li><span style="font-family: monospace;">etc</span></li>
</ul>
<p><span style="font-family: monospace;">Utilizar un cms en el que integrar el frontend con una parametrización del backend utilizando:</span></p>
<ul>
<li><span style="font-family: monospace;">WordPress</span></li>
<li><span style="font-family: monospace;">Joomla</span></li>
<li><span style="font-family: monospace;">Modx</span></li>
<li><span style="font-family: monospace;">Drupal</span></li>
<li><span style="font-family: monospace;">etc</span></li>
</ul>
<p><code>Y también podemos utilizar Xataface, un potente sistema de gestión de de bases de datos.</code><br />
<code>Siguiendo unos pequeños pasos podemos generar un backend que nos va a permitir realizar todas las operaciones básicas (altas, bajas y modificaciones) sobre nuestra base de datos.</code><br />
<code><span id="more-259"></span>Hace unos años conocí el producto pero no lo tomé como una opción a tener en cuenta a la hora de realizar un backend para una Web.</code><br />
<span style="font-family: monospace;">Uno de mis clientes me lo propuso como opción para realizar la administración de los contenidos de su web hace unos meses y después de estudiarlo comprobé que era una solución viable.</span><br />
<span style="font-family: monospace;">Para empezar a trabajar tan solo debemos editar el fichero de configuración general, conf.ini y empezar a customizar:</span><br />
<span style="font-family: monospace;">En conf.ini</span><br />
<span style="font-family: monospace;">[_database]</span><br />
<code> host=localhost<br />
name=mydb<br />
user=me<br />
password=mypass</code></p>
<p><code> </code></p>
<p><code>[_tables]<br />
; Listamos las tablas que serán accesibles vía menú<br />
usuario=NombreTablaUsuarios<br />
news=NombreTableContenidos</code><br />
<code>Con estos datos ya nos mostrará un backend con un ABM completo</code><br />
<span style="font-family: monospace;"><strong>Características</strong></span><br />
<span style="font-family: monospace;"><br />
Con tan sólo 4 líneas de código PHP, podremos disponer de una aplicación web que permita la gestión de tu base de datos.<br />
Ofrece una intuitiva interfaz de usuario &#8211; la aplicación por defecto es consistente y fácil de usar.<br />
Hay un menú &#8220;tablas&#8221;, para seleccionar una tabla y cada tabla tiene accesos de menu a &#8220;detalles&#8221;, &#8220;lista&#8221;, y &#8220;encontrar&#8221;.<br />
Ofrece potentes opciones de configuración &#8211; Puedes configurar los detalles de la aplicación (como tipos widget) usando archivos de configuración.<br />
Extensible &#8211; Puedes modificar tu aplicación según tus necesidades utilizando los archivos de configuración y las clases PHP &#8220;delegated&#8221;.<br />
Triggers &#8211; Puedes agregar una función que se llame después se inserta un registro desde PHP.<br />
Permisos &#8211; Dispone de un potente sistema de permisos.<br />
Autenticación &#8211; Integrada y de facil puesta en funcionamiento, gestiona login y cierre de sesión.<br />
Relaciones &#8211; Indicando a Xataface cómo están relacionadas las tablas entre sí obtendrás una mayor funcionalidad lógica para la gestión de los datos.<br />
Customizable &#8211; Xataface utiliza el motor de plantillas Smarty como base y lo amplía con algunas nuevas características tales como plantillas extensibles y apoyo temático.<br />
Modular &#8211; Dispone de varios módulos que permiten extender las características de Xataface y una API simple para escribir sus propios módulos.</span></p>
<p><strong>Edición</strong><br />
Generación automatica de Formularios permitiendo agregar nuevos registros y editar los registros existentes.<br />
Widgets &#8211; Dispone de soporte, incluyendo widgets para campos de texto, áreas de texto, casillas de verificación, listas de selección, editores de html, redes,<br />
carga de archivos, y mucho más.<br />
Permite personalizar formularios &#8211; utilizando archivos de configuración y las clases &#8220;delegated&#8221;.<br />
Personalizable &#8211; Permite mostrar diferentes vistas a usuarios en función de sus permisos y preferencias.<br />
Añadir registros relacionados &#8211; Insertar registros y seguimiento automático de sus relaciones con otras tablas.<br />
Data Grid Editable- Administra tus datos como una hoja de cálculo utilizando el módulo de DataGrid.<br />
Copiar &#8211; Copia conjuntos de registros.<br />
Actualización conjunto encontrado &#8211; Actualización de múltiples registros con un click.<br />
Subir archivos &#8211; Soporte para subida de archivos, ya sea en un campo BLOB o en el sistema de archivos.<br />
Eliminar &#8211; Permite borrar un registro  o eliminar el conjunto de registros encontrado actual.<br />
<span style="font-family: monospace;"><br />
<strong>Búsqueda</strong><br />
Buscar de Forma automática &#8211; Busca en todos los campos de todas las tablas<br />
Búsquedas por rango &#8211; Búsqueda de registros que coincidan con los valores de un rango determinado (por ejemplo, encontrar todas las personas entre las edades de 20 y 30).<br />
Búsqueda exactas &#8211; Búsqueda de coincidencias exactas.<br />
Partial Matching &#8211; Búsqueda por campos que contienen una frase de palabras clave.<br />
Búsqueda en varios campos &#8211; Siempre hay un campo de búsqueda simple y accesible que busca en todos los campos de la tabla actual.<br />
Por ejemplo una búsqueda de &#8220;Tom&#8221; que coincide con algún registro de la tabla actual que contiene la palabra &#8220;Tom&#8221; en cualquiera de sus columnas.<br />
Registro relacionado Proveedores &#8211; Encuentra registros que contienen los registros relacionados que coinciden con un término de búsqueda.<br />
(Por ejemplo, encontrar personas que recibieron una &#8220;A&#8221; en un curso particular).<br />
<strong><br />
</strong></span><br />
<span style="font-family: monospace;"><strong>Exportar datos</strong><br />
RSS &#8211; Soporte para RSS 1.0, 2.0 y Atom de cualquier conjunto encontrado.<br />
XML &#8211; Exportar cualquier conjunto encontrado como XML para que los datos se puedan intercambiar con otros productos (por ejemplo, las suites de edición electrónica).<br />
CSV &#8211; Exportar cualquier conjunto encontrado a CSV (valores separados por comas de valor) para abrir en una aplicación de hoja de cálculo como Excel.<br />
JSON &#8211; Exportar cualquier conjunto encontrado a JSON. Esta característica hace Xataface una buena opción para servir a la próxima generación de aplicaciones Web 2.0 AJAX.<br />
<strong><br />
</strong></span><br />
<span style="font-family: monospace;"><strong>Internacionalización I18N</strong><br />
Proporciona los archivos de idioma para la traducción de todas las cadenas y las etiquetas en la aplicación.<br />
Traducción de datos dinámicos &#8211; Xataface permite internacionalizar sus datos de bases de datos existentes sin tener que cambiar la estructura de su base de datos.<br />
Plantillas &#8211; Incluye una traducción () Smarty etiqueta para plantillas para traducir fácilmente plantillas de texto.<br />
<strong><br />
</strong></span><br />
<span style="font-family: monospace;"><strong>Importando datos</strong><br />
Filtro de importación API &#8211; Utilizando clases &#8220;delegated&#8221;, es fácil definir un filtro de importación para importar cualquier tipo de datos en la base de datos.<br />
Vista previa del usuario &#8211; El usuario puede ver los datos importados antes de confirmar que quiere importar.<br />
<strong><br />
</strong></span><br />
<span style="font-family: monospace;"><strong>Historico</strong><br />
Historico Opcional &#8211; Si habilitas el histórico de movimientos, todos los cambios realizados sobre los datos se registran.<br />
Deshacer / Rehacer &#8211; Permite volver fácilmente a una versión anterior de un registro.<br />
Ver Diffs &#8211; Ver las diferencias y cambios entre las versiones de archivos, similar a un wiki.<br />
<strong><br />
</strong></span><br />
<span style="font-family: monospace;"><strong>El almacenamiento en caché</strong><br />
memoria caché de salida &#8211; Soporta memoria caché de salida de las páginas para mejorar el rendimiento. La caché se actualiza automáticamente cada vez que se realizan cambios en las tablas que se utilizan para generar una página.<br />
Apoyo de APC &#8211; Si está instalado APC (Cache PHP alternativa) , Xataface automáticamente la utilizará para almacenar la información de configuración de caché de la tabla. Esto tiende a aumentar el rendimiento en un 20%.<br />
<strong><br />
</strong></span><br />
<span style="font-family: monospace;"><strong>Seguridad</strong><br />
Los permisos están perfectamente delimitados &#8211; Permite definir permisos sobre toda la aplicación, a nivel de tabla, de registro, o por campo.<br />
permisos basada en roles &#8211; Permite la definición de roles (conjuntos de permisos que se pueden asignar a los usuarios).<br />
Permisos en modo extensible &#8211; Podemos definir nuestros propios permisos y roles, ampliando las funciones existentes para nuestra aplicación.<br />
Basadp en la Autenticación &#8211; Es fácil de configurar el inicio de sesión / cierre de sesión para la aplicación.<br />
Cifrado de contraseñas &#8211; Es compatible con la mayoría de los cifrados contraseña estándar, como MD5, SHA1, y la contraseña de MySQL.<br />
Autenticación extensible &#8211; Facil creación de plugins de autenticación en caso de que se quiera implementar una autenticación personalizada.<br />
LDAP &#8211; módulo de autenticación LDAP disponible.<br />
<strong><br />
</strong></span><br />
<span style="font-family: monospace;"><strong>Relaciones</strong><br />
Potentes Relaciones con los Modelos &#8211; Es fácil definir las relaciones entre las tablas usando archivos de configuración. Sintaxis simple y resultados de gran alcance.<br />
Añadir un nuevo registro relacionado &#8211; Crear un nuevo registro y agregarlo a la relación de un registro de los padres, al mismo tiempo.<br />
(Por ejemplo, crear un nuevo registro &#8220;curso&#8221; y agregarlo a la lista de un profesor de los cursos impartidos).<br />
Añadir el registro existente a sus relacionados &#8211; Permite añadir un registro existente a la relación de un registro de los padres.<br />
(Por ejemplo, añada el récord del campo a la lista existente de un profesor de los cursos impartidos).<br />
Eliminar registro relacionado &#8211; Quitar un registro de una relación.<br />
(Por ejemplo, eliminar un récord del campo de la lista de un profesor de los cursos impartidos).<br />
<strong><br />
</strong></span><br />
<span style="font-family: monospace;"><strong>API</strong><br />
Xataface incluye una potente API que permite trabajar más eficientemente con la base de datos.<br />
Objetos de datos &#8211; Proporciona una API sencilla para trabajar con los registros de base de datos. Buscar, cargar, guardar, editar y eliminar registros compatibles.<br />
<strong><br />
</strong></span><br />
<span style="font-family: monospace;"><strong>Plantillas</strong><br />
Template &#8211; Xataface utiliza el motor de plantillas Smarty como base.<br />
Herencia de Plantillas &#8211; Se pueden crear plantillas que heredan de otras plantillas y reemplazar el contenido especificado en &#8220;slots&#8221; de la plantilla original.<br />
Esto aumenta drásticamente la reutilización de las plantillas y la productividad de desarrollo.<br />
Asistencia en Cascada &#8211; Todo el sistema de plantillas se almacenan en el directorio de plantillas Dataface.<br />
La aplicación puede tener su propio directorio de plantillas donde se pueden colocar plantillas para anular un sistema de plantillas.<br />
Todas las partes del sistema se puede reemplazar sin modificar el template original con plantillas propias.<br />
</span><br />
<span style="font-family: monospace;">Todo esto, además de otras características que podéis encontrar en la web del proyecto<br />
Una vez superada la curva de aprendizaje, podéis desarrollar potentes backends con pocas horas de trabajo</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.esviable.es/2010/04/11/trabajando-con-xataface-gestores-de-contenidos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ejecutar Procedimientos Almacenados con Symfony y Doctrine</title>
		<link>http://www.esviable.es/2010/04/08/ejecutar-procedimientos-almacenados-con-symfony-y-doctrine/</link>
		<comments>http://www.esviable.es/2010/04/08/ejecutar-procedimientos-almacenados-con-symfony-y-doctrine/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 21:16:38 +0000</pubDate>
		<dc:creator>Efren</dc:creator>
				<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[Web Php]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[doctrine]]></category>
		<category><![CDATA[procedimiento almacenado]]></category>
		<category><![CDATA[procedure]]></category>

		<guid isPermaLink="false">http://www.esviable.es/?p=235</guid>
		<description><![CDATA[En muchos proyectos que parten de cero, se pueden utilizar alternativas al uso de procedures.
Pero en ocasiones, nos encontramos con modelos de datos en producción que son usados por aplicaciones cliente servidor, web que no podemos modificar lo que nos lleva a utilizar los recursos disponibles y adaptarnos lo mejor posible a la arquitectura y [...]]]></description>
			<content:encoded><![CDATA[<p>En muchos proyectos que parten de cero, se pueden utilizar alternativas al uso de procedures.<br />
Pero en ocasiones, nos encontramos con modelos de datos en producción que son usados por aplicaciones cliente servidor, web que no podemos modificar lo que nos lleva a utilizar los recursos disponibles y adaptarnos lo mejor posible a la arquitectura y estructura que tiene el cliente.</p>
<p>Una sencilla forma de ejecutar un procedimiento almacenado con symfony y orm doctrine sería esta:</p>
<pre name='code' class="php">
    $name_proc = 'Nombre_Procedimiento';
    $dsn = 'mssql:dbname=DatabaseName;host=Servidor';
    $user = 'guest';
    $password = '';

    try{
	    $dbh = new PDO($dsn, $user, $password);
	    $conn=Doctrine_Manager::getInstance()-&gt;getCurrentConnection() ;
	    $conn-&gt;prepare($name_proc);
            $q= $conn-&gt;fetchAll($name_proc,array(10));
     }
     catch (PDOException $e){
         throw new sfDatabaseException(sprintf('PDOException was thrown when trying to manipulate session data. Message: %s', $e-&gt;getMessage()));
      }
</pre>
<p>Este ejemplo ejecuta un procedimiento almacenado sobre Sql Server, con cambiar el dsn se podría ejecutar en MySql 5+</p>
<p>Espero que haya sido útil <img src='http://www.esviable.es/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.esviable.es/2010/04/08/ejecutar-procedimientos-almacenados-con-symfony-y-doctrine/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Symfony como framework de desarrollo</title>
		<link>http://www.esviable.es/2010/03/08/symfony-como-framework-de-desarrollo/</link>
		<comments>http://www.esviable.es/2010/03/08/symfony-como-framework-de-desarrollo/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 17:29:29 +0000</pubDate>
		<dc:creator>Efren</dc:creator>
				<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[php5]]></category>

		<guid isPermaLink="false">http://www.esviable.es/?p=182</guid>
		<description><![CDATA[En todas las propuestas que redacto, siempre dedico un punto a la arquitectura propuesta para la aplicación y normalmente en todos los proyectos relacionados con Internet recomiendo Symfony por su potencia, integración y estructuración.
Estos son los 10 puntos mas importantes de porque deberia utilizarse Symfony como framework para proyectos en PHP:
1. Escalable: Symfony es infinitamente escalable [...]]]></description>
			<content:encoded><![CDATA[<p>En todas las propuestas que redacto, siempre dedico un punto a la arquitectura propuesta para la aplicación y normalmente en todos los proyectos relacionados con Internet recomiendo Symfony por su potencia, integración y estructuración.</p>
<p>Estos son los 10 puntos mas importantes de porque deberia utilizarse Symfony como framework para proyectos en PHP:</p>
<p><strong>1. Escalable:</strong> Symfony es infinitamente escalable si se disponen de los recursos necesarios. Yahoo utiliza Symfony para programar aplicaciones con 20 millones de usuarios y 12 idiomas ¿de verdad necesitas más?<br />
<strong><span id="more-182"></span>2. Probado:</strong> Symfony ha sido probado con éxito durante varios años en aplicaciones muy diferentes. Desde sitios web con millones de usuarios (del.icio.us, Yahoo Bookmarks, Yahoo Answers) hasta otros miles de sitios pequeños y medianos.<br />
<strong>3. Soporte:</strong> Symfony sigue una política de tipo LTS (long term support). Las versiones estables se mantienen durante 3 años sin cambios pero con una continua corrección de los errores conocidos. Tus clientes estarán siempre contentos y a ti no te costará nada hacerlo.<br />
<strong>4. Licencia:</strong> Symfony utiliza una licencia MIT, con la que puedes hacer aplicaciones web comerciales, gratuitas y/o de software libre.<br />
<strong>5. Compromiso:</strong> la empresa que ha creado Symfony no vive del framework, sino de las aplicaciones que hace con él. Esto significa que a ellos les interesa tanto como a tí aspectos como el rendimiento, la buena documentación, el soporte muy largo, etc.<br />
<strong>6. Código:</strong> Desde su primera versión Symfony ha sido creado para PHP 5, desechando la versión PHP 4 (que ha sido declarada obsoleta recientemente). Echa un vistazo a su código fuente y verás lo bien que se puede llegar a programar con PHP.<br />
<strong>7. Seguro:</strong> Se puede controlar hasta el último acceso a la información e incluye por defecto protección contra ataques XSS y CSRF.<br />
<strong> 8. Documentado:</strong> se trata del framework PHP mejor documentado: miles de páginas en el wiki oficial, tutoriales de hasta 250 páginas y un libro gratuito de casi 500 páginas. Además, el libro está completamente traducido al español.<br />
<strong> 9. Calidad:</strong> su código fuente incluye más de 8.000 pruebas unitarias y funcionales. ¿Vas a jugártela utilizando otro framework con pocas pruebas unitarias o que ni siquiera las utilice?<br />
<strong>10. Internacionalización:</strong> Se pueden crear aplicaciones en varios idiomas. La internacionalización está integrada en el framework, funciona bien, sigue los estándares (XLIFF), es muy completa y está probada en aplicaciones reales.</p>
<p>fuente: <a href="http://www.symfony.es/">http://www.symfony.es/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.esviable.es/2010/03/08/symfony-como-framework-de-desarrollo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

