elementos sobre symfony 2.1

39
Symfony 2 http://blogs.prod.uci.cu/echo Elementos sobre la versión estable Symfony 2.1 Yaismel Miranda Pons

Upload: yaismel-miranda-pons

Post on 04-Aug-2015

96 views

Category:

Software


3 download

TRANSCRIPT

Page 1: Elementos sobre Symfony 2.1

Symfony 2

http://blogs.prod.uci.cu/echo

Elementos sobre la versión estable Symfony 2.1

Yaismel Miranda Pons

Page 2: Elementos sobre Symfony 2.1

¿Sobre qué estaremos hablando?

Resumen del trabajo realizado

1

Integración con Composer

2

Funciones PHP

3

Tema sorpresa

4

5

Información sobre el lanzamiento

Page 3: Elementos sobre Symfony 2.1

Información sobre el lanzamiento

Fue publicado apenas unas horas del lanzamiento de

ZendFramework 2

Mejora en casi todos los aspectos del framework.

…Symfony 2.1 el lanzamiento más esperado del año…

- Los cambios más notables están en los formularios.

Ver detalles en:

https://github.com/symfony/symfony/blob/master/UPGRADE-2.1.md

ó

MyProject/vendor/symfony/symfony/UPGRADE-2.1.md

Page 4: Elementos sobre Symfony 2.1

Resumen del trabajo realizado

Desde la versión anterior (desde github):

- más de 3.500 commits

- más de 1.100 pull requests recibidas de

cientos de programadores

Page 5: Elementos sobre Symfony 2.1

Resumen del trabajo realizado

Desde la versión anterior:

- más de 6.000 tests unitarios

Por cierto ya está disponible la versión 3.7 de

PHPUnit.

Esta incluye varias aserciones útiles para aplicaciones que

tratan información en formato JSON.

assertJsonFileEqualsJsonFile

Page 6: Elementos sobre Symfony 2.1

Resumen del trabajo realizado

Desde la versión anterior:

- más de 3.000 líneas de documentación

modificadas

Por cierto se estrena la nueva sección

de documentación sobre Symfony

gracias a Javier Eguíluz en:

http://www.symfony.es/documentacion/

Page 7: Elementos sobre Symfony 2.1
Page 8: Elementos sobre Symfony 2.1

Integración con Composer

¿Qué es

composer?

«Gestor de dependencias para

PHP»

Page 9: Elementos sobre Symfony 2.1

Integración con Composer

Page 10: Elementos sobre Symfony 2.1

Integración con Composer

Más información en nuestro FTP:

ftp://ftp.prod.uci.cu/PHP/Documentacion/Symfony2/Desymfony/2012/

composer-gestor-dependencias-php.pdf

Page 11: Elementos sobre Symfony 2.1

¿Es posible usar Composer

en la UCI?

Page 12: Elementos sobre Symfony 2.1

Composer en la UCI

Page 13: Elementos sobre Symfony 2.1

Integración con Composer

Estructura de directorios

Page 14: Elementos sobre Symfony 2.1

Integración con Composer

composer.json

Page 15: Elementos sobre Symfony 2.1

Integración con Composer

composer.lock

Page 16: Elementos sobre Symfony 2.1

Integración con Composer

autoload_namespaces.php

Page 17: Elementos sobre Symfony 2.1

Funciones PHP utilizadas

En la versión PHP 5.3 de mi PC en el proyecto, el lenguaje PHP

tiene 1771 funciones definidas.

El código de Symfony2 utiliza alrededor de 467 funciones de

PHP diferentes.

usadas

sin usar

El código de Symfony 2.1 no utiliza el 73%

de las funciones de PHP.

Page 18: Elementos sobre Symfony 2.1

Funciones PHP utilizadas

Funciones PHP más utilizadas:

en Symfony 2 en Symfony 1

Page 19: Elementos sobre Symfony 2.1

Funciones PHP utilizadas

El uso de las funciones nativas de PHP es mucho mayor

en Symfony 2 comparado con Symfony 1.

Así que no reinventes la rueda y no programes algo

que puedes resolver con una sencilla función PHP.

Cuando se utiliza un framework que abstrae todas las partes del

desarrollo de la aplicación como:

es fácil olvidar que todo el código corre sobre PHP.

Page 20: Elementos sobre Symfony 2.1

¿Sabías que es posible

desarrollar con Javascript en

el lado del servidor?

Tema sorpresa

Page 21: Elementos sobre Symfony 2.1
Page 22: Elementos sobre Symfony 2.1

¿Qué es

nodeJS?

Page 23: Elementos sobre Symfony 2.1

«Node.js es un entorno de programación en

la capa del servidor basado en el lenguaje

de programación Javascript»

Page 24: Elementos sobre Symfony 2.1

Ryan Dahl

Creador y responsable del

proyecto NodeJS.

2009

libevent

EventMachine

Ruby

Python

C

Trabaja en la empresa

Joyent.

Page 25: Elementos sobre Symfony 2.1

I/O de datos en una arquitectura orientada a eventos.

Basado en el motor Javascript V8 de Google Chrome.

Sistema de módulos basados en CommonJS.

Incluye un entorno REPL para depuración interactiva.

Cuenta con gestor de dependencias formidable (npm).

Características

Page 26: Elementos sobre Symfony 2.1

Incorpora varios módulos básicos entre ellos:

Net Path

FileSystem Buffer Timers

Stream

Es posible utilizar módulos desarrollados por terceros, ya sea como

archivos ".node" precompilados, o como archivos en javascript plano.

Connect Express

Socket-io

Módulos

ZeroMQ

Page 27: Elementos sobre Symfony 2.1

I/O necesita ser realizada de una forma diferente

Principio de funcionamiento

Muchas aplicaciones web tienen un código similar al

siguiente:

Page 28: Elementos sobre Symfony 2.1

Principio de funcionamiento

En la mayoría de los casos, solo

está esperando por la respuesta.

Page 29: Elementos sobre Symfony 2.1

Principio de funcionamiento

Un mejor software puede realizar

múltiples tareas.

Otros hilos de ejecución pueden

ejecutarse mientras se espera la

respuesta.

…Uds. como chicos inteligentes pensarán:

Page 30: Elementos sobre Symfony 2.1

¿Eso es lo mejor que se puede hacer?

Principio de funcionamiento

Démosle un vistazo a:

y

Page 31: Elementos sobre Symfony 2.1
Page 32: Elementos sobre Symfony 2.1
Page 33: Elementos sobre Symfony 2.1

vs

La diferencia:

Apache usa un hilo por conexión.

Nginx no usa hilos, usa un ciclo

de eventos.

Page 34: Elementos sobre Symfony 2.1

Un código como este:

Puede bloquear el proceso de ejecución entero o

implicar múltiples pilas de ejecución.

Principio de funcionamiento

Page 35: Elementos sobre Symfony 2.1

Sin embargo, un código como este:

Permite que el programa pueda retornar al ciclo de

eventos de forma inmediata.

Principio de funcionamiento

Page 36: Elementos sobre Symfony 2.1

Principio de funcionamiento

Javascript está diseñado específicamente para ser

usado con ciclo de eventos.

- Funciones anónimas.

- Solo una devolución de llamada (callback) a la vez.

- I/O mediante callbacks de eventos del DOM.

Page 37: Elementos sobre Symfony 2.1
Page 38: Elementos sobre Symfony 2.1

Symfony 2

http://blogs.prod.uci.cu/echo

Elementos sobre la versión estable Symfony 2.1

Yaismel Miranda Pons

Page 39: Elementos sobre Symfony 2.1

Recursos

https://github.com/symfony/symfony/blob/master/UPGRADE-2.1.md

http://nodejs.org/http://www.bloghumor.com.ar/2010_12_01_archive.html

http://palosalviento.blogspot.com/2010/11/por-que-salimos-mal-en-matematicas.html

http://nodejs.org

http://es.wikipedia.org/wiki/Nodejs

http://nginx.org