domingo, 24 de agosto de 2008

Penetracion Adobe Flash Player

Adobe Flash PLayer
Para nadie es un secreto que una de las principales variables en contra que tendrán las tecnologías Flex y Flash para continuar expandiendose será la necesidad de instalar una máquina virtual en el ordenador para poder visualizarlas.

Segun un estudio publicado por la Página oficial de Adobe, al parecer esto ya dejo de ser un problema, ya que el Adobe Flash Player se encuentra instalado en un 99% (Si, 99, leiste bien) de las máquinas que están preparadas para internet.


El senso realizado por Millward Brown fue, y esta siendo, realizado desde Septiembre del 2007 y hasta el dia de hoy ha arrojado los siguientes resultados para Septiembre 2007:

Penetracion Adobe Flash Player
Para el mes de junio del 2008 arrojó los siguientes resultados:

Penetracion Adobe Flash Player
Como pueden ver el 99% de las máquinas tienen algún Flash Player instalado y para los amantes de Flex saben que un 97% de las máquinas tienen instalado el Flash Player 9 necesario para correr aplicaciones Flex 2 y Flex 3.

Viendo estos resultados yo creo que ahora podemos decirle a los que se encargan de criticar estas excelentes tecnologías que van a tener que buscarse otra razón para decir que no les gustan.



Continuar leyendo...

domingo, 17 de agosto de 2008

LLenar y Obtener informacion de un Datagrid (Binding)


Como mi primero ejemplo quiero mostrar lo fácil que puede resultar realizar acciones muy vistosas y utiles en aplicaciones hechas en flex. En este ejemplo se muestra como llenar y obtener información de un DataGrid (que no es mas que una Lista de campos mostrados consecutivamente con ciertas funcionalidades), caber destacar que en este ejemplo se usan muy pocas de las grandiosas funcionalidades que puede ofrecer un DataGrid, pero las iremos publicando en el futuro.


Para llenar un Datagrid debemos asignar en la propiedad DataProvider objetos basados en la clase List de Actionscrip 3.0, tales como XMLList, Array,Colecciones, etc. Por supuesto tambien podemos usar la clase Object (ya que un objeto object puede comportarse como cualquier instancia de cualquier clase) .

Luego de asignar un DataProvider debemos decirle al DataGrid cuales van a ser sus columnas de información DataGridColumn, asignando un dataField con el nombre de la variable a mostrar y un headerText con el nombre de la columna.

Como la variable asignada como DataProvider la colocamos entre llaves le estamos diciendo a flex que es una variable de ActionScript, y hasta si declararamos bindable la variable pudieramos sincronizar la data contenida dentro del XMLList en tiempo real con el datagrid (Excelente, ¿no?), pero de esto hablaremos mas adelante. Cabe destacar que es imposible referirse a variables del codigo actual sin expresarlas entre llaves (ya sea codigo MXML o ActionScript).

Por ultimo le asiganos un identificador (id) al Datagrid para referirnos a el en cualquier parte del codigo, en este caso, para llenar el texto de las labels con la informacion seleccionada en el Datagrid.

Este codigo fue sacado de la página del Flash Component Explorer, para otros códigos de este mismo nivel pueden visitar la página.

Codigo

<?xml version="1.0"?>
<!-- DataGrid control example. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

<mx:XMLList id="employees">
<employee>
<name>Christina Coenraets</name>
<phone>555-219-2270</phone>
<email>ccoenraets@fictitious.com</email>
<active>true</active>
</employee>
<employee>
<name>Joanne Wall</name>
<phone>555-219-2012</phone>
<email>jwall@fictitious.com</email>
<active>true</active>
</employee>
<employee>
<name>Maurice Smith</name>
<phone>555-219-2012</phone>
<email>maurice@fictitious.com</email>
<active>false</active>
</employee>
<employee>
<name>Mary Jones</name>
<phone>555-219-2000</phone>
<email>mjones@fictitious.com</email>
<active>true</active>
</employee>
</mx:XMLList>

<mx:Panel title="DataGrid Control Example" height="100%" width="100%"
paddingTop="10" paddingLeft="10" paddingRight="10">

<mx:Label width="100%" color="blue"
text="Select a row in the DataGrid control."/>

<mx:DataGrid id="dg" width="100%" height="100%" rowCount="5" dataProvider="{employees}">
<mx:columns>
<mx:DataGridColumn dataField="name" headerText="Name"/>
<mx:DataGridColumn dataField="phone" headerText="Phone"/>
<mx:DataGridColumn dataField="email" headerText="Email"/>
</mx:columns>
</mx:DataGrid>

<mx:Form width="100%" height="100%">
<mx:FormItem label="Name">
<mx:Label text="{dg.selectedItem.name}"/>
</mx:FormItem>
<mx:FormItem label="Email">
<mx:Label text="{dg.selectedItem.email}"/>
</mx:FormItem>
<mx:FormItem label="Phone">
<mx:Label text="{dg.selectedItem.phone}"/>
</mx:FormItem>
</mx:Form>

</mx:Panel>
</mx:Application>
Ejemplo


Continuar leyendo...

Utilizando etiqueta <pre> para publicar códigos

A la hora de realizar mi primer post con código ejemplo me encontre un problema que era de esperarse, el navegardor (En mi caso Mozilla Firefox) tomaba el código que yo escribia, como parte de la pagina (lo interpretaba), y no se mostraba en la entrada del blog publicada. Entonces empezo mi busqueda para solucionar el problema.

Luego de horas de investigación logre sacar un formato para la publicación de cogios sin que el navegador los interprete, que fuera fácil de usar, que el texto no perdiera el formato, se mantuviera la identación, etc. Mediante la utilización de HTML Entities a la hora de colocar caractéres especiales propios de HTML, para prevenir la perdida de identación descubi que la etiqueta <pre> de HTML matiene la identacion, y con la utilizacion de estilos CSS le di el formato deseado al texto y al bloque de codigo, con scrollbars, width, height, etc.

Para mostrarles el ejemplo de mi formato ejemplo para publicar codigos nada mejor que mostrarles el propio codigo del formato.



Codigo

<pre style="
background-color: #E8F2FF;
border-bottom: 2px solid #AAA;
border-top: 2px solid #AAA;
font-family: 'Courier New', Courier, Fixed;
overflow-y: scroll;
width: 600px;
height: 200px;">

El codigo ejemplo aqui

</pre>


Continuar leyendo...

Aplicaciones RIA con Flex

Adobe Flex

En los ultimos dias he empezado a trabajar con el increible concepto de aplicaciones RIA (Rich Internet applications) que no son otra cosa que aplicaciones para internet que se asemejan a las aplicaciones de escritorio, pasando la mayor parte de la carga de la aplicacion al lado del cliente, en contraposicion de las tecnologias del lado del servidor como PHP, ASP y otras.

Para desarrollar este tipo de aplicaciones se debe utilizar Adobe Flex con ActionScript 3.0, es un lenguaje bastante completo de programación orientada a objetos que permite multiple herencia, polimorfismo, la utilizacion de interfaces, la utilización de eventos (que para mi es la gran magia y potencial de este lenguaje) y muchas otros conceptos importantes que fomentan la reutilizacion y programacion mas practica.

Para desarrollar en este lenguaje les recomiendo usar el pluglin Flex Builder 3 (que incluso tiene licencia gratis para estudiantes) que corre bajo el IDE de Eclipse, de verdad que con esta nueva propuesta de Adobe he empezado a tomar mas en serio este tipo de tecnologias de la máquina virtual Flash Player 9.0, con el agregado de que hoy en dia ya mas del 90% de las maquinas tienen instalado esta maquina virtual.

En los proximos dias empezare a publicar algunos ejemplos y infomaciones para que vean lo practico y facil que puede llegar a resultar desarrollar en esta herramienta.
Continuar leyendo...

sábado, 16 de agosto de 2008

Internet Developing

Adobe Flash, Flex, PHP, MySQL, ASP.NET, Ruby

La primera entrada de mi nuevo blog no podía ser otra que la explicación de que es para mí el termino "Internet Developing". No es otra cosa que el desarrollo de herramientas para la web, y lo digo asi, dado que el potencial de esta tecnología (Internet) esta claramente comprobado, lo único que hace falta es que los desarrolladores se den a la tarea de explotarlo de manera profesional, creando herramientas intuitivas, simples, y que por supuesto tengan acogida en la web, ya que es evidente que el marketing y los negocios son la gasolina que mueve este mundo virtual tan cambiante.

Con este blog espero ayudar a todas las personas que quieran desarrollar en la web con las últimas tecnologias, segun el potencial que pueda ofrecer cada una para cada cosa: Flex, Flash, ActionScrip, JavaScript, ASP.NET, JSP, PHP, Ruby, XML, HTML, AJAX, WebServices, Pipes, RES y cualquier otra tecnologia que salga en el futuro o que en este momento no se me venga a la mente o no haya conocido.
Continuar leyendo...