Está en la página 1de 4

Composer

Composer es un sistema de gestión de paquetes para programar en PHP el cual


provee los formatos estándar necesarios para manejar dependencias y librerías de
PHP. Fue desarrollado por Nils Adermann y Jordi Boggiano quienes continúan
dirigiendo el proyecto. Ambos comenzaron el desarrollo en abril de 2011 y en
marzo de 2012 presentaron la primera versión.
Composer está inspirado en Node.js, npm y en Bundler Ruby. Composer trabaja e
instala dependencias o librerías desde la línea de comandos.
Comandos
Composer ofrece varios parámetros incluyendo:

 require : añade el parámetro de la librería al archivo composer. json y lo


instala.
 install : instala todas las librerías de composer.json. Es el comando que se
usa para descargar tosas las dependencias PHP desde el repositorio.
 update : actualiza las librerías de composer.json de acuerdo a las versiones
permitidas que se señalen.
 remove : desinstala una librería y la elimina de 'composer.json'.
Ejemplo de composer.json generado por el comando siguiente:

composer require monolog/monolog


{
"require": {
"monolog/monolog": "1.2.*"
}
}

Framerwork soportados

 Symfony versión 2 y posteriores
 Laravel versión 4 y posteriores
 CodeIgniter versión 3.0 y posteriores
 CakePHP versión 3.0 y posteriores
 FuelPHP versión 2.0 y posteriores
 Drupal versión 8 y posteriores
 TYPO3 versión 6.2 y posteriores
 SilverStripe versión 3.0 y posteriores
 Magento versión 2.0 y posteriores
 Yii versión 1.1 and y posteriores
 Zend Framework versión 1 y posteriores

Node js
Node.js es un entorno en tiempo de ejecución multiplataforma, de código abierto,
para la capa del servidor basado en el lenguaje de programación JavaScript,
asíncrono, con E/S de datos en una arquitectura orientada a eventos y basado en
el motor V8 de Google. 
Node.js es similar en su propósito a Twisted o Tornado de Python, Perl Object
Environment de Perl, libevent o libev de C, EventMachine de Ruby, vibe.d de D y J
ava EE de Java existe Apache MINA, Netty, Akka, Vert.x, Grizzly o Xsocket. 
Bucle de eventos
Node.js se registra con el sistema operativo y cada vez que un cliente establece
una conexión se ejecuta un callback. 
cada conexión recibe una pequeña asignación de espacio de memoria dinámico,
sin tener que crear un hilo de ejecución.
Desarrollo homogéneo entre cliente y servidor
Node.js puede ser combinado con una base de datos documental (por
ejemplo, MongoDB o CouchDB) y JSON lo que permite desarrollar en un entorno
de desarrollo JavaScript unificado. 
Módulos
Node.js incorpora varios "módulos básicos" compilados en el propio binario,
Los módulos Javascript se implementan siguiendo la
10
especificación CommonJS para módulos, utilizando una variable de exportación
para dar a estos scripts acceso a funciones y variables implementadas por los
módulos.
V8
V8 es el entorno de ejecución para JavaScript creado para Google Chrome. Es
software libre desde 2008, está escrito en C++ y compila el código fuente
JavaScript en código de máquina en lugar de interpretarlo en tiempo real.
Node.js contiene libuv para manejar eventos asíncronos. Libuv es una capa de
abstracción de funcionalidades de redes y sistemas de archivo en sistemas
Windows y sistemas basados en POSIX como Linux, Mac OS X y Unix.
El cuerpo de operaciones de base de Node.js está escrito en JavaScript con
métodos de soporte escritos en C++.
Concurrencia
Node.js funciona con un modelo de evaluación de un único hilo de ejecución,
usando entradas y salidas asíncronas las cuales pueden ejecutarse
concurrentemente en un número de hasta cientos de miles sin incurrir en costos
asociados al cambio de contexto.

Socket.io
Que es Socket.IO
Socket.IO es una biblioteca que permite la comunicación en tiempo real,
bidireccional y basada en eventos entre el navegador y el servidor. Consiste en:
 un servidor Node.js: Fuente | API
 una biblioteca cliente de Javascript para el navegador (que también se
puede ejecutar desde Node.js): Fuente | API
Sus características principales son:
 Fiabilidad
 Las conexiones se establecen incluso en presencia de: proxies y
equilibradores de carga.
 firewall personal y software antivirus.
Para este propósito, se basa en Engine.IO, que primero establece una conexión
de sondeo largo, luego trata de actualizar a mejores transportes que son
"probados" en el lateral, como WebSocket. Consulte la sección Objetivos para
obtener más información.
Soporte de reconexión automática
A menos que se indique lo contrario, un cliente desconectado intentará volver a
conectarse para siempre, hasta que el servidor vuelva a estar disponible. Consulte
las opciones de reconexión disponibles aquí.
Detección de desconexión
Se implementa un mecanismo de latido en el nivel Engine.IO, lo que permite que
tanto el servidor como el cliente sepan cuándo el otro ya no responde.
Esa funcionalidad se logra con temporizadores configurados tanto en el servidor
como en el cliente, con valores de tiempo de espera (los parámetros pingInterval y
pingTimeout) compartidos durante el protocolo de enlace de conexión. Esos
temporizadores requieren que las llamadas posteriores del cliente se dirijan al
mismo servidor, de ahí el requisito de sesión fija cuando se utilizan nodos
múltiples.
Soporte binario
Se pueden emitir estructuras de datos serializables, que incluyen:
 ArrayBuffer y Blob en el navegador
 ArrayBuffer y Buffer en Node.js
 Soporte de multiplexación
Para crear una separación de preocupaciones dentro de su aplicación (por
ejemplo, por módulo o en función de los permisos), Socket.IO le permite crear
varios espacios de nombres, que actuarán como canales de comunicación
separados, pero compartirán la misma conexión subyacente.

También podría gustarte