lunes, 10 de marzo de 2014

Conferencia Online para Desarrolladores‏ (Martes, 11 de marzo 2014)

CodeRage en español para toda la Comunidad Delphi en América Latina

Registrarse!!!

Martes, 11 de marzo 2014
Sesión Técnica #1
8:00am – 9:00 am PST
Discurso de Apertura
RAD Studio XE5: Hacia dónde vamos - ¿Qué hay de nuevo en el "Update 2"? - Futuro
Diego Navarro - Embarcadero
Sesión Técnica #2
9:00am – 9:30 am PST
Todo lo que necesita saber para comenzar con iOS y Android en Delphi y C + + Builder
En esta sesión mostraremos cómo configurar el entorno de desarrollo para aplicaciones móviles, desde la instalación de los requisitos previos hasta el despliegue de la aplicación en un dispositivo físico.
Luis Felipe González - Venezuela - MVP
Sesión Técnica#3
9:30am - 10:00am PST
Introducción al desarrollo de aplicaciones para Android e iOS con Delphi y C + + Builder
En esta sesión veremos cómo crear un grupo de proyectos que incluye código compartido para diferentes plataformas (iOS, Android, OSX y Win32/64). Le mostraremos cómo iniciar un proyecto móvil y compartir código en todas las plataformas. Esta sesión también le mostrará cómo utilizar los disposiciones, las anclas, alineamientos y demás componentes soportados en todas las plataformas.
Luis Felipe González - Venezuela - MVP
Sesión Técnica #4
10:00am - 10:30 am PST
Buenas prácticas en el diseño de la interfaz gráfica de sus aplicaciones móviles
En esta sesión destacaremos los recursos disponibles para crear interfaces impresionantes en proyectos pará iOS y Android. Vamos a incluir ejemplos utilizando el nuevo ListView, los estilos y las mejores prácticas en las interfaces de aplicaciones móviles.
José Castillo Reyes - Perú - MVP
Sesión Técnica #5
10:30am - 11:30am PST
¡Introducción a FireDAC y migración desde BDE: sencillo y rápido!
En esta sesión se presentará el FireDAC y se le mostrará sugerencias sobre cómo migrar el viejo BDE para este nuevo y eficiente framework.
Marco Antonio Santin - México - MVP
Sesión Técnica #6
11:30am - 12:30pm PST
Aplicaciones iOS y Android con base de datos en Delphi y C + + Builder
En esta sesión hablaremos de Visual LiveBindings, FireDAC, Interbase para iOS y Android, y aplicaremos estos conceptos en la creación de una aplicación en Delphi y C++ Builder.
Kelyn Peña - República Dominicana - MVP
Sesión Técnica #7
12:30pm - 1:30pm PST
Caso de éxito: Tango
Metodologías de actualización y desarrollo para lograr un producto de alcance world class y líder en el segmento de mercado de los ERP.
Marcos D. Lizarraga - Argentina - MVP
Sesión Técnica #8
1:30pm - 2:00pm PST
Nuevo soporte REST en Delphi y C++ Builder XE5 para aplicaciones de escritorio y móviles
Aprenda a usar el nuevo soporte REST disponible en Delphi XE5 y C++ Builder XE5.
Edgar Ramirez - México - Delphi Access
Sesión Técnica #9
2:00pm - 3:00pm PST
Aplicaciones iOS y Android con soporte para arquitecturas Multi-capas utilizando DataSnap
En esta sesión mostraremos cómo incorporar sus aplicaciones móviles en una arquitectura de software multi-capas para conectarse a bases de datos SQL utilizando DataSnap.
Juan Antonio Castillo - Guatemala - MVP
Sesión Técnica #10
3:00pm - 4:00pm PST
Interbase XE3 Base de Datos Multi Plataforma
Información general, Plataformas (Windows, Linux, iOS, Android), nuevas características de la versión XE3, nuevo Programa OEM Interbase.
Julio Rodriguez - Puerto Rico - Bio-Nuclear
El horario de las sesiones y los oradores están sujetos a cambios sin previo aviso.


Registrarse!!!
Leer mas

miércoles, 15 de enero de 2014

Una breve descripción de "Interfaces"

Debido a que son importantes para Delphi, vamos a darle un breve vistazo a las interfaces y su aplicación.

DESCRIPCIÓN

Para empezar, una interfaz es una definición de los métodos y propiedades públicas. Las interfaces sirven como una especie de plantilla para las clases, la definición de los métodos y propiedades que una clase que implementa la interfaz debe utilizar. En ese sentido, una interfaz define un contrato que una clase debe implementar, sin definir cómo debe implementarse ese contrato.

Una de las características cruciales de una interfaz es que proporciona para el polimorfismo sin depender de ancestros comunes de clase. En otras palabras, dos clases que implementan la misma interfaz son asignación compatible con el respeto a esa interfaz, independientemente de lo que las clases que descienden de. ¿Que ventajas aporta esto respecto a una clase abstracta? Pues en este caso la definición es más limpia, nada más.

Lo anterior es de "manual" y es lo que uno tiene que saber a la hora de trabajar con interfaces.

Definición de interfaz para un artículo:
type
   IArticulo = interface
     procedure IncrementarExistencias( rCantidad: Real );
     procedure DecrementarExistencias( rCantidad: Real );
     function Facturar: Integer;
   end;
Las interfaces nunca pueden ser instanciadas.
var
  Articulo: IArticulo;
begin
  Articulo := IArticulo.Create;
end;
Al compilar nos daría el error: Object or class typed required (se requiere una clase u objeto)

Para utilizar una interfaz necesitamos implementarla a través de una clase.
 
type
  TArticulo = class( TInterfacedObject, IArticulo )
    procedure IncrementarExistencias( rCantidad: Real );
    procedure DecrementarExistencias( rCantidad: Real );
    function Facturar: Integer;


Leer mas

viernes, 22 de noviembre de 2013

Primera aplicación móvil en XE5 paso a paso.

Programador: Lizarraga "ninio" Marcos.

Nivel codificación: Principiante


Ejemplo: 00000001


Móvil: Motorola Milestone 3 (Droid 3), Android 2.3


Descripción: 

Este ejemplo muestra cómo utilizar las acciones estándar para abrir la aplicación de cámara de su dispositivo Android para tomar una foto y mostrarla. Luego, con otra acción estándar, se abrirá la SheetShare para compartir su imagen a través de correo electrónico, publicar en Facebook, Twitter  y más.
Este ejemplo se puede obtener dentro de los ejemplos de android de xe5 y es el que hizo Fernando Rizzato en "Mobile in action live Argentina".

Aplicación: Didáctica.



Vamos a crear una nueva aplicación móvil en blanco.


Al aceptar nos va a crear un proyecto donde la apariencia en modo de diseño se parece a un móvil. Nos va a ayudar mientras vayamos construyendo nuestra aplicación vamos a tener una noción de como se va a ver la aplicación final dentro de nuestro móvil, se puede elegir entre varios modelos o construir un template propio.


Agregamos: TToolBar, TSpeedButton (2), TActionList y un TImage

Con la combinación Ctrl+Alt+P nos da el foco "Tool Palette". Así que podemos hacer Ctrl+Alt+p escribimos "ToolBar" y dar Enter, así podemos agregar componentes rápidamente a nuestro formulario sin tener que buscarlos en la paleta.

Image 1 (ImgContainer):
La alinemos alClient y le ponemos como nombre "ImgContainer", es donde colocaremos nuestra fotografía luego de tomarla.

SpeedButton 1 (btnCamera):

Lo colocamos en el ToolBar, alineado a la izquierda, margen izquierdo en 10. En la propiedad StyleLookup seleccionamos cameratoolbutton, vemos como el button tiene el icono de camara.

En la solapa de eventos seleccionamos la siguiente acción.

Events > Action > New Standard Action > Media Library > TTakePhotoFromCameraAction



Una vez seleccionada, desplegamos el evento acción y le damos doble clic en el evento OnDidFinishTaking. Este evento se ejecuta luego de tomar la foto y nos entrega en un TBitmap la fotografía tomada, colocamos la foto en ImageContainer.



procedure TForm1.TakePhotoFromCameraAction1DidFinishTaking(Image: TBitmap);
begin 
  ImgContainer.Bitmap := Image;
end;

SpeedButton 2 (btnShare):
Lo colocamos en el toolbar y lo alineamos a la derecha, cambien colocamos 10 de margen. Le agregamos la acción standart ShowShareSheetAction y dentro de los eventos de esta acción le asignamos a OnBeforeExecute.



procedure TForm1.ShowShareSheetAction1BeforeExecute(Sender: TObject);
begin
  ShowShareSheetAction1.Bitmap.Assign(ImgContainer.Bitmap);
end;


Ya estamos en condiciones de probar la aplicación, en mi caso voy a usar directamente el dispositivo.

Resultado

En el droid 3 android 2.3 estoy teniendo problemas con el sharedsheet, mientras averiguo o intento hacer que fucione en este hardware les dejo el video de embarcadero sobre este ejemplo, esta en ingles pero creo que lo escencial ya esta escrito.



Conclusión 
  • XE5 nos da un rápido acceso a los sensores del celular sin tener conocimientos de los mismos. 
  • En modo diseño nos permite ver rápidamente como queda el producto final. 
  • Hay que tener en cuenta los margenes y alineaciones, nuestras pantallas ahora giran y difieren en tamaño.
  • Soporta las versiones de android (2.x y 4.x) y todos los iOS, son mas que suficientes.
  • Con solo conectar nuestro celular esta listo para instalar y probar la aplicación. 
  • Con la herramienta ToolAndroid nos podemos bajar los drivers que necesitemos.
  • También permite probar con el Emulador de Android y Simulador de iOS, pero esto se merece un nuevo post. Yo les recomendaría siempre probar en un dispositivo.







Leer mas

viernes, 15 de noviembre de 2013

14 de Noviembre - Desarrollo de aplicaciones mobile con XE5 (Actualización)

Desayuno, programación y una taza con el logo de embarcadero, que más se puede pedir en una mañana de miércoles.

Arrancamos temprano en la oficina al grito de "hoy era lo del embarcadero!", por suerte está cerca, a unas pocas cuadras.


Una vez allá, desayuno, una introducción de la mano de Lisa Flores (Latin America Sales at Embarcadero Technologies) y la demo de xe5 en dispositivos móviles por Fernando Rizzato (Lead Software Consultant, Latin America), aplicaciones para dispositivos móviles con xe5, para un android iphone ipad etc, mismo código, sencillo y sin engorrosos cambios estéticos por partes del programador dependiendo del dispositivos.



TSM monstro como se distribuyen los archivos de una aplicación dentro de los dispositivos móviles android y ios.

Axoft, con Pablo Campo nos presentó el caso de éxito de Tango Gestión, con más de 20 años trabajando con Delphi y migrando las aplicaciones.

Unisolution con Unigis y su caso de éxito Soluciones Geográficas Inteligentes.

Sorteo de Licencia xe5 y para una certificación en Delphi. La cual no gane ninguna de las dos.

Salida, regalo, a comer y de vuelta al trabajo.




En resumen, XE5 se ve por demás prometedor, poder usar un solo fuente para hacer una aplicación que se pueda usar en cualquier dispositivo móvil y que en cada uno de ellos tome su estilo propio, poder probar la aplicación en línea ya sea en el dispositivo, en emulador (android) o en simulador (para el caso de ios), aunque para mi es mejor tirarlo directamente al dispositivo. Es compatible con Android 2.3.x y 4.x y con todo los ios.
No hay que aprender más nada que cosas propias de los dispositivos móviles y sus mañas.

Queda probar probar y probar, veremos que se me ocurre.
Leer mas

jueves, 31 de octubre de 2013

14 de Noviembre - Desarrollo de aplicaciones mobile con XE5

De la mano de Unisolution y Embarcadero el día 14 de noviembre se hará un evento en Buenos Aires para presentar lanzamiento sobre la nueva tecnología de desarrollo para múltiples dispositivos móviles con Android e iOS.

El evento es sin cargo y tiene un cupo limitado estricto.





Se estarán tocando los siguientes temas: 

  • Desarrollo Android e iOS nativo en acción
  • Único código fuente para todos los dispositivos 
  • Servicios de datos como fundamento de las aplicaciones multi-dispositivo

  • ¿Cuáles son los 5 errores más comunes cuando migramos una aplicación a un entorno móvil?

  • ¡Caso de Éxito!: Tango

  • Caso de Estudio: UNISOLUTIONS

Oradores:

  • Fernando Rizzato (Lead Software Consultant, Embarcadero Latin America)
  • Lisa Flores (Ejecutiva Comercial Embarcadero)
  • Adrián Brcic (Gerente Gral. UNISOLUTIONS)
  • Pablo Soligo (Team Leader UNIGIS)
  • Martín Fernández  (Team Leader UNIGIS)




Allí estaremos!


Leer mas

About Me

Nerd, Geek, estudiante, amante de la fotografía y la música, gamer y... programador.

Popular Posts

Marcos "NP" Lizarraga E.