domingo, 1 de julio de 2012

Cristalab

Cristalab


Alternativa en PHP a NodeJS con React PHP

Posted: 22 May 2012 07:01 AM PDT

Vengo a hablarles de algo que vi "por ahí" que es más que todo, una respuesta de la comunidad de PHP al cada día más creciente Node.JS, ambos lenguajes son buenos en sus aspectos y tienen sus ventajas y desventajas.

El proyecto se llama React, está en fase alpha y lo pueden ver en la página oficial.


React is a platform built on PHP for easily building fast, scalable network applications. React uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.


Procedemos entonces a instalarlo. Para instalarlo lo haré en una máquina virtual con Lubuntu (porque no tengo mucha memoria ram para derrochar).

Entonces, tecleamos:

Código :

  sudo apt-get install phpunit    


Necesitamos phpunit para instalarlo, no sé si correrá en windows, pero no es algo por lo que nos vayamos a preocupar.

Entonces, como en la máquina virtual no tenía instalado ni PHP, ni MySql, ni nada de eso, se instaló también automáticamente PHP, y probamos ver qué versión tenemos:

Código :

  php --version    


y nos dice que es la 5.3.10. Nos conformaremos con esa versión para probar.

Ahora, para manejar las dependencias y esas cosas instalaremos composer de esta forma:

Instalaremos curl (por si no lo tienen en su sistema operativo):

Código :

  sudo apt-get install curl    


Código :

  curl -s http://getcomposer.org/installer | php    


Listo, "composser successfully installed".

Tenemos ya, php, phpunit y composer, ahora vamos con nodePHP, pero como acabamos de instalar PHP, necesitaremos php-curl para manejar URLs.

Código :

  sudo apt-get install php5-curl    


Ahora, siguiendo con la instalación de nodephp, probamos con:

Código :

  echo '{ "require": { "react/react": "dev-master" } }' > composer.json  composer install    


¡ups! me dió error, no reconoce el comando composer, pero si sustituímos el último comando, evitaremos ese problema:

Código :

  php composer.phar install    


Y comenzará a instalar dependencias, mientras tanto no caería mal una taza de café, ya que considerando que lo estoy (o estamos) instalando desde cero, tiene que instalar muchas dependencias, (de Symfony más que todo).



Cuando por fin se termine de instalar, procedemos a crear un "hola mundo!".

Código :

  <?php  require 'vendor/autoload.php';  $stack = new React\Espresso\Stack(function ($request, $response) {      $response->writeHead(200, array('Content-Type' => 'text/plain'));      $response->end("Hello World\n");  });  echo "Server running at http://127.0.0.1:1337\n";  $stack->listen(1337);  ?>  


Y lo guardamos en un archivo cualquiera, como por ejemplo "server.php" y lo corremos vía consola con:

Código :

  php server.php    


En nuestro navegador nos dirigimos a localhost:1337 ¡y listo!



Espero que a ustedes no les de tantos problemas como a mí, enumeré en el post todo lo que hice. Cabe recalcar que el proyecto aún está en estado alpha, pero vale la pena darle una ojeada, probablemente será super popular o probablemente nadie lo termine usando, pero eso no importa, lo interesante es aprender.

Saludos :P

Enviar comentario

No hay comentarios:

Publicar un comentario