miércoles, 24 de diciembre de 2014
Tal como podemos comprobar en Android Studio nos integra Gradle en nuestro proyecto, y ¿que es Gradle? una herramienta de automatización de procesos, tales como compilación, empaquetado, testing, despliegue etc, y todo ello desde la línea de comando y  de esta manera nos podemos evitar utilizar ANT de forma directa, ya que nos permite ejecutar tareas Ant si ya las disponemos.

¿Y como funciona? Básicamente a nuestro proyecto  incluye la estructura de directorios de Gradle independiente de nuestro proyecto.



Dentro de la estructura tenemos distintos archivos de configuración, como:
Settings.gradle -> Que nos permite configurar los módulos que componen nuestro proyecto, etc.
Build.gradle -> Para la configuración del proceso de compilación, empaquetado, firma, etc.. de nuestra aplicación, así como configurar el sdk mínimo o máximo, etc.
gradle.properties-> Establecemos las propiedades del proyecto.
Además dispone de repositorios para configurar aplicaciones pre configurados propios e incluso de Maven.

Podemos con Gradle compilar las dependencias de nuestro proyecto solo con una línea de comando, así como disponer compilaciones incrementa les sólo vuelve ha construir en caso de modificaciones del código.

Es decir nos permite configurar todo el proceso de creación de nuestro proyecto, compilación, testing, empaquetado y además de despliegue.






 Y como lo hace, utilizando un DSL(Domain Specific Lenguage) en este caso utiliza Groovy,  basado en Java evitando tener que configurar en archivos XML de tipo POM , por tanto es bastante bastante atractivo.
Además Android Studio integra una terminal de Gradle.


Y dispone de plugins que podemos instalar y facilitarnos las propias tareas de integración.

¿Y Gradle sólo se utiliza en Android Studio?  No tiene soporte para otros lenguajes e ides, incluso podemos simplemente descargarlo desde Github, descomprimirlo modificar nuestras variables de entorno y hacerlo funcionar de forma rápida siempre sin olvidar tener el JDK instalado no hay que olvidar que su lenguaje es Groovy basado en JAVA.

En definitiva otra herramienta que hay que tener en cuenta  considerando que es Open Source bajo Apache Software License (ASL) y aprender Poco a Poco ;-)

viernes, 19 de diciembre de 2014
Pues eso he estado liado durante unas semanas realizando un curso de formación en PhoneGap/Cordova, y que he aprendido que la tecnología avanza a una velocidad de crucero que requiere que nos subamos al tren para no quedarnos atrás.




En fin que es PhoneGap/Cordova es un marco de trabajo/framework,  PhoneGap es la parte de negocio y Cordova Opensource, pero al final es lo mismo y el ejemplo esta que desde la página web de Phonegap buscas documentación de la Api, y se podría decir que es la misma que  la de Cordova.

Phonegap desde mi punto de vista está orientada a desarrolladores Web, y porque digo esto porque la tecnología básicamente es un webview incrustado  es decir lo que mostramos es una Web.

Esto permite un desarrollo ágil dado que nos permite ejecutar nuestra aplicación a los distintos sistemas operativos móviles, Android, IOs, Windows Phone, de una forma rápida  y transparente hacia el desarrollador entramos en el área de las aplicaciones móviles híbridas, además nos permite interactuar de forma nativa con el SO:
  • Android -> Java.
  • IOs -> Objective- c.
  • Windows Phone -> C#
Lo cual nos abre un abanico de posibilidades más que interesante, por ejemplo en algunos casos que necesitamos acceder algún sensor específico que desde el webview no permita podemos instalar plugins en nativo que nos permite acceder al Api , o simplemente si queremos que no nos pida permisos desde el webview cuando por ejemplo queremos acceder al sistema de Geolocalización lo podemos realizar utilizando los Plugins.
PhoneGap/Cordova dispone de una serie de plugins soportados, así como más de 620 plugins que podemos descargar desde la página web de Cordova,, o bien en caso necesario podemos desarrollar nuestros propios plugins.

Bien y como estructuramos un proyecto de estas características, y aquí una vez más porque tenemos que estar en constante reciclaje.

Dado que nuestra aplicación ejecuta una html local, necesitamos estructurar la aplicación para que sea más aproximada a la experiencia de una aplicación nativa, y para ello debemos evitar lo posible la transiciones entre páginas por ello crearemos un SPA (Single Page Application) y además adaptado al tamaño de los dispositivos por tanto debe ser Responsive  y todo ello lo conseguimos con HTML5.

Después necesitamos una herramienta que nos permita modificar el DOM de nuestra web, por ello debemos utilizar javascript dado que es el lenguaje de programación soportado por nuestro webview de forma nativa, y aquí se abre un gran abanico de posibilidades dado la cantidad de frameworks existentes desde JQuery , hasta el más reciente Angularjs.  Así como cualquier otra librería javascript que necesitemos para el desarrollo de nuestra web.

Indiscutiblemente CSS3  o cualquier framework CSS tipo Less  , Bootstrap o Foundation

Todo esto nos obliga el tener que armarnos con una serie de de herramientas que nos facilite el trabajo como Yeoman   para que nos cree la estructura del proyecto, Grunt para la integración de las tareas en javascript, o Bower  para la gestión de las librerías js que necesita nuestro proyecto.

Y sobre todo por debajo de todo tenemos a Node.js

En fin como he comentado al principio necesitamos seguir avanzando e ir reciclándonos, en mi caso voy a ir poco a poco y ordenando código ;-) 
martes, 9 de diciembre de 2014
En tutoriales anteriores ya habíamos instalado el S.O en nuestra Raspberry Pi ahora vamos ha conectarnos a ella de forma remota, para ello utilizaremos SSH para posteriormente instalar UltraVNC y de esta forma poder conectar al SO  en su entorno gráfico XWindows.


Para ello debemos tener activado el SSH tal y como lo hicimos durante el proceso de configuración del SO en la Raspberry Pi.


A partir de este momento conectamos nuestra Raspberry Pi a nuestro Router tal y como muestro en la siguiente imagen.

Averiguamos la dirección IP que nos asigne el Router para ello debemos entrar en la página de propiedades del mismo normalmente 192.168.1.1 , en mi caso la IP asignada es 168.168.1.36

El siguiente paso es conectar  a nuestra Raspberry mediante SSH si estamos en Windows simplemente deberemos descargarnos la aplicación PUTTY la instalamos y la ejecutamos

Donde en Host ponemos la dirección ip asignada, automáticamente nos abrirá un terminal recordar que usuario es: pi y el password: el que introducimos durante la instalación.
Si lo hacemos mediante linux sólo deberemos introducir en cualquier terminar la instrucción SSH
pero indicándole la dirección ip y el login, sería algo así como SSH 192.168.1.36 -l pi
Nos abrirá un terminal y posteriormente introducimos la clave.

Bien una vez dentro ya podemos instalar Ultra VNC Server para poder abrir el modo gráfico del Sistema operativo instalado en nuestra Raspberry, para ello  ejecutaremos la siguiente línea de comandos:

sudo apt-get install tightvncserver

Una vez instalado para lanzar  el vncserver debemos ejecutar la siguiente línea de comandos:

vncserver :1 -geometry 1280x800 -depth 16 -pixelformat rgb565

Ya sólo nos queda abrir cualquier cliente de ultraVNC y desde cualquier dispositivo conectado a nuestra red local podrá abrir una sesión de la RaspBerry pi+, yo por ejemplo utiliza la app para Chrome

A continuación un Videotutorial de todos los pasos.

Un saludo.
lunes, 1 de diciembre de 2014
En un  mini tutorial anterior vimos como conectar MySql con Visual Studio de una forma sencilla, en el siguiente veremos como conectar en Microsoft SQLServer , pero antes crearemos la base de datos utilizando Management Studio.

Entorno.

Para el desarrollo del tutorial he utiolizado el siguiente entorno.
  • Hardware: HP EliteBook 2540p -620M (2,66 GHz, 4 MB de caché de nivel 3)* — Hasta 3,33 GHz con tecnología Intel Turbo Boost. 
  • Sistema Operativo: Windows 7 Professional. 
  • Visual Studio 2013 y .Net
  • Microsoft Sql Server 2014.

Prerrequesitos.

Debemos tener instalado Microsoft Sql Server, puedes instalarte una versión express y las herramientas de la versión 2014 desde aquí de forma gratuita.


Videotutorial.
Aquí os dejo el videoTutorial que os muestra los pasos a seguir.


Archivos.
Aquí esta el enlace del proyecto subido a GitHub




Bueno se ha liberado la versión 8.0.2 del IDE NetBeans, en la que incluye una serie de correcciones y entre las mejoras cabe destacar:

  • Integración de los servidores de aplicaciones GlassFish 4.1 y Tomcat 8.0.15.
  • Soporte para JDK 8 (Funciones Lambda y Streams, etc.).
  • Soporte de Cordova 3.3 para Android 4.4.
  • Soporte para PHP 5.6.
  • Soporte de Java SE Embedded para Raspberry pi+
  • Soporte para Require JS
  • etc.
En fin un sinfin de cambios que vale la pena actualizar bien desde el propio IDE  si ya lo tienes instalado o instalarlo desde aquí ;-) Que esperas????