<?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/"
	>

<channel>
	<title>Ruben Mauricio &#187; Programación</title>
	<atom:link href="http://rubenmauricio.com/category/programacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://rubenmauricio.com</link>
	<description>Todo sobre tecnologia y desarrollo web</description>
	<pubDate>Thu, 09 Jul 2009 15:51:47 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>El patrón de diseño Modelo Vista Controlador o MVC</title>
		<link>http://rubenmauricio.com/programacion/el-patron-de-diseno-modelo-vista-controlador-o-mvc/</link>
		<comments>http://rubenmauricio.com/programacion/el-patron-de-diseno-modelo-vista-controlador-o-mvc/#comments</comments>
		<pubDate>Thu, 01 Nov 2007 02:30:55 +0000</pubDate>
		<dc:creator>Mauricio</dc:creator>
		
		<category><![CDATA[Artí­culos]]></category>

		<category><![CDATA[Desarrollo web]]></category>

		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://pvgdata.com/Mauricio/index.php/archives/71</guid>
		<description><![CDATA[La arquitectura MVC separa la lógica de negocio (el modelo) y la presentación (la vista) por lo que se consigue un mantenimiento más sencillo de las aplicaciones. Si por ejemplo una misma aplicación debe ejecutarse tanto en un navegador estándar como un un navegador de un dispositivo móvil, solamente es necesario crear una vista nueva [...]]]></description>
			<content:encoded><![CDATA[<p>La arquitectura MVC separa la lógica de negocio (el modelo) y la presentación (la vista) por lo que se consigue un mantenimiento más sencillo de las aplicaciones. Si por ejemplo una misma aplicación debe ejecutarse tanto en un navegador estándar como un un navegador de un dispositivo móvil, solamente es necesario crear una vista nueva para cada dispositivo; manteniendo el controlador y el modelo original. El controlador se encarga de aislar al modelo y a la vista de los detalles del protocolo utilizado para las peticiones (HTTP, consola de comandos, email, etc.). El modelo se encarga de la abstracción de la lógica relacionada con los datos, haciendo que la vista y las acciones sean independientes de, por ejemplo, el tipo de gestor de bases de datos utilizado por la aplicación.<br />
<a href='http://rubenmauricio.com/wp-content/uploads/2007/11/modelomvc.png' title='mvc'><img src='http://rubenmauricio.com/wp-content/uploads/2007/11/modelomvc.png' alt='mvc' /></a></p>
<p>Modelo Vista Controlador o MVC describe una forma, muy utilizada en el Web, de organizar el código de una aplicación separando los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos.</p>
<p>    Modelo - Componente encargado del acceso a datos.<br />
    Vista - Define la interfaz de usuario, HTML+CSS&#8230; enviados en el navegador<br />
    Controlador - Responde a eventos y modifica la vista y el modelo<br />
Existen varias implementaciones del patrón Modelo Vista Controlador que nos permiten realizar páginas web</p>
<p>    Para PHP: <a href="http://www.cakephp.org/">CakePHP </a><br />
    Para Ruby: <a href="http://www.rubyonrails.com/">RubyOnRails</a><br />
    Para Java: <a href="http://shale.apache.org/index.html">Struts</a><br />
    Para .net: <a href="http://www.castleproject.org/monorail/index.html">MonoRail </a></p>
]]></content:encoded>
			<wfw:commentRss>http://rubenmauricio.com/programacion/el-patron-de-diseno-modelo-vista-controlador-o-mvc/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Instanciar un objeto XMLHttpRequest</title>
		<link>http://rubenmauricio.com/programacion/instanciar-un-objeto-xmlhttprequest/</link>
		<comments>http://rubenmauricio.com/programacion/instanciar-un-objeto-xmlhttprequest/#comments</comments>
		<pubDate>Fri, 02 Feb 2007 13:43:26 +0000</pubDate>
		<dc:creator>Mauricio</dc:creator>
		
		<category><![CDATA[Artí­culos]]></category>

		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://pvgdata.com/Mauricio/index.php/archives/15</guid>
		<description><![CDATA[&#218;ltimamente he visto preguntas en muchos foros de &#191;Cu&#225;l es la mejor forma de   Instanciar un objeto XMLHttpRequest?
El concepto de XMLHttpRequest fue desarrollado originalmente por Microsoft.   La implementaci&#243;n de Microsoft se denomina XMLHTTP y, como   objeto ActiveX, difiere ligeramente de la norma est&#225;ndar   publicada. Ha estado disponible [...]]]></description>
			<content:encoded><![CDATA[<p>&Uacute;ltimamente he visto preguntas en muchos foros de &iquest;Cu&aacute;l es la mejor forma de   Instanciar un objeto XMLHttpRequest?</p>
<p>El concepto de XMLHttpRequest fue desarrollado originalmente por Microsoft.   La implementaci&oacute;n de <a href="http://es.wikipedia.org/wiki/Microsoft" target="_blank" closure_hashcode_="193">Microsoft</a> se denomina XMLHTTP y, como   objeto <a href="http://es.wikipedia.org/wiki/ActiveX" target="_blank" closure_hashcode_="194">ActiveX</a>, difiere ligeramente de la norma est&aacute;ndar   publicada. Ha estado disponible desde <a href="http://es.wikipedia.org/wiki/Internet_Explorer" target="_blank" closure_hashcode_="195">Internet Explorer</a> 5.0. y es accesible por medio de   JScript, VBScript y otros lenguajes de scripting soportados por este   navegador.</p>
<p>El objeto XMLHttpRequest se encuentra en el corazon de cada aplicaci&oacute;n Ajax,   la idea es crear una instancia del objeto XMLHttpRequest independiente del   navegador que pueda estar usando el usuario; para entender bien esto es   necesario que tengamos bien claro los conceptos de objeto en <a href="http://es.wikipedia.org/wiki/JavaScript" target="_blank" closure_hashcode_="196">JavaScript</a> .<br />
  Esta es la forma mas elegante de   instanciar un objeto XMLHttpRequest.</p>
<p>function getXMLHTTPRequest()<br />
  {<br />
  var req = false;<br />
  try<br />
  {<br />
  req =   new XMLHttpRequest(); /* p.e. Firefox   */<br />
  }<br />
  catch(err1)<br />
  {<br />
  try<br />
  {<br />
  req = new   ActiveXObject(&rdquo;Msxml2.XMLHTTP&rdquo;);<br />
  /* algunas versiones IE   */<br />
  }<br />
  catch(err2)<br />
  {<br />
  try<br />
  {<br />
  req = new   ActiveXObject(&rdquo;Microsoft.XMLHTTP&rdquo;);<br />
  /* algunas versiones IE   */<br />
  }<br />
  catch(err3)<br />
  {<br />
  req = false;<br />
  }<br />
  }<br />
  }<br />
  return   req;<br />
  }</p>
<p>var miPeticion = getXMLHTTPRequest();</p>
<p>function llamarAjax() {<br />
  // declara una variable que contiene alguna   informaci&oacute;n<br />
  // para pasar al servidor<br />
  var apellido = &lsquo;Mauricio&rsquo;;<br />
  //   construye la URL del script del servidor que queremos llamar<br />
  var url =   &ldquo;miscriptdeservidor.php?surname=&rdquo; + apellido;<br />
  // generar un n&uacute;mero   aleatorio<br />
  var miAleatorio=parseInt(Math.random()*99999999);<br />
  // pedimos a   nuestro objeto XMLHTTPRequest que abra una<br />
  // conexi&oacute;n con el   servidor<br />
  miPeticion.open(&rdquo;GET&rdquo;, url + &ldquo;&amp;rand=&rdquo; + miAleatorio,   true);<br />
  // preparamos una funci&oacute;n respuestaAjax() para ejecutarse cuando<br />
  //   la respuesta haya llegado<br />
  miPeticion.onreadystatechange =   respuestaAjax;<br />
  // y finalmente enviamos la   petici&oacute;n<br />
  miPeticion.send(null);<br />
  }</p>
<p>function respuestaAjax() {<br />
  // s&oacute;lo estamos interesados en un readyState de   4,<br />
  // es decir &ldquo;completado&rdquo;<br />
  if(miPeticion.readyState == 4) {<br />
  // si la   respuesta HTTP del servidor es &ldquo;OK&rdquo;<br />
  if(miPeticion.status == 200) {<br />
  &hellip;   declaraciones a ejecutar por el programa &hellip;<br />
  } else {<br />
  // crear un mensaje de   error para cualquier<br />
  // otra respuesta HTTP del servidor<br />
  alert(&rdquo;Ha   ocurrido un error: &rdquo; + miPeticion.statusText);<br />
  }<br />
  }<br />
  }</p>
<p>Existen muchas otras formas de instanciar un objeto XMLHttpRequest, por   ejemplo seria usando la estructura de decisi&oacute;n if &ndash; else. </p>
<p>function getXMLHTTPRequest()<br />
  {<br />
  var req = false;<br />
  if (window.   XMLHttpRequest();<br />
  {<br />
  req = new XMLHttpRequest();<br />
  } else {<br />
  if   (window.ActiveXObject)<br />
  {<br />
  Pero para el caso de la versi&oacute;n del navegador   Explorer tendr&iacute;amos que usar try &ndash; catch entonces no tiene sentido. otro forma   seria usando el objeto navigatior con la propiedad appName, pero es mas   recomendable la primera opci&oacute;n.</p>
]]></content:encoded>
			<wfw:commentRss>http://rubenmauricio.com/programacion/instanciar-un-objeto-xmlhttprequest/feed/</wfw:commentRss>
		</item>
		<item>
		<title>¿Qué necesito saber para empezar con AJAX?</title>
		<link>http://rubenmauricio.com/programacion/%c2%bfque-necesito-saber-para-empezar-con-ajax/</link>
		<comments>http://rubenmauricio.com/programacion/%c2%bfque-necesito-saber-para-empezar-con-ajax/#comments</comments>
		<pubDate>Tue, 23 Jan 2007 01:28:26 +0000</pubDate>
		<dc:creator>Mauricio</dc:creator>
		
		<category><![CDATA[Artí­culos]]></category>

		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://pvgdata.com/Mauricio/index.php/archives/14</guid>
		<description><![CDATA[Este fin de semana un amigo me comentaba&#160; &#8220;quiero aprender&#160; a programar en&#160;   Ajax&#8221;; le dec&#237;a que primero Ajax no es un lenguaje de programaci&#243;n y segundo es   necesario que conozcas las tecnolog&#237;as que engloba Ajax; esto me motivo a   escribir y presentarles algunos enlaces que pueden ser &#250;tiles.
El [...]]]></description>
			<content:encoded><![CDATA[<p>Este fin de semana un amigo me comentaba&nbsp; &ldquo;quiero aprender&nbsp; a programar en&nbsp;   Ajax&rdquo;; le dec&iacute;a que primero Ajax no es un lenguaje de programaci&oacute;n y segundo es   necesario que conozcas las tecnolog&iacute;as que engloba Ajax; esto me motivo a   escribir y presentarles algunos enlaces que pueden ser &uacute;tiles.</p>
<p>El gran inter&eacute;s de los desarrolladores ha hecho que Ajax se ubique en el   primer lugar, por segundo a&ntilde;o consecutivo como el producto ganador del a&ntilde;o 2007,   seg&uacute;n <a href="http://www.developer.com/db/article.php/3653956" target="_blank" closure_hashcode_="175">Developers.com</a> en las siguientes   categor&iacute;as:Tecnolog&iacute;a, FrameWork, Herramientas de Desarrollo, Utilidades de   Desarrollo y m&aacute;s. Y no hay duda que Ajax se ubique en primer lugar pues ya   muchas webs como <a href="http://www.google.com.pe/" target="_blank" closure_hashcode_="176">Google </a>, <a href="http://es.yahoo.com/" target="_blank" closure_hashcode_="177">Yahoo</a> y <a href="http://www.live.com/" target="_blank" closure_hashcode_="178">Live </a>le han sacado provecho   desarrollando servicios y aplicaciones interesantes y atractivas.</p>
<p><img title="Ajax" alt="Ajax" src="http://www.pvgdata.com/Mauricio/images/ajax1.jpg" />&nbsp;</p>
<p>AJAX, es acr&oacute;nimo de Asynchronous JavaScript And XML (JavaScript y XML   as&iacute;ncronos, donde XML es un acr&oacute;nimo de eXtensible Markup Language), Ajax en   sentido estricto no es una tecnolog&iacute;a web, sino es el uso coordinado de   distintas tecnolog&iacute;as que en conjunto permiten una mayor rapidez y eficacia para   las aplicaciones basadas en la red. Una de las aportaciones principales de Ajax   es acelerar la velocidad de las aplicaciones basadas en web, haci&eacute;ndolas muy   similares a las aplicaciones de escritorio y para ello la clave esta en   modificar sustancialmente el tipo de relaciones que se crean entre el navegador   web y el servidor, un buen ejemplo de esto es Google Groups, Google Suggest,   Google Maps &hellip;</p>
<p>Ajax engloba tecnolog&iacute;as como:<br />
  &bull;&nbsp;XHTML (o HTML) y hojas de estilos en   cascada (CSS), usando est&aacute;ndares<br />
  &bull;&nbsp;Document Object Model (DOM) como   JavaScript y JScript<br />
  &bull;&nbsp;El objeto XMLHttpRequest para intercambiar datos   asincr&oacute;nicamente con el servidor web<br />
  &bull;&nbsp;XML es el formato usado com&uacute;nmente   para la transferencia de vuelta al servidor</p>
<p>Aqu&iacute; algunos enlaces:<br />
  Libros: </p>
<ul>
<li><a href="http://www.amazon.com/Professional-Ajax-Programmer-Nicholas-Zakas/dp/0471777781" target="_blank" closure_hashcode_="179">Ajax   profesional</a></li>
<li><a href="http://www.amazon.com/Ajax-Action-Dave-Crane/dp/1932394613/ref=pd_lpo_k2_dp_k2a_2_img/104-1087676-7042300" target="_blank" closure_hashcode_="180">Ajax   en acci&oacute;n</a></li>
</ul>
<p>Manuales y tutoriales:</p>
<ul>
<li><a href="http://leimnud.info/view.php?" target="_blank" closure_hashcode_="181">Tutorial de   ajax</a></li>
<li><a href="http://www.uberbin.net/archivos/internet/ajax-un-nuevo-acercamiento-a-aplicaciones-web.php" target="_blank" closure_hashcode_="182">Ajax   hacia la web</a></li>
<li><a href="http://www.sitepoint.com/article/remote-scripting-ajax" target="_blank" closure_hashcode_="183">remote-scripting-ajax</a></li>
<li><a href="http://www.maxkiesler.com/index.php/weblog/comments/round_up_of_30_ajax_tutorials/" target="_blank" closure_hashcode_="184">Otro tutorial</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://rubenmauricio.com/programacion/%c2%bfque-necesito-saber-para-empezar-con-ajax/feed/</wfw:commentRss>
		</item>
		<item>
		<title>El primer chat temático del 2007 en ANWMP</title>
		<link>http://rubenmauricio.com/programacion/el-primer-chat-tematico-del-2007-en-anwmp/</link>
		<comments>http://rubenmauricio.com/programacion/el-primer-chat-tematico-del-2007-en-anwmp/#comments</comments>
		<pubDate>Wed, 17 Jan 2007 03:32:44 +0000</pubDate>
		<dc:creator>Mauricio</dc:creator>
		
		<category><![CDATA[Artí­culos]]></category>

		<category><![CDATA[Noticias]]></category>

		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://pvgdata.com/Mauricio/index.php/archives/13</guid>
		<description><![CDATA[El primer chat tem&#225;tico del 2007 en ANWMP ser&#225;   una introducci&#243;n a Ruby on Rails y estar&#225; a cargo de Rub&#233;n   D&#225;vila.
Desde hace dos meses en mis horas libres, estudio Ruby y lo que me fascina de   este lenguaje de programaci&#243;n es la est&#233;tica del dise&#241;o japon&#233;s minimalista,  [...]]]></description>
			<content:encoded><![CDATA[<p><img height="158" src="http://www.pvgdata.com/Mauricio/images/ruby-rails.jpg" width="187" align="left" />El primer chat tem&aacute;tico del 2007 en <a href="http://anwmp.org/" target="_blank" closure_hashcode_="163">ANWMP</a> ser&aacute;   una introducci&oacute;n a Ruby on Rails y estar&aacute; a cargo de <a href="http://ruben.peruonrails.com/" target="_blank" closure_hashcode_="164">Rub&eacute;n   D&aacute;vila</a>.</p>
<p>Desde hace dos meses en mis horas libres, estudio Ruby y lo que me fascina de   este lenguaje de programaci&oacute;n es la est&eacute;tica del dise&ntilde;o japon&eacute;s minimalista,   enfocado en factores humanos, principio de la menor sorpresa, principio de lo   sucinto (breve, compendioso).</p>
<p>Ideas interesantes de su creador &ldquo;Ruby es un lenguaje con un balance cuidado.   Su creador, <a href="http://www.rubyist.net/~matz/" target="_blank" closure_hashcode_="165">Yukihiro &ldquo;matz&rdquo; Matsumoto</a>, mezcl&oacute; partes de sus   lenguajes favoritos (Perl, Smalltalk, Eiffel, Ada, y Lisp) para formar un nuevo   lenguaje que incorporara tanto la programaci&oacute;n funcional como la programaci&oacute;n   imperativa. A menudo ha manifestado que est&aacute; &ldquo;tratando de hacer que Ruby sea   natural, no simple&rdquo;, de una forma que se asemeje a la vida real.<br />
  Continuando   sobre esto, agrega:<br />
  Ruby es simple en apariencia, pero complejo por dentro,   como el cuerpo humano&rdquo;</p>
<p>Este viernes 19 de Enero del 2007 a las 9 pm tenemos una cita con Ruby on   Rails en el chat de <a href="http://anwmp.org/" target="_blank" closure_hashcode_="166">ANWMP</a> y conoceremos mas de este entorno de   desarrollo web de c&oacute;digo abierto que esta optimizado para la felicidad de los   que programamos y para la productividad sostenible, permiti&eacute;ndonos escribir un   c&oacute;digo bello, favoreciendo la convenci&oacute;n antes que la configuraci&oacute;n.</p>
<p><strong>NOTA</strong>: El chat fue postergado&nbsp;para el s&aacute;bado 20 de enero a   las 7 pm</p>
]]></content:encoded>
			<wfw:commentRss>http://rubenmauricio.com/programacion/el-primer-chat-tematico-del-2007-en-anwmp/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
