Ver Mensaje Individual
  #34  
Antiguo 06-05-2006
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.913
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Date una mirada a http://www.rubyonrails.org/, en especial el videotutorial.

Porque lo de que mapea naturalmente a un desarrollo MVC (model, view, controller)?

Por esto. Imaginate la pagina de inicio. Se hacen tres cosas: Un modelo (que sacaria por ejemplo un mensaje hola mundo), un controlador (llamado INICIO) y una vista (una pagina inicio.html)

Presta atencio a la parte del CONTROLADOR. Si lo llamas "Roman" AUTOMATICAMENTE te cojeria:

www.elsitio.com/Roman

Entonces, es como autowiring: El modelo de los objetos se representa perfectamente en la aplicacion... que de hecho, es el objetivo de tener mayor disciplina en un desarrollo: Separa GUI + Logica + Contenido.

Y resulta que en los nuevos frameworks que son un stack integrado para apliaciones web MVC (que normalmente incorporan generacion de html basado en estandares, ajax, persistencia de objetos, enrutamiento de URL y mas) como RubyOnRails (ruby) TurboGears (python) y Castle (.NET) simplemente se logra una mayor productividad de desarrollo porque el flujo de trabajo es muy predecible y todo se auto-organiza.

Por otro lado, es cierto que a muchos usuarios lo de las Urls les tenga sin cuidado. Pero si miras los documentos de la w3c (reaulta que lo de las URls tambien esta estandarizado) veras que de todas maneras la gente empieza a notar (al menos algunos) que los sitios tienen una estructura.

Por ejemplo, si veo una url:

Articulos/21/Agosto/2005

me supongo que puedo darle directamente

Articulos/22/Agosto/2005

Obviamente se puede con la tipica

?Esto=1&Aquello=2


Pero a partir de cierto punto (# de parametros y su complejidad de interpretacion) ya queda dificil.

Por ultimo, fijate en el disco duro: Son Urls "limpias". A muchos no les interesa como es la estructuras de archivos pero otros si. Siendo todo igual, lo mas sencillo es mejor

Hay mas argumentos, como por ejemplo, de seguridad (es menos obvio la tecnologia y menos obvia que se puede hacer un ataque basado en urls) los de marketing y buscadores (lo mas fuerte) la abastraccion, desde el punto de vista del desarrollador, de la estructura interna.

Esto es algo que estoy trabajando el el CMS que desarrollo. Lo pienso enfocar al mercado latino. Pero resulta que a muchas empresas latinas les interesa manejar contenido en ingles. Asi que :

Version1 del sitio:

Productos/Computadores/Dell2053

Se puede tornar en

Products/Computers/Dell2053

o

Version 2:

(español colombia)
esCo/Productos/Computadores/Dell2053

a

(español mexico)

esMx/Computadores/Dell2053

Pero luego si el sitio se engrandece, se puede reorganizar:

Version 3:

/Colombia/Computadores/Dell2053
/Mexico/Computadores/Dell2053
/Usa/Products/Computers/Dell2053

Y sin embargo:

- Los urls "antiguos" se pueden dejar funcionando. En la version3 del sitio, no existe razon en hacer que


Products/Computers/Dell2053
Usa/Products/Computers/Dell2053
enUS/Products/Computers/Dell2053

Dejen de funcionar. Eso signifa que :

1- Los bookmarks que hagan los usuarios persisten durante mas tiempo

2- Los buscadores ven un sitio mas estable y terminan teniendo mas contenido que indexar, lo que aumenta la importancia

3- El sitio puede crecer de forma organica, e internamente sigue siendo:

Products.aspx?Idioma=esCo&Seccion=Computadores&Ref=Dell2053

Ahora un sub-beneficio: Auto-navegacion!

Si nos ponemos listos, nos podemos olvidar de los amarres de los archivos, directorios y subdirectorios. Y siendo algo listos, podemos autogenera todo el sistema de navegacion.

4- Se `pueden generar Urls mas simples que sea mas practicas en ambientes de navegacion mas restringido:

Los numeros de caracteres se pueden reducir o para los usuarios que son invidentes (piensen en que hay mucha gente que no puede ver o necesita asistencia en la navegacion, por ejemplo, mi tia usa un software para ello!) una navegacion:

Productos/Computadores/Dell1

a la hora de escribir en un CELULAR o una PDA o de escuchar mediante un lector de voz, es mas claro que el sistema de parametros.

Evidentemente, la ventaja de las urls estaticas aumentan en la medida que aumenta el tamaño y complejidad del sitio y disminuyen a medidad que el sitio sea mas una aplicacion web mas que uno para usuarios. Y sin enrutamiento, no tiene nigun chiste.

Por ultimo, hacer urls asi no es TAN dificil. Como mencionaron, se puede usar las propiedades de apache o un modulo http en .NET o lo que sea.

Un poco mas de info:

http://www.port80software.com/suppor...generationurls

Y no olviden que no estan obligados a hacer esto. Ni tampoco implica cambiar los sitios actuales sin razon.
__________________
El malabarista.
Responder Con Cita