Showing posts with label Android. Show all posts
Showing posts with label Android. Show all posts

Monday, July 21, 2014

Programación para Móviles... Gratis!


Sea parte de la revolución en tecnología

Embarcadero Technologies ha creado un Framework llamado Appmethod que permite el desarrollo rápido de aplicaciones enfocado a tecnología multiplataforma y así crear apps de manera rápida, segura y nativa.

Appmethod permite trabajar en C++ o en Objective Pascal. Su código es compilable a IOS, Android, PC y Mac sin hacer ningún cambio.

Usted puede crear aplicaciones que utilicen las tecnologías Cloud, BaaS, Middleware Application Server o conectarse directamente a su Base de Datos Empresarial de manera directa y segura; ésta herramienta incluye los componentes de seguridad más utilizados en el mercado.


Appmethod le permite crear aplicaciones para Android GRATIS; utilizando un sistema de suscripción, adquiera lo que usted o su negocio demanden.

Thursday, June 26, 2014

Programando para Móbiles

¿Porqué compilar en lenguaje nativo es mejor?

El compilar en lenguaje nativo contrario al ejecutar tecnologías híbridas como el html5 tiene muchas ventajas para el desarrollador serio:

La aplicación es más rápida tanto de instalar como de ejecutar

Las aplicaciones nativas no traen tanto bagaje de gráficos extras ni máquinas virtuales que provocan grandes pausas de latencia en los teléfonos que no son aparatos diseñados para tener capacidad de procesamiento.

En un tiempo donde la transmisión de datos sigue siendo un recurso premium no podemos darnos el lujo de obligar a nuestros clientes a bajar una gran cantidad de datos simplemente por una mala planificación y/o mala decisión a la hora de elegir una herramienta para trabajar.

La aplicación es más segura

Una aplicación compilada en lenguaje nativo está encapsulada, así que sus datos están protegidos, no se puede decir lo mismo de html5 por lo cual sus aplicaciones son muy reducidas.

El uso de herramientas personales esta restringido
Un desarrollador de aplicaciones móviles es obligado a utilizar las herramientas que vienen con el framework, y rara vez éste les permite crear sus componentes propios.

El soporte a gráficos es limitado

Los frameworks para desarrollo no nativo tienen un soporte de gráficos muy limitado debido a las diferencias tan marcadas de manejo entre las diferentes plataformas, y no permiten un buen uso de 3d

In-eficiencia del código

Los framework de programación móvil orientadas a Web dependen de librerias de traducción de código que no son eficientes lo que dificulta la correcta ejecución del diseño original de la app.


Como solicitar permisos de uso de funciones en el teléfono desde mi aplicación Delphi

Un aspecto muy importante en el desarrollo de aplicaciones para teléfono que utilicen las capacidades de hacer llamadas, leer y enviar mensajes de texto o accesar bluetooth, es el de solicitar el permiso al dueño del teléfono para hacerlo.

En nuestras aplicaciones Delphi logramos ésto entrando en las opciones de nuestro proyecto


 Dentro de nuestro cuadro de opciones vamos a elegir la opción "Uses Permisions"("Utilizar Permisos") y dentro del cuadro que se muestra elegimos el perfil que deseemos. recordemos que nuestra aplicación Delphi es compilable en lenguaje nativo en Android y en IOS.


Una vez hecho ésto escojemos las opciones que necesitamos


Ahora cuando nuestra aplicación se instale en el teléfono, solicitará el permiso para utilizar los recursos que necesita.

ADVERTENCIA
Este proceso NO es opcional.
Los recursos del teléfono están protegidos por defecto y no permitirán que un programa sin permisos los utilice, Delphi agrega por defecto las solicitudes de sus unidades nativas pero cualquier programa que utilice API's debe revisar que todas las solicitudes de permisos estén agregadas

Tuesday, May 20, 2014

Mapas de Calor en Delphi

Un mapa de calor o "Heatmap" es un mapa que cambia de color por zonas dependiendo de un dato, es muy usado para estadísticas de producción en regiones geográficas.

Por ejemplo si queremos un mapa que nos mida las ventas por país como éste:

o como éste


Tenemos algunas maneras interesantes de hacerlas:

Lo primero es dibujar o importar el mapa, el mapa por lo general está definido en formato svg el cual es un formato de coordenadas, que se ve como ésto:

<svg height="210" width="500">
  <polygon points="200,10 250,190 160,210" style="fill:lime;stroke:purple;stroke-width:1" />
  Sorry, your browser does not support inline SVG.
</svg> 

pero claro ése es un triángulo, su mapa se verá como ésto:


perdonen, éste es solo un segmento del mapa, pero se debe incluir en nuestro programa cada segmento a estudiar y formar el mapa con la unión de todos ellos.



En nuestro programa creamos un objeto TPATH y en TPath.data insertamos los puntos vistos que forman nuestra región, crearemos un objeto para cada región que forma nuestro mapa.




Una vez completada la inserción de todas las regiones ( y debidamente identificadas ) podemos manipular su color con un simple case.




begin

FireDAC.Connected := True;
try
FDQuerySelect.Open;
FDQuerySelect.First;
while(not FDQuerySelect.EOF)do 
begin
Case (FDQuerySelect.FieldByName(‘MType’).AsInteger) of
1 : Pathlist[FDQuerySelect.index].fill.color := Green;
0 : Pathlist[FDQuerySelect.index].fill.color := Red;
else 
Pathlist[FDQuerySelect.index].fill.color := Blue; 

end;
FDQuerySelect.Next;

end;

Form.Redraw;

end;

Éste es tan sólo un ejemplo de lo que podemos hacer con Delphi, los reto a hacer lo mismo con Live Bindings



Monday, March 31, 2014

¿Como empiezo a programar en Delphi?

Esta pregunta es mas común de lo que se cree y se debe al modo en que se está enseñando a programar en éste momento.

En Java, Python y la mayoría de los lenguajes la manera de programar comienza desde la declaración de clases, debes declarar en código una clase main que es la que va a llamar a los diferentes procedimientos.

En Delphi se comienza por una ventana main la cual vamos a ir llenando con los componentes respectivos, es una manera gráfica de pensar contrario a la manera de código, cada vez que se piensa en una funcionalidad estamos pensando en un componente o en una serie de comportamientos.

Delphi se presta de excelente manera a lo que es UML por que le enseña a uno a programar por comportamientos y seguir las líneas de ejecución basadas en el diseño hecho en el diagrama de secuencia.

¿Cuales son las ventajas de programar en Delphi?

Delphi utiliza una serie de componentes preprogramados que permiten desde hacer cosas sencillas como obtener un dato en texto hasta controlar la capacidad GPS del teléfono.

Existen miles de ejemplos de algoritmos que se pueden hacer en delphi, por favor pregunten por lo que necesiten hacer y con gusto publicaré lo que requieran

Friday, March 21, 2014

Capacitación para desarrollar Apps Android e iOS

MÓDULO I : DELPHI XE5 BASE
del Lunes 21 al Jueves 24 de Abril de 2014 - de 2 a 7pm
________________________________________


Configuring the Project.
Object Oriented Programming.
The Singleton Design Pattern.
Basic Interface Elements.
Visual Form Designer and Code Editor.
LiveBinding Designer.
Exception Handling.
Delphi´s Debugger.
Advanced Database Development.
Using DBExpress to Access Database.
Using FireDAC to Access Database.
TClientDataSet.
Introduction to XML.
Introduction to JSON.

MÓDULO II : DELPHI XE5 - DATASNAP      
del Viernes 25 al Miércoles 30 de Abril de 2014 - de 2 a 7pm
________________________________________
Introducción y Arquitectura.
Servidores DataSnap
- Ayudantes.
- DataSnap Server REST.
- DataSnap WebBroker.
- Métodos del Servidor. Proxies.
- Usando CallBacks.
- Ciclo de Vida de la Clase del Servidor.
- Monitoreando y Controlando TCP/IP Conexión.
Clientes DataSnap
- Conectando los clientes con un Servidor DataSnap.
- Filtros.
- Validación de Certificados HTTPS.
Serialización de Objetos usando JSON.
Autenticación y Autorización.
Manejo de Sesiones.
Deployment.
Conectores DataSnap para Dispositivos Móviles.

MÓDULO III : DELPHI XE5  APLICACIONES MÓVILES  
del Lunes 5 al Jueves 8 de Mayo de 2014 - de 2 a 7pm  
________________________________________
Configuración del Ambiente
- iOS.
- Android.
Creación de Interfaz de Usuario.
- LiveBinding Design.
Usando la funcionalidad del Dispositivo.
- Tomar y Compartir Fotos.
- Usando el Sensor de Localización.
- Usando el “Notification Center”.
- Haciendo Llamadas con el Celular.
- Entre otros sensores.
Uso de Base de Datos.
- DBExpress.
- FireDAC.
Conectándose a Base de Datos Empresariales.
- DataSnap Client.
Avanzado.
- Usando Componentes Nativos iOS y Android.
Ejemplo Práctico Completo.
- Servidor DataSnap.
- Client Mobile
Persistencia Local

________________________________________
Instructor
Luis Felipe González - Venezuela – MVP
Profesor, Instructor y destacado Consultor en Programación Avanzada y desarrollo de Aplicaciones Distribuidas, con más de veinte años de experiencia. He entrenado profesionales en Starteam, VisiBroker (Jave y C++), JBuilder, C++Builder y Delphi, en diferentes países de Latinoamérica. Director Ejecutivo de VisiNet Soluciones, empresa de consultoría de software y desarrollo de proyectos a la medida y llave en mano, en Caracas, Venezuela. Como entusiasta desarrollador sigue experimentando con las tendencias tecnológicas actuales en el mundo de la computación avanzada. www.lfgonzalez.visiblogs.com

________________________________________

Lugar:                                          New Horizonts Costa Rica – 200 metros
                                                     sur de la Librería Universal de la Sabana –
Monto de Inversión:                  $795,00 por persona, por módulo
Incluye:                                       Refrigerios y certificados

Thursday, March 13, 2014

¿Que es AppMethod?

Appmethod es una versión de C++ Builder y Delphi enfocada al desarrollo multiplataformas que no es compatible con las versiones de delphi anteriores a XE2 ya que todas las aplicaciones programables utilizan el framework "FireMonkey".

¿Que es Firemonkey?
Firemonkey es un Framework especializado para multiplataformas que utiliza librerías que le permiten al código escrito y diseñado en él, ser compilado para diversas plataformas (Windows, MacOS, Android y IOS) en código nativo sin utilizar máquinas virtuales.

¿Cúal es la diferencia entre AppMethod y RAD Studio?
Rad Studio incluye muchas mas opciones para el desarrollador que AppMethod, AppMethod es recomendado para el programador cuyo objetivo sea las aplicaciones pequeñas

Tuesday, March 11, 2014

Delphi y Bluetooth

Un muy buen ejemplo de una aplicación Bluetooth con Delphi es ésta aplicación creada por
Björn Hansen
https://www.youtube.com/watch?v=vesPd5WvykA

Utiliza Bluetooth para conectarse a un sistema de iluminación e ilustra las facilidades de Delphi para conectarse a dispositivos Bluetooth

Como definir código para diferentes plataformas

Otra pregunta muy popular ha sido el ¿como utilizo una parte de código solamente para
un plataforma en Delphi?

Muy sencillo:

utilizando el condicional $ifdef como este ejemplo:
  {$DEFINE DEBUG}
  {$IFDEF Android}
         Writeln('Código para android.'); 
         // Este código se ejecuta si la plataforma es android.
  {$ELSE}
         Writeln('Codigo para cualquier otra plataforma.');   
         // Este código se ejecuta si la plataforma no es android.
  {$ENDIF} 
 
De ésta manera tenemos código opcional para las diferentes opciones 
de plataformas que tengamos y más puesto que podemos discriminar entre 
diferentes procesadores para código optimizado
 
Pueden encontrar el cuadro completo de opciones aca:
http://docwiki.embarcadero.com/RADStudio/XE5/en/Conditional_compilation_%28Delphi%29
 

Friday, February 28, 2014

CodeRage Latinoamérica. 11 Marzo 2014.

Este mes de Marzo la comunidad de desarrolladores está de suerte.
La programación para móbiles está de moda y si desea aprender, aprenda de los mejores!


  • Todo lo que necesita saber para comenzar con iOS y Android en Delphi y C + + Builder
  • Buenas prácticas en el diseño de la interfaz gráfica de sus aplicaciones móviles
  • Aplicaciones iOS y Android con base de datos en Delphi y C + + Builder
  • Aplicaciones iOS y Android con soporte para arquitecturas Multi-capas utilizando DataSnap 
 Regístrese ahora!

Thursday, February 20, 2014

RAD Studio de Embarcadero, Nuevas herramientas para el futuro

Hoy estuve en el evento de Rad Studio de Embarcadero en Costa Rica, fue muy refrescante el ver a tantas personas interesadas en el futuro del desarrollo de aplicaciones.
El punto principal del evento fue la capacidad de la herramienta RAD Studio de utilizar un mismo código fuente para compilar la misma aplicación en ambientes android, IOS, Windows y MacOS, el resultado fue sorprendente, la posibilidad del framework de heredar las características de los diversos ambientes y las facilidades de conexión a las diversas bases de datos permiten un ahorro de recursos impresionante.

Una herramienta de éste tipo incorpora beneficios como:
  • Menor curva de aprendizaje
  • Desarrollo más ágil
  • Cobertura de mercado
Éstos son beneficios inmediatos que reciben los desarrolladores con una herramienta sólida y pionera en el campo del desarrollo.
Los que recordamos los tiempos de Borland vimos crecer a Delphi como la respuesta a la creciente demanda de aplicaciones en 16 bit que eran lo último en los 90's, en esa época el lenguaje de entrada al mundo de la programación era Pascal y el salto a Delphi era fácil, por lo que el relanzamiento de Delphi es un respiro para los que empezamos de ésa manera.
Las nuevas generaciones han empezado con C++ y Java y puede que no se sientan tan cómodos, así que parte del suite que se mostró fue C++ Builder que incorpora las mismas bondades y facilidad visual de programación con el lenguaje madre de la nueva generación C++.

La nueva tendencia de mercado es la plataforma móvil, y aquellos que no lo han aceptado lo han pagado caro, las estadísticas muestran que hay más dispositivos android conectados a la internet de los que hubo en windows y siguen creciendo!.
Tablets, Teléfonos inteligentes, Relojes inteligentes incluso anteojos inteligentes!, éstos son los dispositivos que son utilizados hoy en día, así que la tendencia para desarrollar en ellos debe ser ahora.

Exploring the Differences between Red-Teaming and Blue-Teaming in Cybersecurity: Why Red-Teaming is Sexier; but Blue-Teaming is More Crucial

When it comes to cybersecurity, there are two teams that often get confused: redteams and blueteams. Redteams are the hackers, the ones w...