lunes, 29 de septiembre de 2014

Cómo instalar plugins en Cordova/Phonegap

Para saber como instalar un plugin lo más sencillo es seguir la documentacion oficial de phonegap.com

¿Pero que pasa cuando se desea instalar un plugin alojado en github? Un ejemplo es el plugin para NFC creado por chariotsoulutions

Las instrucciones del plugin dice que se puede instalar de la siguiente manera:

cordova plugin add https://github.com/chariotsolutions/phonegap-nfc.git

Pero si escribimos esto nos marcará un error, para enmendarlo se debe bajar git, al momento de instalarlo hay que tener cuidado en la pantalla que se ve en la imagen:


Aqui debemos seleccionar la segunda opcion, todo lo demas lo dejamos por default. Bien al finalizar recomiendo reiniciar windows. Ya reiniciado ya se puede volver a probar la instalacion del plugin como en la siguiente imagen:


Y listo.



Instalación de Cordova/Phonegap+Android SDK

Pasos para la instalación del framework Cordova/Phonegap

Entramos a nodejs.org y bajamos node para poder instalar utilizando cmd mediante npm

para instalar el node hacemos el típico "siguiente, siguiente... finalizar"

Ahora bajamos el ADT de Android


El ADT esta comprimido, lo descomprimimos y lo ponemos en una carpeta, yo recomiendo ubicarla en C:\, para nuestro ejemplo la pondré en C:\adt-bundle-windows-x86_64-20140702

Necesitamos también la librería apache ant http://ant.apache.org/bindownload.cgi yo uso la versión 1.9.4
Apache ant debe descomprimirse y ponerse en una carpeta, yo recomiendo ponerla en C:\, para este ejemplo vamos a ubicarla en C:\apache-ant-1.9.4


Instalamos y ahora reiniciamos la computadora

Ahora entramos a "Mi PC" (o usamos el atajo Windows + E), click derecho propiedades, en el panel del lado izquierdo encontraremos una opcion que dice "Configuracion avanzada del sistema" hacemos click, se abrirá una pequeña ventana, click en la pestaña "opciones avanzadas", click en el la opción que dice "Variables de entorno", puedes guiarte con la imagen de abajo


Se abrirá una ventanita en la que hay dos listas, en la lista de abajo haz click en "Nueva...", aparecerá otra ventana en la que deberás llenar dos campos: "Nombre de la variable" y "Valor de la variable".

En Nombre de la Variable escribe "ANDROID_SDK_DIR" (sin comillas)
Valor de la variable: C:\adt-bundle-windows-x86_64-20140702

Guiate con la siguiente imagen



y das click en aceptar, nuevamente hacemos click en "nuevo..." y esta vez los campos serán llenados así:
Nombre de la variable: ANDROID_HOME
Valor de la variable: %ANDROID_SDK_DIR%\sdk


Damos click en aceptar, ahora en la lista de arriba hay una variable llamada "PATH" dale click y click en editar (OJO EN LA LISTA DE ARRIBA), saldrá una ventana, en donde dice "Valor de la variable", nos vamos hasta al final de lo que se encuentra escrito actualmente al final si no hay un punto y coma entonces ponemos un punto y coma ( ; ) y agregamos el siguiente texto:
C:\apache-ant-1.9.4\bin como en la siguiente imagen:


damos click en aceptar y reiniciamos la computadora.

Entramos a C:\adt-bundle-windows-x86_64-20140702 y veras una aplicacion llamada SDK Manager click derecho "ejecutar como administrador" (si no encuentras esa opcion intentalo normal, con doble click para abrir) comenzamos a instalar los paquetes que se piden ahi, eso ya es muy a criterio de cada quien, pero yo intento siempre instalar las mas nuevas versiones


Ok, es hora de instalar cordova, para comenzar recomiendo tener una carpeta de proyectos de cordova/phonegap  para el ejemplo crearemos una carpeta en C:\ llamada phonegap ahora abrimos el cmd, damos inicio, ejecutar 
(yo prefiero el atajo windows + R) y escribimos cmd.exe y damos enter, se abrirá la ventanita de MS-DOS.

Escribimos npm install -g cordova, y comenzará a instalar cordova por medio de npm que fue lo primerito que instalamos en este tutorial, ahora entramos a la carpeta C:\phonegap y creamos un nuevo proyecto con el siguiente comando:

cordova create prueba com.PCSolutions.prueba "Titulo Prueba" 

y das enter, no explicaré el comando de arriba porque al dar enter te saldrá un mensaje explicando que es lo que acaba de suceder, entramos al nuevo proyecto llamado "prueba" y le agregamos la plataforma android con el siguiente comando:

cordova platform add android

Se bajarán los paquetes necesario para agregar dicha plataforma, para los pasos hasta aqui mencionados puedes basarte con la siguiente imagen:


Al terminar, podrás usar el comando cordova run android para enviar la app a un android que tengas conectado por usb.

Hasta aquí no deberías tener algún problema, ya deberías poder ver el app demo de phonegap, pero si hay dudas no dudes en mandar un comentario en este post, saludos.






lunes, 15 de septiembre de 2014

Opinión sobre TideSDK

TideSDK te ayuda a que tu aplicación basada en php, html5. python, ruby, entre otros, pueda convertirse a ejecutable de escritorio para windows, macOS y linux, bastante sorprendente, el único detalle es que cuando crea tu programa.exe deja el código fuente a la vista de todos, por lo que tienes que recurrir a un ofuscador de código, eso es lo único malo, pero por lo demás, está excelente.

Conectar un servidor ubuntu con Microsoft SQL

Pasos para instalar la extensión mssql, estos pasos estan testeados con:

Ubuntu Server 12.04
Microsoft SQL 2005,2008 y 2014

Los pasos son:

*Entrar como root escribiendo: sudo su
*Escribir apt-get install php5-sybase
*Te preguntará si estas seguro de continuar das Y (de Yes)
*Reinicia el server con: shutdown -r now
*Abre el php.ini con: sudo nano /etc/php5/apache2/php.ini
*Cambia la la línea que dice:
mssql.datetimeconvert = On;
debe cambiarse a:
mssql.datetimeconvert = Off;

Se cambia a Off porque si se queda en On da problemas con los Nulos haciendo que PHP mande un error 500.

Guarda el siguiente script como test.php y subelo al server en /var/www/ para checar si la conexión ha sido exitosa:

*Guarda los cambios con ctrl+o y enter
*Cierra el editor nano con ctrl+x
*Reinicia el server con: shutdown -r now

<?php
// El servidor con el formato: <computer>\<instance name> o
// <server>,<port> cuando se use un número de puerto diferente del de defecto

// también puede ser con la pura ip del server Microsoft SQL$server '192.168.1.45'; //IP del servidor Microsoft SQL// Connect to MSSQL$link mssql_connect($server'sa''idevsoftware');

if (
$link) {echo 'Conectado exitosamente!! :D';
} else {

echo 'No se puede conectar :(';
}?>

Ahora podrás ir a un navegador de una PC conectada en la misma red que el server y escribir: 192.168.1.44/test.php y listo, lo más probable es que no tengas ningún problema.

Subir y Bajar archivos a un servidor por FTP y/o SSH

El mejor cliente para FTP y SSH para muchos y para mi es sin dudas Filezilla, veremos ahora como conectarnos a nuestro server de ejemplos anteriores:


Al rellenar los campo y dar click en conexión rápida va a salir algo como esto:


Seleccionamos la casilla "confiar siempre..." y click en aceptar, listo, estamos dentro del server, en el panel derecho como explico más en la imagen del principio tenemos el árbol de directorios de nuestro server, nos movemos a /var/www, ahí es donde se aloja el index.html que despliega "It Works", asi que, todos los archivos que se suban en /var/www/ pueden consultarse por el navegador.

NOTA: Yo puse Puerto 22 en los parámetros, pero filezilla automáticamente lo borra de la casilla y en el campo Servidor antepone "sftp://" a la ip del server.

Configurar una IP Fija en Ubuntu Server 12.04

Específicamente en ubuntu server 12.04 porque no he hecho estos pasos en otra versión y recuerdo que por ejemplo en la 10.04 los pasos son un poco pero significativamente diferentes.

*Entramos en modo root escribiendo "sudo su" sin comillas, seguido de un enter.

Escribimos nano /etc/network/interfaces ... y enter

 En este punto estamos en un editor de archivos (nano), la última línea que dice "iface eth0 inet dhcp" la comentamos anteponiendo un #
 Ahora escribimos los siguientes parámetros, que tu deberás cambiar dependiendo de tu red, explico:

Address: es la ip fija
Netmask: Es la máscara
Gateway: La gateway (¿hay otra manera de decirle?)
dns-nameservers: Es el DNS, aveces hay varios DNS por lo que si ocupas mas de uno la forma es:

dns-nameservers: xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy zzz.zzz.zzz.zzz, osea son los ip's de dns, separados por un espacio.
 Para guardar cambios escribimos ctrl+o y luego enter
 Ctrl+x para salirse del editor, ahora la red debe reiniciarse para que tome los nuevo cambios, una forma es reiniciando el servidor con "shudown -r now", la otra forma es reiniciando directamente la red sin reiniciar el sistema operativo, escribe: /etc/init.d/networking
 Verás algo como esto:
 Ahora, ya deberías poder ver el mensaje "It Works!", abriendo un navegador desde una computadora conectada a la misma red del server y escribiendo el ip fijo del server en nuestro ejemplo fué la ip fija: 192.168.1.44

PD. Gracias a Apache porque el mensaje no dice "Hello World", me fastidian los "Hello World".



Servidor PHP paso a paso

Para nuestros server PHP, vamos a necesitar Ubuntu 12.04 server, los pasos son los siguientes:

Seleccionamos nuestro idioma
 Seleccionamos "Instalar Ubuntu Server"
 Seleccionamos Nuestro País
 Aqui recomiendo que escojan "si"
 Presionamos una a una las teclas que esta pidiendo
 Como yo tengo teclado latino seleccioné "no"
 Aquí ya detectó que el treclado es latino "latam", siguiente...
 Empieza a cargar componentes adicionales
 Aquí escojemos un nombre para la máquina
 Nombre de Usuario...
 "nickname" del usuario
 Password del usuario
 Repetir password de usuario
NOTA: Este password será utilizado también para usuario "root"
 Si usan una contraseña débil seguramente verán esto,
no hay problema sólo es una alerta por si desean crear un password más fuerte
 ¿Cifrar carpeta personal? Seleccionamos "no"
 Configurando Reloj...etc...
 Aquí pregunta si nuestra timezone es America/Mexico_City, en mi caso así es
 Cargando componentes adicionales...
Yo estoy instalando en un disco duro virtual por lo que
no tengo problema en seleccionar "Guiado - utilizar todo el disco duro"
 Escojemos el disco duro a particionar, en mi caso es uno virtual
 Si tienes más de un disco duro, si tienes mas de un sistema operativo en tu disco duro, etc, en fin si tienes dudas no te recomiendo continuar porque podrías cargarte otros sistemas, pero en este caso es un disco duro virtual completamente limpio asi que seleccionamos "Sí"
 Formateo de particiones...
 Instalando sistema base
 Lo que dice la ventana, como en este caso no estamos utilizando un proxy, dejamos en blanco y escojemos continuar
NOTA: Si no encuentras como seleccionar "continuar", usa la tecla tab (tabulador) para moverte al área de abajo y entonces puedes seleccionar "continuar"
 Configurando APT...
 Seleccionar e instalar programas...
 Para que "no nos heche mosca" escojemos "Sin actualizaciones automáticas"
 Aquí seleccionamos con la tecla espacio la opción OpenSSH y la opción LAMP, usamos la tecla tab (tabulador) para pasarnos al área de abajo y así poder seleccionar "continuar"

NOTAS: LAMP Significa Linux, Apache, Mysql, PHP. En lagunos casos no querrás usar MySQL, pero no importa, de esta manera evitamos tener que instalar de manera individual el Apache y PHP, en resumen nos ahorramos varios pasos.

OpenSSH Es para poder subir y bajar archivos al server mediante SSH usando Filezilla
 Seleccionar e instalar programas...
Como explicaba arriba LAMP incluye MySQL, por lo que en este punto seleccionamos un password para el usuario de MySQL, después pedirá repetir el password
 Seleccionar e instalar programas...
 Aquí seleccionamos "Sí"
 Seleccionamos "continuar"
 Finalizando la instalción...
Después de esto el server se reiniciará automáticamente y listo, ya está nuestro server ubuntu 12.04 corriendo. ¿Como se apaga? Tienes que entrar iniciar sesión con tu usuario y... NOTA: cuando escribes el password se ve como si no escribieras nada, el cursor no se mueve, ni salen asteriscos o algo por el estilo, pero cuando termines de escribir el password das enter. Luego debes entrar en modo root escribiendo "sudo su" sin comillas y seguido de un enter y te pedirá escribir el password de root que como menciono más arriba es el mismo que el del usuario, cuando ya estes en modo root escribes: "shutdown -h now", sin comillas y seguido de un enter para apagar el server, si deseas reiniciarlo es "shutdown -r now".

Como nota final, es recomendable hacer una actualización:
sudo apt-get update