<?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>Alejandro Morales Meza</title> <atom:link href="http://www.ammeza.com/feed/" rel="self" type="application/rss+xml" /><link>http://www.ammeza.com</link> <description>Diseñador y Desarrollador de Software y Bases de Datos</description> <lastBuildDate>Fri, 20 Jan 2012 18:54:54 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>PHP 5.4.0 Soporta la Des-referencia de Arreglos</title><link>http://www.ammeza.com/2012/01/19/php-5-4-0-soporta-la-des-referencia-de-arreglos/</link> <comments>http://www.ammeza.com/2012/01/19/php-5-4-0-soporta-la-des-referencia-de-arreglos/#comments</comments> <pubDate>Thu, 19 Jan 2012 21:28:41 +0000</pubDate> <dc:creator>alejandromoralesmeza</dc:creator> <category><![CDATA[PHP]]></category> <category><![CDATA[arreglos]]></category> <category><![CDATA[desreferencia]]></category> <guid
isPermaLink="false">http://www.ammeza.com/?p=119</guid> <description><![CDATA[Estando próximos a la liberación de la versión 5.4.0 de PHP, me parece muy importante mencionar lo que para mí es una magnífica noticia, ya que hace referencia a la adición de una nueva característica a PHP que he esperado hace ya buen tiempo: La des-referencia de arreglos, lo cual significa, sin más, la acción [...]]]></description> <content:encoded><![CDATA[<p
style='text-align: justify'>Estando próximos a la liberación de la versión 5.4.0 de PHP, me parece muy importante mencionar lo que para mí es una magnífica noticia, ya que hace referencia a la adición de una nueva característica a PHP que he esperado hace ya buen tiempo: La des-referencia de arreglos, lo cual significa, sin más, la acción de acceder a un contenido en memoria mediante el uso de su referencia, donde la referencia es un identificador o variable en el programa que apunta a una posición de memoria específica.</p><p
style='text-align: justify'>Puntualizando en la característica de PHP a que nos referimos en esta breve entrega, lo que éesta nos permite hacer, es acceder a un arreglo directamente mediante una referencia devuelta desde una función. En versiones anteriores de PHP, si nosotros queríamos acceder a un arreglo que fuese retornado desde una función, debíamos asignarlo primero a una variable de la siguiente forma:</p><pre class="brush: php; ">
$arreglo = $miObjeto-&gt;devuelveArreglo();
echo $arreglo[&quot;nombre&quot;];
</pre><p
style='text-align: justify'>Con la nueva característica de PHP nosotros podemos hacer lo siguiente:</p><pre class="brush: php; ">
echo $miObjeto-&gt;devuelveArreglo()[&quot;nombre&quot;];
</pre><p
style='text-align: justify'>Si además, el arreglo devuelto contiene objetos, también podremos acceder a ellos mediante la siguiente sintaxis:</p><pre class="brush: php; ">
echo $miObjeto-&gt;devuelveArreglo()[&quot;objeto1&quot;]-&gt;getNombreObjeto();
echo $miObjeto-&gt;devuelveArreglo()[0]-&gt;getNombreObjeto();
</pre><p
style='text-align: justify'>Obviamente, habrá casos en que esto resultará muy beneficioso y otros en que no. Dos de los beneficios que yo veo son que podríamos reducir el número de líneas de nuestro código y lograr que la lectura del mismo sea más natural debido a que el comportamiento a que hacemos referencia es bastante intuitivo. Un caso en que su utilización es desaconsejable, sería cuando el arreglo devuelto por el método es el resultado de una serie de operaciones que implican un alto costo en tiempo de ejecución y/o memoria.</p> ]]></content:encoded> <wfw:commentRss>http://www.ammeza.com/2012/01/19/php-5-4-0-soporta-la-des-referencia-de-arreglos/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Clase Request v2.0</title><link>http://www.ammeza.com/2010/09/29/clase-request-2/</link> <comments>http://www.ammeza.com/2010/09/29/clase-request-2/#comments</comments> <pubDate>Wed, 29 Sep 2010 18:38:22 +0000</pubDate> <dc:creator>alejandromoralesmeza</dc:creator> <category><![CDATA[PHP]]></category> <category><![CDATA[get]]></category> <category><![CDATA[post]]></category> <category><![CDATA[request]]></category> <guid
isPermaLink="false">http://www.ammeza.com/?p=87</guid> <description><![CDATA[En esta breve entrega quiero presentarles la clase Request, que ya fue introducida previamente en esta WEB, con algunas mejoras, de las cuales vamos a considerar las más significativas a continuación: Permite enviar datos cifrados o sin cifrar, lo cual es muy útil si estamos manejando información sensible en nuestras aplicaciones. Esto es muy importante, [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">En esta breve entrega quiero presentarles la clase <code>Request</code>, que ya fue introducida previamente en esta WEB, con algunas mejoras, de las cuales vamos a considerar las más significativas a continuación:</p><ol
style="text-align: justify;"><li>Permite enviar datos cifrados o sin cifrar, lo cual es muy útil si estamos manejando información sensible en nuestras aplicaciones. Esto es muy importante, ya que los datos enviados por POST, si bien no son visibles en la URL, pueden ser recuperados con algunas herramientas de software diseñadas para tal propósito, lo cual, en algunos casos hace necesaria esta medida de seguridad adicional.Para indicarle a la clase <code>Request</code> que debe cifrar los datos, creamos una instancia como sigue:<pre class="brush: php; ">
$request = new Request(Request::POST, Request::DEFAULT_TARGET, true);
</pre><p>O una vez que ésta se encuentre creada invocamos el método:</p><pre class="brush: php; ">
$request-&gt;setCyphered(true);
</pre><p>Cabe mencionar también, que no solo podemos enviar datos cifrados por POST, sino que además podemos enviarlos por GET. Para hacerlo, podríamos crear una instancia de la clase <code>Request</code> pasando al constructor la constante <code>Request::GET</code> de la siguiente manera:</p><pre class="brush: php; ">
$request = new Request(Request::GET, Request::DEFAULT_TARGET, true);
</pre><p>Cuando decidimos enviar nuestros parámetros cifrados mediante una instancia de la clase <code>Request</code>, debemos incluir el archivo que contiene la clase <code>Request</code> en el archivo PHP que recibe los datos, de esta manera, ella se encargará de descifrar los datos, permitiéndonos acceder a ellos mediante una invocación del método <code>getParam()</code> o <code>getParams()</code> del objeto <code>$request</code>, como sigue:</p><pre class="brush: php; ">
$nombre = $request-&gt;getParam(&quot;nombre&quot;);
</pre><p>o</p><pre class="brush: php; ">
$parametros = $request-&gt;getParams();
</pre><p>Donde el primer caso nos muestra cómo obtener el valor de un único parámetro mediante su nombre y el segundo nos permite obtener todos los parámetros de una vez en un arreglo de tipo [clave =&gt; valor].</li><li>Permite enviar parámetros por GET o por POST a una ventana emergente de una manera muy elegante. Basta con agregar los parámetros a una instancia de la clase <code>Request</code> en invocar el método <code>popUpForward()</code> en lugar de solo <code>forward()</code>. Un ejemplo completo de esto es el siguiente:<pre class="brush: php; ">
$request = new Request();
$request-&gt;addParam(&quot;dato1&quot;, &quot;Sr.&quot;);
$request-&gt;addParam(&quot;dato2&quot;, &quot;Alejandro&quot;);
$request-&gt;addParam(&quot;dato3&quot;, &quot;Morales&quot;);
$request-&gt;addParam(&quot;dato4&quot;, &quot;Meza&quot;);
$request-&gt;setParamsFromString(&quot;?param1=valor1&amp;param2=valor2&amp;param3=valor3&quot;);
$request-&gt;setCyphered(true);
$request-&gt;popUpForward(&quot;response.php&quot;);
</pre><p>Al invocar el método <code>popUpForward()</code> con la dirección de destino únicamente, la clase <code>Request</code> asumirá una configuración por defecto para la ventana emergente. Si por el contrario, nosotros queremos especificar una configuración personalizada, debemos pasarle al método <code>popUpForward()</code>un arreglo con los valores de configuración deseados, como sigue:</p><pre class="brush: php; ">
$propiedades = array(&quot;width&quot; =&gt; 300, &quot;height&quot; =&gt; 300, &quot;resizable&quot; =&gt; &quot;no&quot;);
$request-&gt;popUpForward(&quot;response.php&quot;, &quot;nombrePopup&quot;, $propiedades);
</pre><p>Los nombres para dichas propiedades deben ser los mismos que se usan en javascript para denominarlas.</li><li>Al incluir el archivo Request.php en una página PHP automáticamente se creará una instancia de la clase <code>Request</code> que nos permitirá manejar todos los parámetros enviados utilizando dicha instancia, sin importar si estos fueron enviados por GET o por POST y por un mecanismo diferente a la clase.</li><li>Ahora contamos con el método setParamsFromString(), el cual nos permite añadir parámetros a una instancia de la clase Request mediante el paso de una cadena de la forma: <code>"&amp;param1=valor1&amp;param2=valor2&amp;...&amp;paramN=valorN"</code>, lo cual en algunos contextos puede resultar más cómodo, ya que se traduce en menor cantidad de líneas de código.</li></ol><p
style="text-align: justify;">Realmente espero que esta nueva versión pueda ser tan útil como la anterior y quedo atento a comentarios y sugerencias.</p><ol><li>Descargar el archivo <a
href="http://www.ammeza.com/downloads/Request2.0.zip">Request.php</a></li><li>Descargar un ejemplo del uso de <a
href="http://www.ammeza.com/downloads/EjemploRequest2.0.zip">Request.php</a></li></ol> ]]></content:encoded> <wfw:commentRss>http://www.ammeza.com/2010/09/29/clase-request-2/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Patrón MVC en PHP</title><link>http://www.ammeza.com/2010/06/01/patron-mvc-en-php/</link> <comments>http://www.ammeza.com/2010/06/01/patron-mvc-en-php/#comments</comments> <pubDate>Wed, 02 Jun 2010 04:10:03 +0000</pubDate> <dc:creator>alejandromoralesmeza</dc:creator> <category><![CDATA[PHP]]></category> <category><![CDATA[modelo vista controlador]]></category> <category><![CDATA[mvc]]></category> <guid
isPermaLink="false">http://www.ammeza.com/?p=71</guid> <description><![CDATA[En esta entrega aprenderemos como implementar el patrón MVC, Modelo-Vista-Controlador, en nuestras aplicaciones PHP a través del siguiente vídeo tutorial. Descargar Código Fuente]]></description> <content:encoded><![CDATA[<p>En esta entrega aprenderemos como implementar el patrón MVC, Modelo-Vista-Controlador, en nuestras aplicaciones PHP a través del siguiente vídeo tutorial.</p><p><embed
src="http://blip.tv/play/AYHji08A" type="application/x-shockwave-flash" width="490" height="383" allowscriptaccess="always" allowfullscreen="true"></embed></p><p><a
href="http://www.ammeza.com/downloads/calculadora.zip">Descargar Código Fuente</a></p> ]]></content:encoded> <wfw:commentRss>http://www.ammeza.com/2010/06/01/patron-mvc-en-php/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Hacer un POST en PHP</title><link>http://www.ammeza.com/2010/05/22/hacer-un-post-en-php/</link> <comments>http://www.ammeza.com/2010/05/22/hacer-un-post-en-php/#comments</comments> <pubDate>Sun, 23 May 2010 00:05:46 +0000</pubDate> <dc:creator>alejandromoralesmeza</dc:creator> <category><![CDATA[PHP]]></category> <category><![CDATA[get]]></category> <category><![CDATA[post]]></category> <guid
isPermaLink="false">http://www.ammeza.com/?p=51</guid> <description><![CDATA[Muy a menudo deseamos desarrollar aplicaciones en PHP que aprovechen las ventajas de una distribución en capas sin necesidad de utilizar un framework que nos implemente dicha distribución. Las razones para ello pueden ser, básicamente, que no queremos subutilizar las características del framework si nuestro proyecto es pequeño o que no queremos invertir tiempo en [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">Muy a menudo deseamos desarrollar aplicaciones en PHP que aprovechen las ventajas de una distribución en capas sin necesidad de utilizar un framework que nos implemente dicha distribución. Las razones para ello pueden ser, básicamente, que no queremos subutilizar las características del framework si nuestro proyecto es pequeño o que no queremos invertir tiempo en el aprendizaje de uno cuando no contamos con el suficiente para desarrollar nuestro proyecto. Cuales fueren las razones, hay una alternativa para separar nuestra aplicación en capas de una manera muy sencilla y para poder transferir datos entre ellas.</p><p
style="text-align: justify;">La primera es la forma en que normalmente se hace en PHP: teniendo un conjunto de datos, generamos una cadena del tipo: <code>destino.php?p1=v1&amp;p2=v2…&amp;pN=vN</code>, y se la pasamos a la función <code>header()</code> para que ésta se encargue de hacer la redirección y pasar nuestra cadena de parámetros por GET.</p><p
style="text-align: justify;">Por ejemplo:</p><pre class="brush: php; ">
$destino = &quot;PaginaDestino.php&quot;;
$params = &quot;?nombre=Pepe&amp;apellido=Mackoy&amp;direccion=poralli...&quot;;
header(&quot;Location: $destino$params&quot;);
</pre><p
style="text-align: justify;">Esta primera forma tiene los siguientes inconvenientes:</p><ul
style="text-align: justify;"><li>Los parámetros viajan de una página a otra a través de la URL, lo cual permite que los usuarios puedan ver los datos que se están enviando.</li><li>El número de datos que pueden ser enviados por GET está limitado, por lo cual tendríamos serías dificultades si estuviéramos enviando un volumen considerable de información.</li><li>Crear este tipo de cadenas [parámetro = valor] puede ser tedioso y prestarse para que se infiltren errores sutiles.</li><li>Algunos caracteres especiales como el &amp;, # y = deben ser convertidos a sus equivalentes hexadecimales para poder ser pasados por la URL.</li></ul><p
style="text-align: justify;">La segunda manera de hacerlo es mediante el método POST. No obstante, en PHP no hay una manera sencilla de hacer esto. Por esa razón, he diseñado una pequeña clase que nos permite hacer el envío de parámetros utilizando POST de una manera muy intuitiva:</p><p
style="text-align: justify;">Por ejemplo:</p><pre class="brush: php; ">
require_once &#039;Request.php&#039;;
$request = new Request();
$request-&gt;addParam(&quot;nombre&quot;, &quot;Pepe&quot;);
$request-&gt;addParam(&quot;apellido&quot;, &quot;Mackoy&quot;);
// ...
$request-&gt;forward(&quot;destino.php&quot;);
</pre><p
style="text-align: justify;">ó tambien,</p><pre class="brush: php; ">
require_once &#039;Request.php&#039;;
$request = new Request();
$params = array(&quot;nombre&quot; =&gt; &quot;Pepe&quot;, &quot;apellido&quot; =&gt; &quot;Mackoy&quot;);
$request-&gt;setParams($params);
$request-&gt;forward(&quot;destino.php&quot;);
</pre><p
style="text-align: justify;">Éste segundo método tiene las siguientes ventajas:</p><ul
style="text-align: justify;"><li>No existe un volumen máximo permitido para transferir datos.</li><li>Los datos no se ven en la URL, lo cual es ideal para manejar datos confidenciales.</li><li>Los caracteres especiales son manejados internamente, por lo cual no debemos preocuparnos por hacer una conversión manual.</li></ul><p
style="text-align: justify;">Espero que esta información les haya sido útil. Agradezco sus comentarios. Hasta una próxima.</p><p
style="text-align: justify;">Descargar el archivo <a
href="http://www.ammeza.com/downloads/Request.zip">Request.php</a></p> ]]></content:encoded> <wfw:commentRss>http://www.ammeza.com/2010/05/22/hacer-un-post-en-php/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Introducción a Netbeans Platform</title><link>http://www.ammeza.com/2010/02/25/introduccion-a-netbeans-platform/</link> <comments>http://www.ammeza.com/2010/02/25/introduccion-a-netbeans-platform/#comments</comments> <pubDate>Thu, 25 Feb 2010 05:51:07 +0000</pubDate> <dc:creator>alejandromoralesmeza</dc:creator> <category><![CDATA[Java]]></category> <category><![CDATA[Netbeans]]></category> <category><![CDATA[Plataforma Netbeans]]></category> <guid
isPermaLink="false">http://ammeza.com/?p=7</guid> <description><![CDATA[En esta entrega examinaremos algunos términos básicos relacionados con el desarrollo de aplicaciones sobre la Plataforma Netbeans y algunas características importantes de esta. Los temas que trataremos son: Cliente Rico Framework Plataforma de Cliente Rico Ventajas de utilizar una Plataforma de Cliente Rico La Plataforma Netbeans CLIENTE RICO Cliente Rico es el término utilizado para [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;"><a
name="top"></a>En esta entrega examinaremos algunos términos básicos relacionados con el desarrollo de aplicaciones sobre la Plataforma Netbeans y algunas características importantes de esta.</p><p
style="text-align: justify;">Los temas que trataremos son:</p><ol
style="text-align: justify;"><li><a
href="#punto1">Cliente      Rico</a></li><li><a
href="#punto2">Framework</a></li><li><a
href="#punto3">Plataforma      de Cliente Rico</a></li><li><a
href="#punto4">Ventajas de      utilizar una Plataforma de Cliente Rico</a></li><li><a
href="#punto5">La      Plataforma Netbeans</a></li></ol><p
style="text-align: justify;"><strong><a
name="punto1">CLIENTE RICO</a></strong></p><p
style="text-align: justify;"><em>Cliente Rico</em> es el término utilizado para referirse a aquellas aplicaciones de software en que la lógica del negocio, es decir, la funcionalidad relacionada con el problema de la vida real que se intenta resolver, se encuentra embebida en ellas y el procesamiento de los datos ocurre localmente en el equipo en que estas residen. En un contexto más amplio, el del software distribuido, cliente rico se refiere a las aplicaciones en que la mayor parte de la lógica del negocio y el procesamiento de datos ocurre principalmente del lado del cliente, y con un mínimo de carga operacional en las otras capas.</p><p
style="text-align: justify;">En el caso particular de las aplicaciones ricas de dos capas, cliente-servidor, el cliente generalmente es una aplicación de escritorio con una variedad de componentes gráficos que facilitan la interacción con el usuario, partiendo de la captura de datos hasta entrega de informes resultado del procesamiento de los mismos. Dicha aplicación realiza operaciones sobre los datos ingresados por el usuario y, en caso de ser necesario, los hace persistentes mediante el uso de un servidor de base de datos. Es así que el servidor realiza una tarea mínima en comparación con la responsabilidad de la aplicación cliente de proporcionar diferentes funcionalidades al usuario al entregarle resultados correctos.</p><p
style="text-align: justify;">El término cliente rico es usado la mayoría de las veces para referirse a las aplicaciones de escritorio, aunque esto está cambiando debido a la aparición de tecnologías como Ajax, que transportan a la Web la experiencia del usuario al utilizar las aplicaciones convencionales, por lo cual ya se escucha con frecuencia hablar acerca de <em>Aplicaciones Web Ricas</em>.</p><p
style="text-align: justify;"><a
href="#top">Regresar</a></p><p
style="text-align: justify;"><strong><a
name="punto2">FRAMEWORK</a></strong></p><p
style="text-align: justify;">Es bien sabido que para el desarrollo de aplicaciones Web existe un conjunto de frameworks que facilitan el trabajo del programador proporcionándole out-of-the-box un conjunto de características que son comunes a todas las aplicaciones y de las cuales el puede disponer a través de ellos con mucha facilidad, permitiéndole enfocarse en resolver los requerimientos relacionados con el dominio del problema y ayudándole a ser más productivo.</p><p
style="text-align: justify;">En contraste con la variedad de frameworks existentes para el desarrollo Web, hay un conjunto muy reducido de estos para la creación de software de escritorio, entre los cuales se encuentra el <em>Framework de Aplicaciones Swing</em> (<em>SAF del inglés Swing Application Framework</em>), el cual, por cierto, ha dejado de tener soporte desde hace algún tiempo atrás.</p><p
style="text-align: justify;">El propósito de un framework es proveer una estructura definida mediante la cual el software pueda ser construido de manera organizada de acuerdo a prácticas sanas de programación y a patrones de desarrollo. Normalmente, proporciona un conjunto de APIs y herramientas que ayudan al desarrollador durante la tarea de construcción y creación.</p><p
style="text-align: justify;"><a
href="#top">Regresar</a></p><p
style="text-align: justify;"><strong><a
name="punto3">PLATAFORMA DE CLIENTE RICO</a></strong></p><p
style="text-align: justify;">La <em>Plataforma de Cliente Rico</em> es un entorno de administración del ciclo de vida de una aplicación, la cual constituye una base para el desarrollo de aplicaciones de escritorio. Esta se encarga de proveer un framework que brinda al desarrollador un conjunto de características presentes en este tipo de aplicaciones, tales como: menús, barras de herramienta, barras de estado, barras de progreso, persistencia de datos de configuración de la aplicación e internacionalización, entre otras, las cuales pueden ser utilizadas con mucha facilidad.</p><p
style="text-align: justify;">También, es la Plataforma quien determina un aspecto fundamental de las aplicaciones como lo es la arquitectura. Las aplicaciones desarrolladas sobre una Plataforma de Cliente Rico son escritas en forma de Módulos, lo cual conlleva un sin número de ventajas, entre las cuales podemos mencionar que cada modulo resuelve un problema en particular con o sin ayuda de otros, y el mismo puede ser utilizado por otros módulos para llevar a cabo sus tareas, contribuyendo a la facilidad de integración, un alto grado de cohesión y coherencia, y un muy reducido (o tal vez nulo) nivel de acoplamiento entre los diferentes componentes de nuestra aplicación.</p><p
style="text-align: justify;">Debido a todo esto, desarrollar sobre una Plataforma de Cliente Rico incrementa la productividad del desarrollador, liberándolo de preocuparse con tareas que tienen poca incidencia sobre la resolución de los requerimientos del dominio del problema y ayudándolo a enfocar sus energías en realizar tareas relacionadas con la lógica del negocio de la aplicación.</p><p
style="text-align: justify;"><a
href="#top">Regresar</a></p><p
style="text-align: justify;"><strong><a
name="punto4">VENTAJAS DE UTILIZAR UNA PLATAFORMA DE CLIENTE RICO</a></strong></p><p
style="text-align: justify;">Además del enfoque modular provisto por la Plataforma de Cliente Rico, existen otras características ventajosas que motivan su uso. Estas se enumeran a continuación:</p><ol
style="text-align: justify;"><li>Optimización del tiempo de      desarrollo.</li><li>Interfaz de usuario      consistente (Usabilidad).</li><li>Facilidad de actualización      de la aplicación incluso en tiempo de ejecución.</li><li>Independencia de la      plataforma.</li><li>Reusabilidad y fiabilidad.</li></ol><p
style="text-align: justify;"><a
href="#top">Regresar</a></p><p
style="text-align: justify;"><strong><a
name="punto5">LA PLATAFORMA NETBEANS</a></strong></p><p
style="text-align: justify;">Habiendo abordado los temas anteriores, enfoquémonos, ahora sí, en lo que es la <em>Plataforma Netbeans</em>, sus características y lo que ella puede hacer por nosotros.</p><p
style="text-align: justify;">La Plataforma Netbeans es una base para desarrollar aplicaciones de escritorio complejas con un enfoque modular y pensando en características como la extensibilidad y la escalabilidad. El Entorno Desarrollo Integrado de Netbeans (Netbeans IDE) es una muestra del tipo de aplicaciones que se pueden desarrollar utilizando la Plataforma, ya que el mismo está construido sobre ella.</p><p
style="text-align: justify;">Aparte de las ventajas comunes a toda Plataforma de Cliente Rico, la Plataforma Netbeans ofrece numerosos frameworks y muchas características que pueden ser de gran utilidad a la hora de desarrollar nuestras aplicaciones, entre las cuales podemos resaltar:</p><ol
style="text-align: justify;"><li>Framework para la creación      de interfaces de usuario.</li><li>El editor de datos de      Netbeans IDE.</li><li>Interfaz de usuario para la      personalización de la aplicación.</li><li>Framework para la creación      de asistentes (Wizards).</li><li>Sistema de datos que permite      obtener información de diferentes orígenes de datos (FTP, CVS, XML o de      una Base de Datos).</li><li>Internacionalización.</li><li>Ayudas del sistema.</li><li>Ayudas contextuales del      sistema.</li></ol><p
style="text-align: justify;">Además de estas existen otras inherentes al uso de la Plataforma, como son: un mejor aprovechamiento del tiempo de desarrollo, una mejor organización de la aplicación basada en estándares y patrones estructurales y de diseño, una arquitectura consistente y robusta, y un mejor rendimiento en cuanto a tiempo de ejecución y optimización de recursos.</p><blockquote
style="text-align: justify;"><p>Nota: Algunas de estas características serán ampliadas en próximas entregas sobre este tema. Algunos ejemplos de software desarrollado sobre la Plataforma pueden ser encontrados en <a
href="http://platform.netbeans.org/screenshots.html">http://platform.netbeans.org/screenshots.html</a>.</p></blockquote><p
style="text-align: justify;">Para finalizar esta entrega, podemos decir que la Plataforma puede ser utilizada con dos propósitos en mente: el primero es extender el Netbeans IDE mediante la creación de nuevos módulos y plugins que se integran con gran facilidad y rapidez, algunos incluso en tiempo de ejecución; y el segundo es el de desarrollar nuestras propias aplicaciones standalone sobre la base que esta proporciona y con todas las ventajas y características que hemos analizado.</p><p
style="text-align: justify;"><a
href="#top">Regresar</a></p> ]]></content:encoded> <wfw:commentRss>http://www.ammeza.com/2010/02/25/introduccion-a-netbeans-platform/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> </channel> </rss>
