Comunidad de diseño web y desarrollo en internet online

Alternativa en PHP a NodeJS con React PHP

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

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate