[Ror-es] plugin o componente?

Sebastian Delmont sd at notso.net
Sun Aug 6 15:06:58 GMT 2006


Este es un tema donde hay mucho que discutir.

En el mundo de rails, la palabra "componente" tiene dos significados:  
un tipo de libreria reusable de alto nivel (digamos, el equivalente a  
un DLL en windows), o una llamada a render_component, donde desde una  
vista puedes invocar una accion y una sub-vista separada. Para  
complicar un poco las cosas, rails crea un directorio "components"  
donde puedes agregar mas vistas y controladores a tu aplicacion  
(digamos, donde agregarias los archivos para crear un componente de  
alto nivel que probablemente use render_component).

El articulo de DHH se refiere basicamente a los componentes de alto  
nivel.

El problema de la velocidad se refiere a render_component, pero  
Stefan Kaes (railsexpress.de) implemento algunos cambios que  
resolvieron, al menos parcialmente, este problema en rails 1.1.

En streeteasy usamos componentes (render_component) extensivamente, y  
no tenemos ningun tipo de quejas sobre el performance de la pagina.

En las ultimas semanas he estado realizando pruebas extensivas para  
tratar de determinar el verdadero impacto de los componentes en  
rails, y aun cuando no he terminado de depurar las pruebas y escribir  
el articulo oficial explicando los experimentos, compartire las  
conclusiones con ustedes:

* render_component es 2 a 4 veces mas lento que render :partial
* el "costo" de render :partial es 1 a 2 veces el "costo" de un  
link_to / url_of
* en una aplicacion rails tipica, el costo adicional de usar  
render_component unas pocas veces por pagina (digamos, 1 a 5  
componentes) es basicamente negligible, comparado con el costo del  
resto de la pagina.
* si realmente te preocupa el rendimiento de tus paginas, empieza por  
mejorar tus rutas, y reemplazar los url_for por rutas con nombres.

Ademas, los componentes (render_component) son candidatos ideales  
para hacer "fragment caching", pues agrupan el procesamiento de los  
datos y su representacion en una sola operacion. Por alli viene el  
anuncio oficial de mi plugin de "component caching".


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2407 bytes
Desc: not available
Url : http://lists.simplelogica.net/pipermail/ror-es/attachments/20060806/f08887cc/attachment.bin 


More information about the Ror-es mailing list