Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

Preview:

DESCRIPTION

material utilizado en la sesión Rails Hot or Not de la conferencia Rails 2008 por Javier Ramírez

Citation preview

obra publicada por javier ramirez como ‘Atribución-No Comercial-Licenciar Igual 2.5’ de Creative Commons

proyecto a realizar

youfacetwittflickpoopr

Yoozoombaflooh

Moonchimpklanx

queridos reyes magos...

buscador, generación de pdfs, caché,integración con APIs de terceros, tratamiento de feeds, multi-idioma, Ajax, procesos de fondo, envío de mails, autenticación con roles, backend, foros, chat, edición de texto con formato, popups con estilo, notificación de excepciones, captcha, control de spam, upload de ficheros, creación de thumbnails,creación de gráficas/informes, notificación de excepciones, tests, análisis de rendimiento...

...el típico proyecto

“voy a programarlo todo desde cero, así aprenderé mucho más y tendré el controltotal del proyecto”

interneeeeeeeeeeeeeeeeee

planificando el proyecto

“yo creo que paracuando termine depagar la hipotecaya habré terminadola fase I”

gracias de antemano

Se estima que la rueda fue inventada en el quinto milenio a.c. en Mesopotamia

wikipedia

no reinventes la rueda..

elige la tuya!!* fotos extraídas de flicker. con licencia CC

no eres especial.. supéralopara (casi) cualquier funcionalidad que no sea propia de la lógica de negocio, existen componentes desarrollados que hacen exactamente lo que necesitas...

.. o que podrían hacerlo con unoscuantos cambios..

recuerda.. open sourceno significa que sea gratis, significa que puedes ver y modificar el fuente

gemas/plugins: dónde buscar=> agilewebdevelopment.com/pluginsdesactualizado a veces, sólo plugins

=> rubyforge.orgsin feedback de usuarios

=> github.comsin feedback. No especializado en ruby/rails

=> code.google.comsin feedback. No especializado en ruby/rails

=> workingwithrails.com toolboxsin feedback. desactualizado

=> google.combuena suerte!!

objetivos

=> identificar componentes existentes sobre los que desarrollar un proyecto rails no trivial a día de hoy

=> ver cuál es la alternativa escogida mayoritariamente en cada categoría

=> escuchar experiencias de proyectos donde se hayan usado estos componentesen la vida realtm

mecánica=> Presentación de la categoría y las alternativas identificadas

=> Votación mediante papeles de colores

=> Comentarios del respetable público acerca de los puntos fuertes/débiles decada alternativa

=> Si alguien quiere hablar de algunaalternativa no contemplada, perfecto!

p.s. no seáis /.{8}/ y participad ;)

framework desarrollo web

Ruby on Rails J2EE +Struts +Tiles +Java Server FacesHibernate

* disclaimer: comparativa humorística para probar la mecánica

NOT!HOT!

file upload

paperclip attachment_fu

NOT!HOT!

framework javascript

prototype js jquery + jrails

HOT!HOT!

tratamiento imágenes

ImageMagick rmagick minimagick

image science

NOT!HOT!

internacionalización (vistas)

get_text gibberish

* preguntar por globalize, i10n y otras alternativas

NOT!HOT!

internacionalización (modelos)

globalize translate_column /Simplified Translation

NOT! HOT!

notificación excepciones

exceptionnotifier

hoptoadnotifier

NOT!HOT!

procesos de fondo

beanstalkd starling (+ simplified_starling)

NOT! HOT!

buscador (engine, no plugin)

sphinx solr

NOT!HOT!

plugin para sphinx

ultra_sphinx thinking_sphinx

NOT!HOT!

profiling / rendimiento

ruby_prof +query_reviewer

new_relic_rpm

* preguntar por fireruns tuneUp

NOT! HOT!

test mock objects

FlexMock Mocha

NOT! HOT!

factorías de objetos de test

FixtureReplacement factory girl /machinist

NOT!HOT!

framework para testing

shoulda rSpec

HOT!HOT!

base de datos

postgreSQL mySQL

NOT! HOT!

servidor front-end

nginx apache

NOT!HOT!

servidor rails

servidor separado mongrel thin

passenger

* preguntar por jRuby en producción

NOT!HOT!

deploy

capistrano vlad /otros

NOT!HOT!

texto con formato

markdown BlueCloth

BBCode bb-ruby

NOT!HOT!

editores WYSIWYG (LQVELQH)

tinyMCE FCKEditor

NOT!HOT!

ventanas flotantes/modales

redbox lightbox

* comentar windows/xilnius

NOT! HOT!

generación pdf

basados en ruby: rfpdf prawn

basados en JAVA: apache FOP flying saucer

NOT! NOT!RTeX

HOT!

gráficas

gruff google charts gc4r

NOT! HOT!

agregador web

hpricot mechanize scrubyt

automatización watir firewatir

* preguntar por engine javascript

NOT!HOT!

lectura de feeds

acts_as_feeder SimpleRSS

* preguntar por google AJAX Feed API

NOT! HOT!

parser XML

ReXML libxml

autenticación

restfulauthentication

open_idauthentication

* acts_as_authenticated

gestionar cambios de estado

acts_asstate_machine

ad-hoc,observers...

tags

acts_astaggable_on

acts_astaggable_on_steroids

envío masivo de e-mail

ar_mailer enlocalhost

servicio externo

CAPTCHA

Simple Captcha ReCAPTCHA

chat

flash juggernaut

comet orbited

* preguntar por irc y xmpp

DRY RESTful controllers

resource controller

resourcescontroller

Scaffolding / Backend

Active Scaffold Streamlined /Otros

* preguntar por Typus

sanitize de textos

simple_text_fields

white_list

* comentar white_list_formatted_content

obra publicada por javier ramirez como ‘Atribución-No Comercial-Licenciar Igual 2.5’ de Creative Commons