martes, 30 de marzo de 2010

Instalando Maven en eclipse 3.5

Como instalar maven en nuestro eclipse...

Bueno, nos encontramos ante la necesidad de instalar maven, ya que los proyectos estan administrados

con esta herramienta... no con ANT, sino con su evolución llamada MAVEN.

Bien... comencemos.

Primero y antes que nada abrimos el eclipse, y es fundamental tener conexion a internet. Para los que la tiene y usan un proxy, primero deben configurar la conexion desde el eclipse.

Window->preferences, ya en la pantalla de preferencias hacemos click en el nodo "General" y buscamos en el árbol el sub nodo "Network Connections", hacemos click en el y ponemos el proxy y el puerto.

Bien, hasta ahí solo para conectar nuestro eclipse a internet.
Ahora vamos a tratar con la instalacion de Maven.

Yo la hice con eclipse galileo (3.5)

Para ello fui a Help -> install new software (como en la imagen)



Una vez allí, en el campo que dice "Work With", ponemos la siguiente URL:

http://m2eclipse.sonatype.org/sites/m2e


Le damos enter y nos pedira un nombre para esto, yo en particular le puse m2eclipse.


Lo mas probable es que quede sin actualizar, pero podemos verificar que se agrego el repositorio desde window->preferences nodo Install/Update sub nodo Available software sites, y en la lista que se despliega a la derecha deberia aparecer. Si se quiere para ver que se puedan conectar al site, le dan click al botón "Test connection".

En mi caso, tuve que verificarlo porque no actualizaba en la pantalla de instalacion... bueno, no
refrescó correctamente.

En fin, volvi a la pantalla de instalacion hice click en look up de la derecha y aparecio en la lista:


seleccioné el que habimos creado que esta conel nombre m2eclipse y me dio la opcion de tildar la
actualización o instalación nueva:


click en "Next"y comineza a trabajar

Nos muestra los detalles de la instalacion:

click en next de nuevo



contrato de licencias, aceptamos, y le damos al boton finish.

Abrirá un cuadro de dialogo similar a este:


Y ahora a esperar que se instale... Yo por lo menos me hice un té.
Una vez finalizada la instalación nos indica que es "altamente recomendable" reiniciar eclipse


le damos aplicar los cambios y reiniciamos el eclipse.

Una vez reiniciado el eclipse, ya estamos en condicones de crear un nuevo proyecto maven...

Cuando sepa como usarlo bien, vuelvo a escribir...

Saludos.-

Mariano

lunes, 29 de marzo de 2010

FLEX: Creando e invocando componentes MXML...

(Inspirado en el libro de Marco Casario, "Flex solutions")

Nosotros podemos crear componentes usando MXML y AS, y por supuesto, esto tiene sus ventajas.

Como primer práctica, podemos aprender como crear un "MXML component".

Según los que manejan muy bien Flex, crear estos componentes "es muy facil", y solo hay que seguir algunas reglas para definir un componente...
El componente que crearemos se debe definir en un MXML separado y luego instanciado en el tag
Application.
Los componentes MXML seran invocados e importados en nuestro main.

Como ejemplo, un componente MXML para manejar un login, con etrada de usuario y password.

Luego de crear un proyecto flex, que lo llamaremos FlexComponents1, creamos un "MXML component", y vemos que el cuadro de dialogo es un poco distinto:




Le ponemos un nombre "unLogin" en el campo "filename", y en el combo llamado "Based on:",
seleccionamos "Panel". Hacemos click en "Finish" y vemos el siguiente codigo.



<mx:panel mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300">
</mx:panel>


Ahora vamos a agregar la interfaz de usuario en un MXML component nuevo.
Agergamos un titulo al panel con la propiedad "title", y lo llamamos "Sign in", quedando de la siguiente manera


<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
width="400" height="300"
title="Sign in">
</mx:Panel>


Ahora, una vez hecho esto, tenemos que insertar nuestro formulario, que contendrá algunao Labels, un botón, un checkbox y un par de textInput. Esto dentro de nuestro panel.

Todo se puede hacer con la vista de diseño.

el código de esto es:


<mx:Form x="10" y="10" width="360" height="240">
<mx:FormHeading label="Insert your information:"/>
<mx:FormItem label="User">
<mx:TextInput/>
</mx:FormItem>
<mx:FormItem label="Password">
<mx:TextInput/>
</mx:FormItem>
<mx:FormItem label="Remember me">
<mx:CheckBox label="CheckBox"/>
</mx:FormItem>
<mx:FormItem>
<mx:Button label="button"/>
</mx:FormItem>
</mx:Form>


El tag Form contiene a nuestro formulario, el resto de los tags son cabecera, y los componentes que dijimos antes que ibamos a poner.

Todavia no lo corremos...

Cuando creamos el proyecto FlexComponents1, creó automaticamente el FlexComponents1.mxml, que es nuestro main aplication.(mxml application)

Desde ahí ahora debemos invocar a nuestro componente. Para ello, es necesario declarar un nuevo nameSpace, con el punto del paquete que contiene el MXML component... en codigo:


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
xmlns:comp = "*">

</mx:Application>


El namespace "comp" es nuestro namespace customizado (puede ser cualquier nombre), define el paquete en donde se encuentra nuestro componente, o los componentes a importar.
Usamos el *, porque nuestro componente se halla en el root de nuestro proyecto.
El tag que contiene el nombre de nuestro namespace "comp" lleva como valor el nombre de nuestro componente si la extension "mxml".

Ahora si... corramos nuestra nueva aplicacion y nos debe quedar algo como esto:





Bueno... voy a seguir aprendiendo un poco mas sobre esto... espero para la proxima poder usar metodos

y demas cositas para poder usar nuestro login...

Mariano.-

Interfaces

El uso de interfaces proporciona las siguientes ventajas:
* Organizar la programación.
* Obligar a que ciertas clases utilicen los mismos métodos (nombres y parámetros).
* Establecer relaciones entre clases que no estén relacionadas.

Para declarar una interfaz se utiliza:
--------------------------------------
modificador_acceso interface NombreInterfaz {
....
}
modificador_acceso puede ser public o no existir, siendo entonces por defecto package. Los atributos que definamos en el cuerpo de la interfaz serán atributos de tipo constante en las clases en las que se implemente.

Para implementarla en una clase, se utiliza la forma:
------------------------------------------------------
modificador_acceso NombreClase implements NombreInterfaz1 [, NombreInterfaz2]

Una clase puede implementar varias interfaces, separando los nombres por comas.