Node Baby Steps

¿Qué facilita y permite Node.js?

Node.js es una plataforma basada en el “Chrome’s JavaScript Runtime” que facilita la construcción agil de aplicaciones de red escalables. Node.js utiliza un modelo de E/S sin bloqueo por eventos que le permite ser ligero y eficiente, ideal para aplicaciones en tiempo real con datos intensivos que se ejecutan a través de dispositivos distribuidos.

Istalando Node.js en Yosemite

brew install node

Más información: Installing Homebrew on OS X Yosemite

Actualizar NPM

npm install npm -g

Más información: https://www.npmjs.org/doc/misc/npm-faq.html

Actualizar Node.js con NPM

sudo npm cache clean -f

sudo npm install -g n

sudo n stable

node -v

También es posible usar una versión en específico, por ejemplo:

sudo n {VERSION}

Ayuda rápida

npm -h

npm install -h

npm update -h

npm uninstall -h

Buscar (terriblemente lento)

npm search sails

Más información:

Ionic – HTML mejorado para Apps

A continuación una lista de los frameworks que parecen ser más efectivos para el desarrollo de proyectos para dispositivos móviles o que requieran “Responsive Web Design”. También es importante conocer si en el Proyecto se ocupan características como “semantic templates” o “data binding”:

Cabe mencionar que existen opciones interesantes como Mustache, Handlebars y Underscore/Lodash.

Ionic tiene integración con Cordova

Un aspecto interesante es la integración de Ionic con Cordova. De hecho, el CLI de Ionic está construido sobre el CLI de Cordova.

Instalar Ionic con npm

sudo npm install -g gulp ionic

Crear un proyecto base (seed project)

ionic start myApp

Agregar una plataforma

cd myApp

ionic platform android

Correr App en el Emulador

ionic build android

ionic emulate android

Correr App en el Dispositivo conectado por USB

ionic run android

ionic-emulate-android

Drupal y PhoneGap – Mobile application development kit

Realmente no me gusta mucho Drupal, en lo personal me parece más simple e interesante WordPress. Pero me dió curiosidad experimentar, por ejemplo, con Drush:

DrupalGap es un kit de desarrollo de aplicaciones móviles de código abierto para Aplicaciones Web basadas en Drupal. Se utiliza para crear aplicaciones móviles para Estrategias Web con Drupal.

Este proyecto integra de manera efectiva: Drupal, PhoneGap, jQuery Mobile y jDrupal.

Página del proyecto: drupalgap.org

Para más información consulte:

Instalación de DrupalGap

drush dl services libraries views_datasource
drush dl drupalgap
drush en drupalgap

A continuación visite:

http://SITE/?q=admin/people/permissions#module-drupalgap

Seguidamente se deben habilitar los siguientes permisos:

  • DrupalGap
    Get vocabularies (anonymous user, authenticated user).
    Get terms (anonymous user, authenticated user).
  • Services
    Save file information (authenticated user).
    Get a system variable (anonymous user, authenticated user).
  • User
    View user profile (anonymous user, authenticated user).

Para verificar que la instalación se realizó de manera adecuada verifique la siguiente página:

http://SITE/?q=admin/config/drupalgap

Una manera fácil de comprender la idea

http://SITE/?q=drupalgap/node/NODE_ID.json

http://SITE/?q=drupalgap/node/1.json
http://SITE/?q=drupalgap/node/2.json
http://SITE/?q=drupalgap/node/3.json

Instalación de OpenJDK y Ant

Instalar OpenJDK y Ant, ambos son requeridos por Android-SDK:

sudo apt-get install openjdk-7-jdk ant -y

Instalación de Oracle JDK 7

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

sudo apt-get install oracle-java7-installer
sudo apt-get install oracle-java7-set-default

sudo update-alternatives --config java
sudo update-alternatives --config javac

cat /etc/environment
cat .bashrc | grep 'PATH'

export PATH="$PATH:/usr/lib/jvm/java-7-oracle"
source .bashrc

which java
/usr/bin/java

java -version
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) Server VM (build 24.55-b03, mixed mode)

Instalación de Android-SDK

Primero bajar: Android SDK.

Seguidamente correr:

mkdir ~/android
mv ~/Downloads/adt-bundle-linux-x86-20140321.zip ~/android

cd ~/android
unzip adt-bundle-linux-x86-20140321.zip

ls -la adt-bundle-linux-*
adt-bundle-linux-x86-20140321

vim ~/.bashrc

export COMPOSER_HOME="/home/YOUR_USER/.composer/vendor/bin"
#
export JAVA_HOME="/usr/lib/jvm/java-7-oracle"
#
export ANDROID_HOME="/home/YOUR_USER/android/adt-bundle-linux-x86-20140321/sdk"
#
export PATH="$PATH:$COMPOSER_HOME:$JAVA_HOME:$ANDROID_HOME:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools"

source .bashrc

printev ANDROID_HOME

printenv PATH

Instalación de node.js

node.js es una plataforma construida sobre “Chrome’s JavaScript runtime ” y permite desarrollar aplicaciones de red de manera fácil, rápida y escalable.

node.js utiliza un modelo dirigido por eventos que no bloquea I/O, esto lo hace ligero y eficiente, ideal para aplicaciones en tiempo real con datos intensivos que corren a través de dispositivos distribuidos.

cd
git clone https://github.com/joyent/node.git
cd node

git checkout v0.10.28

./configure && make && sudo make install

Actualizar node y npm

Es el gestor de paquetes para node.js, instala, publica y gestiona programas de node.

sudo npm update npm -g
sudo npm install n -g
sudo n stable

which node
/usr/local/bin/node

node -v
v0.10.28

which npm
/usr/local/bin/npm

npm -v
1.4.10

Instalación de Cordova

Apache Cordova es una plataforma para construir aplicaciones móviles usando HTML, CSS
y JavaScript. Es un conjunto de APIs de aparatos que permiten a los desarrolladores acceder a funciones nativas, por ejemplo, la cámara o el acelerómetro desde JavaScript. En Combinación con un “framework” de interfaz de usuario como jQuery Mobile, Dojo Mobile o Sencha Touch, es posible desarrollar una aplicación de teléfono inteligente desarrollada con sólo HTML,CSS y JavaScript.

sudo npm install -g cordova

which cordova
/usr/local/bin/cordova

cordova -v
3.4.1-0.1.0

Instalación de PhoneGap

Para crear aplicaciones que utilizan las tecnologías web que uno conoce y ama: HTML, CSS y JavaScript. PhoneGap es un “framework” libre y de código abierto que permite crear aplicaciones móviles utilizando Web APIs estandarizados para las plataformas que más interesan, por ejemplo: Android & IOS.

sudo npm install -g phonegap

which phonegap

which phonegap
/usr/local/bin/phonegap

phonegap -v
3.4.0-0.19.21

Instalar un Android Target

android

API19

Momento del APK

Crear una aplicación vacía:

cd /var/www/SITE/htdocs

cordova create DrupalGapp com.drupalgap "DrupalGapp"

Le agregamos una plataforma y construimos/preparamos la app:

cd DrupalGapp

cordova platform add android
cordova build

Agregar el “Mobile Application Development Kit” a la app:

wget https://github.com/signalpoint/DrupalGap/archive/drupalgap_7.x-1.5-alpha.tar.gz

tar -xvpf drupalgap_7.x-1.5-alpha.tar.gz

mv DrupalGap-drupalgap_7.x-1.5-alpha/* www

rm -rf drupalgap_7.x* DrupalGap*

Por favor consulte:

Especificar la ruta del Sitio en Drupal:

cp www/app/default.settings.js www/app/settings.js

vi www/app/settings.js

'site_path':'http://127.0.0.1'

Agregar algunos plugins:

cordova plugin add org.apache.cordova.console org.apache.cordova.device org.apache.cordova.dialogs org.apache.cordova.file org.apache.cordova.inappbrowser org.apache.cordova.network-information

cordova plugin add org.apache.cordova.camera org.apache.cordova.geolocation

Correr la app:

cordova build – Para empaquetar el apk.

cordova run android – Para empaquetar el .apk e instalar en cualquier aparato detectado por adb.

cordova build
cordova run android

ripple

Para más información: