[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