Tag Archives: MacOS

Qué es NodeJS? y como instalarlo en MacOS

Node.js es un entorno en tiempo de ejecución multiplataforma, de código abierto, para la capa del servidor (pero no limitándose a ello) basado en el lenguaje de programación ECMAScript, asíncrono, con I/O de datos en una arquitectura orientada a eventos y basado en el motor V8 de Google.

Node.js ejecuta V8 JavaScript. Espere… ¿qué? ¿JavaScript en el servidor? Sí, leyó correctamente. El JavaScript del lado del servidor puede ser un concepto nuevo para cualquiera que haya trabajado exclusivamente con JavaScript del lado del cliente, pero la idea en sí no es tan inverosímil — ¿por qué no utilizar el mismo lenguaje de programación que usted usa en el cliente del lado del servidor?

Node.js es similar en su propósito a Twisted o Tornado de Python, Perl Object Environment de Perl, React de PHP, libevent o libev de C, EventMachine de Ruby, vibe.d de D y de Java existe Apache MINA, Netty, Akka, Vert.x, Grizzly o Xsocket. Al contrario que la mayoría del código JavaScript, no se ejecuta en un navegador, sino en el servidor. Node.js implementa algunas especificaciones de CommonJS.

Lo que Node.js definitivamente no es

Sí, Node.js es un programa de servidor. Sin embargo, el producto base de Node.js definitivamente No es como ApacheTomcat. Esos servidores básicamente son productos para servidor listos para instalar y que están listos para implementar aplicaciones instantáneamente. Usted podría tener un servidor estar listo y en operación en un minuto con estos productos. Node.js definitivamente no es esto. De forma similar a como Apache puede agregar un módulo PHP para permitir a los desarrolladores crear páginas Web dinámicas, y un módulo SSL para conexiones seguras, Node.js también tiene el concepto de módulos que se pueden agregar a su núcleo mismo. Literalmente hay cientos de módulos de los que se puede escoger con Node.js, y la comunidad es bastante activa en cuanto a producir, publicar y actualizar docenas de módulos por día. 

Dicho esto, ahora podemos entrar en los pasos para la instalación de Node.js en MacOS

Existen dos maneras fundamentales de hacer esto de forma sencilla:

La primera pasa por entrar en la página de Node.js y descargar la versión que quieras instalar (LTS o Stable), lo cual te bajara un archivo .pkg que podrás instalar mediante la interfaz gráfica.

Actualmente pueden descargar las siguientes versiones:

La segunda manera (y es la que recomiendo) es instalar a través de HomeBrew con los siguientes pasos:

  • Abrir un terminal de consola
  • Escribir el comando “brew install node”
  • Validar que se instalo correctamente con los comandos “node -v” (para ver la versión que instaló de Node.js) y “npm -v” (para ver la versión de NPM que se instaló)
  • En caso de querer actualizar la versión que tienes instalada de Node.js solo debes abrir la consola y ejecutar los siguientes comandos:
    1. brew update
    2. brew upgrade node

Para mas información puedes consultar la guía de Dave McFarland

Tiempo de validación en la App Store

Captura de pantalla 2016-01-03 a las 1.01.16 a.m.

Quiero compartir con ustedes un recurso muy interesante que encontré en la red, mediante el cual puedes tener un estimado del tiempo de revisión por parte de Apple al subir tu aplicación en la AppStore.

Para esto se toma el feedback de la comunidad en indicar los tiempos en que tardaron sus aplicaciones en ser revisadas y se realiza un promedio del mismo.

La pagina muestra la información de las aplicaciones para iPhone / iPad y para MacOS:

http://appreviewtimes.com/ 

Primeros pasos con Objetive-C

wpid-objeec.png

Me di a la tarea de aprender a programar en objetive-c para IOS (iPhone, iPad y MacOS) y me gustaría compartir con ustedes algunas de mis experiencias.

Para tener un punto de inicio comencé bajando unos libros en formato iBooks de Juan M. Cigarran y publicando el código fuente de los ejercicios en github.
Actualmente me encuentro haciendo como practica una calculadora exactamente igual a la que trae consigo el iPhone y me he encontrado algunos de los siguientes inconvenientes:
  • Conocer algunos de los tipos de datos básicos
  • Crear un metodo
  • Llamar a un metodo
  • Hacer conversiones de NSString a double
  • Concatenar dos NSString

Para facilitarles un poco el trabajo les comparto el aprendizaje adquirido:

Conocer algunos de los tipos de datos básicos

Dentro de objetive-c existen tipos primitivos (algunos heredados de c) como int, double, NSInteger, boolean por lo que no hay que reservar espacio de memoria para ellos y objetos donde es necesario reservar espacio de memoria dinámico e inicializarlos; por ejemplo para manejar cadenas tenemos el tipo NSString (cadenas inmutables) y NSMutableString (cadenas que pueden modificarse).
Algunos ejemplos de declaraciones de variables son:
NSString *stack;
double operando;
NSInteger x;

Crear un metodo

Para crear un método se utiliza la siguiente sintaxis
-(void)metodo:(int)primerParametro{
//bla bla bla
}
  • Donde el menos ( – ) indica que es un metido de instancia y el ( + ) indicaría que es de Clase.
  • Entre parentesis va el tipo de retorno del metodo, en caso de no retornar nada se utiliza la palabra reservada void
  • Luego viene el nombre del método
  • Posteriormente el tipo de dato del primer parámetro entre paréntesis
  • Finalmente el nombre del primer parámetro

Habilitar Java 6 web plugin y Web Start

Si después de instalar Java para OSX 2013-005 y la ultima versión de Java 7 de Oracle te diste cuenta de que algunas cosas no funcionan, puedes inhabilitar nuevamente Java 7 y re-activar el plugin de Java 6 provisto por Apple y la funcionalidad de “Web Start”, para esto sigue los siguientes pasos:

En caso de necesitar mas información puedes consultar la documentación de Apple directamente:

http://support.apple.com/kb/HT5559

Probando laravel

Me estoy planteando comenzar a utilizar Laravel debido a un articulo que me paso un amigo donde es comparado con codeigniter (http://www.cristalab.com/blog/porque-elegir-laravel-en-vez-de-codeigniter-c111947l/), sin embargo al intentar crear un proyecto con el utilizando el comando “composer” me arroja el siguiente error:

The mcrypt extension is missing. Please check your PHP configuration.

Por lo tanto me doy a la tarea de buscar en internet, y consigo el siguiente articulo donde básicamente la solución radica en tener que instalar la extensión libmcrypt pasando primero por su compilación y en mi caso la instalación del programa autoconf para posteriormente habilitarla dentro del archivo de configuración de php:

http://coolestguidesontheplanet.com/install-mcrypt-php-mac-osx-10-9-mavericks-development-server/

Espero les sirva.

Enjoy it!