Foros del Web » Programando para Internet » Ruby »

Programación web dinámicas

Estas en el tema de Programación web dinámicas en el foro de Ruby en Foros del Web. Buenas, soy un poco novato, aunque hace años(cuando tenia 14-15 años) habia hecho ya alguna pagina web html, sencilla, sin complicaciones, ya sabeis, un par ...
  #1 (permalink)  
Antiguo 19/07/2009, 05:28
 
Fecha de Ingreso: julio-2009
Mensajes: 36
Antigüedad: 15 años, 4 meses
Puntos: 0
Programación web dinámicas

Buenas, soy un poco novato, aunque hace años(cuando tenia 14-15 años) habia hecho ya alguna pagina web html, sencilla, sin complicaciones, ya sabeis, un par de botones con hipervinculos y poco mas xD.

Hoy queria dar el paso gigantesco y queria comenzar con algo mas complicado: web 2.0 (webs dinamicas)

He estado mirando por internet a ver mas o menos de que podría tratar eso y a ver si me podeis ayudar a tirar del hilo, para saber si lo voy a hacer bien.

Yo lo que tenia pensado hacer es usar dreamweaver y photoshop para hacer lo que es el estilo de la pagina web en HTML. En principio, la web principal solo tendrá un monton de colores y un boton para registrarse y logearse(algo asi como la pagina de tuenti). Una vez logeado, cada usuario tendrá unas aplicaciones web diferentes, que tenia pensado hacer en Ruby on Rails, siendo ésa pagina creada en HTML.

Por ejemplo: un usuario A se logea y tiene un calendario con el dia de cumpleaños de la madre. Otro usuario B se logea y tiene un calendario con sus citas y una agenda con numeros de telefono.

De momento tengo creada una pagina principal, los usuarios se registran y se logean correctamente, con PHP y te dice "Bienvenido <usuario>" con una opcion de desconectarse jeje.

Como ya dije antes, soy un poco novato en este mundillo, por eso queria saber si lo que quiero hacer tiene algun inconveniente, o se puede hacer..

Lo de aprender a programar en Ruby lo haré sin problemas, lo único que veo mas complicado y no tengo ni pajolera idea de como se podría hacer es como hacer para que al identificarse el usuarioA salga unas cosas y cuando lo haga usuarioB salgan otras, pero bueno, me imagino que ya lo veré segun aprenda a programar ruby, y si la manera correcta de hacer eso es creando la pagina en HTML y metiendo en medio del codigo HTML todo el codigo de Ruby, o simplemente haciendo la pagina entera con Ruby(que no se si se podrá)

Muchas gracias por sus consejos

Última edición por alr11389; 19/07/2009 a las 05:39
  #2 (permalink)  
Antiguo 19/07/2009, 17:42
 
Fecha de Ingreso: abril-2009
Mensajes: 371
Antigüedad: 15 años, 7 meses
Puntos: 22
Respuesta: Programación web dinámicas

ten en cuenta que rails sigue el patron MVC y por tanto separa datos, logica y visualizacion
si eres nuevo en programacion puede ser un poco complicado de entender

tu ejemplo de hacer login y que salgan cosas distintas tiene dos formas de hacerse, una (para los puristas del MVC la mas correcta, supongo) seria meter codigo en el controlador que compruebe si el usuario esta logueado y muestre un view u otro (y por tanto tener paginas distintas para usuarios que estan dentro)
otra seria meter codigo directamente en el view, que tambien seria correcto si la diferencia es minima (mostrar un link en vez de otro, el nombre del usuario, ese tipo de cosas)

si quieres ver un ejemplo de red social en rails puedes mirar el codigo de lovd ( http://lovdbyless.com ) que aunque no es perfecto ilustra bastante bien los conceptos de separacion y reutilizacion de codigo que sigue rails
otro ejemplo seria ElDorado pero sinceramente no conozco su codigo y no se si es bueno o malo, http://almosteffortless.com/eldorado/

personalmente te recomiendo empezar aprendiendo ruby (para lo cual hay muchos tutoriales y libros, algunos de ellos muy buenos, a mi me gustan los libros de o'reilly aunque hay gente que prefiere el tutorial gratuito de _why aunque yo lo encuentro demasiado "artistico" y con poca chicha)

una vez te hayas habituado a la sintaxis y el estilo de ruby, te recomendaria empezar con un framework web mas sencillo que rails, como puede ser sinatra o camping: estos corren sobre la misma tecnologia que rails (rack) pero son mucho mas simples (sinatra seria parecido a programar php sin framework, aunque al estilo de ruby)

si tienes alguna duda especifica puedes preguntar por aqui, este foro no es muy activo pero yo intento responder todas las dudas sobre ruby que veo
  #3 (permalink)  
Antiguo 20/07/2009, 06:28
 
Fecha de Ingreso: julio-2009
Mensajes: 36
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Programación web dinámicas

Gracias, he estado mirando estos dias Ruby en la seccion de Try Ruby de la web oficial en la que te enseña lo mas basico en un terminal y mas en otros lugares. Tambien miré asi por encima RoR y bueno.. asi a simple vista parece que me va a costar mas RoR que ruby :P

Parece interesante lo del MVC, sobre todo para lo que pretendo hacer. Tu ayuda era justo la que necesitaba: codificar en el controlador y mostrar un view u otro. A ver si este verano me pongo a tope y cambio todo el código de logearse y registrarse que tengo en php a ruby.

miraré las paginas que me has dicho a ver si me ayudan a orientarme mas porque aun tengo problemas a la hora de cargar la pagina, creo que hay algo que estoy haciendo mal xD pero bueno, a ver si hay suerte :)

muchas gracias
  #4 (permalink)  
Antiguo 08/08/2009, 18:24
Avatar de adriancitov7  
Fecha de Ingreso: abril-2009
Ubicación: New York
Mensajes: 75
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Programación web dinámicas

yo colabore en el proyecto opensource para el uso de una red social se llam ELGG en google saludos es una red social
  #5 (permalink)  
Antiguo 21/08/2009, 13:54
 
Fecha de Ingreso: julio-2009
Mensajes: 36
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Programación web dinámicas

Buenas, aqui estoy de nuevo jeje Ya me entiendo mas o menos con Ruby (es parecidito a java.. mas o menos.. xD)

Lo que no me queda muy claro es lo de Ruby On Rails, eso es mas bien para acceder a las bases de datos y eso no? Es decir, mi pagina web estará hecha con HTML con codigo Ruby "embebido", de vez en cuando, y con ruby on rails principalmente sirve para hacer peticiones a la base de datos y eso? Yo lo que tengo entendido es que los Models y Controllers se codifican con Ruby On Rails, que son mas bien peticiones a bases de datos o alguna cosa de esa. Y la carpeta Views es lo que será con HTML y si a caso algo de Ruby embebido, y eso será el diseño de la pagina. No sé si iré por buen camino. Un ejemplo para que nos entendamos, el proyecto de adriancitov7 & Co. La pagina principal de ELGG es todo con HTML?

Y lo que decías, mpeg, lo de que Controller verifique si un usuario esta conectado y muestre un view u otro, eso significa que cada usuario registrado habrá que almacenar un archivo entero en View, verdad? :S no sé si me he explicado jeje

jeje esque con Rails aun no me metí mucho, tengo que formatear el portatil porque me armé un jaleo con el MySQL y hasta que no salga Snow Leopard no lo queria formatear(principalmente porque no tengo los CDs) :D y sin formatear no puedo avanzar con los tutoriales, porque aun estoy en el principio de Rails jeje.

Última edición por alr11389; 21/08/2009 a las 13:59
  #6 (permalink)  
Antiguo 21/08/2009, 16:38
 
Fecha de Ingreso: abril-2009
Mensajes: 371
Antigüedad: 15 años, 7 meses
Puntos: 22
Respuesta: Programación web dinámicas

model = datos, sea una base de datos, un archivo de texto, un array con los paises del mundo, una foto, etc. cualquier cosa que contenga informacion que necesite tu aplicacion
controller = logica de la aplicacion, por ejemplo codigo para procesar formularios, procesar peticiones XHR (ajax), etc.
view = presentacion, se pueden usar varios formatos de plantillas pero la por defecto es ERB, ruby mezclado con html

tienes que tener eso claro, rails es un framework que te ayuda a organizar tu codigo siguiendo ese paradigma, si que contiene un ORM (para conectar a bases de datos de forma transparente) y mas cosillas, pero lo importante no es eso, es el MVC (de hecho rails3 cambiara muchisimo el juego)

para lo del login, te entendi mal: si lo que quieres es que cada usuario tenga una pantalla personalizada lo ideal es tener un modelo de usuario y ahi guardar sus preferencias.
imagino que quieres hacer algo estilo iGoogle, podrias por ejemplo guardar los "bloques" (como en igoogle) que tiene cada usuario en la base de datos, en el modelo de usuario

la verdad esque tendria que saber mas detalles

PD: por cierto, java y ruby son muuuuy distintos ! por poner un ejemplo de sus muchas diferencias, java es de tipado estatico y ruby dinamico
  #7 (permalink)  
Antiguo 22/08/2009, 15:53
 
Fecha de Ingreso: julio-2009
Mensajes: 36
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Programación web dinámicas

Gracias por responder :) lo de que es parecido a java me expresé mal, mas bien deberia haber dicho "me recuerda a java" jeje. Gracias por explicar como se hace lo del login(eso me da pie a pensar que si de verdad consigo algo, voy a necesitar bastantes gigas de memoria, en el caso de que tenga a gente registrada, claro jaja).

Bueno, pues visto lo visto, mientras no llega Snow Leopard, seguiré con el primer diseño que tenía antes de pensar en Ruby y luego rediseñarlo poco a poco: PHP jeje Habia empezado a hacerla en PHP, solamente hice para registrar y logear usuarios cuando pensé "coño, es el momento de probar Ruby!" jeje y asi fue como me lancé.

La verdad es que no creo que consiga hacer la web conocida ni nada de eso, teniendo en cuenta que hay millones de webs y miles de ellas parecidas y cientos de esas no las suelen usar...

Pero bueno, lo importante es lo bonito de la experiencia de superarse a uno mismo y aprender un lenguaje nuevo :)
  #8 (permalink)  
Antiguo 22/08/2009, 17:13
 
Fecha de Ingreso: abril-2009
Mensajes: 371
Antigüedad: 15 años, 7 meses
Puntos: 22
Respuesta: Programación web dinámicas

gigas de memoria? :S las bases de datos se guardan en el disco duro, vale que la memoria se usa como cache pero no hace falta tener mucha

de todos modos, para que te hagas una idea el ultimo backup de la bbdd de mi web ocupa 160mb y tiene casi 400k entradas (de usuarios registrados)
vamos que los datos en una bbdd ocupan poco, para una web pequeña no hace falta mucha memoria ni disco
los datos en ruby si que ocupan mucha memoria pero en principio el recolector de basuras (garbage collector o GC, como todo en informatica me parece mas correcta la palabra en ingles) de ruby se encarga de que no chupe demasiada memoria. me he enrollado un poco pero esque me ha confundido un poco tu comentario sobre la memoria

por cierto no necesitas mysql para usar rails, para hacer pruebas puedes usar sqlite que es muy compacto (una base de datos => un archivo) y facil de configurar (bueno, esque practicamente no hace falta configurar nada, y juraria que las librerias de sqlite vienen por defecto en mac os)

para el login en tu pagina puedes aprovechar que ruby y rails tienen una comunidad open source tremenda y usar una solucion ya hecha (pero que siempre son muy configurables si te lees la documentacion) como authlogic

de todos modos en cuanto puedas deberias meterle ganas a ruby porque es la caña, yo nunca he sido muy fan de rails pero en principio rails3 deberia salir antes de 2010 y promete muchisimo. con los cambios planeados para la version 3 rails pasa a ser totalmente modular y eso para usos avanzados es tremendo

creo que ruby ira comiendo terreno a php en los proximos años y vale mucho la pena aprender a usarlo
  #9 (permalink)  
Antiguo 21/09/2009, 14:50
 
Fecha de Ingreso: julio-2009
Mensajes: 36
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Programación web dinámicas

que bien informado estas. Me has servido de mucha ayuda en mis comienzos, tanto en este post como en el otro del rake db:create :D

gracias por todo.
  #10 (permalink)  
Antiguo 21/09/2009, 16:57
 
Fecha de Ingreso: abril-2009
Mensajes: 371
Antigüedad: 15 años, 7 meses
Puntos: 22
Respuesta: Programación web dinámicas

na, si este foro esta siempre muy muerto

ya me gustaria tener mas preguntas de rails para contestar... la verdad esque hay muy poca comunidad hispana (creo recordar que hay un canal de irc... pero aparte de eso y la lista de correo, poco mas.)
  #11 (permalink)  
Antiguo 15/10/2009, 10:54
 
Fecha de Ingreso: julio-2009
Mensajes: 36
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Programación web dinámicas

Bueno, mpeg, te tomo la palabra "ya me gustaria tener mas preguntas de rails para contestar..." jeje

De momento tengo mucho que aprender, tengo que aprender HTML, Ruby, los tecnicismos de rails, usar MySQL... lo mejor de todo es que estoy aprendiendo un monton :)

fíjate, que he conseguido hacer un blog gracias al tutorial de guides.ruby.com y he logrado crear usuarios y logearlos gracias a Acts as authenticated o algo asi.

Ahora me quedaría dar permisos para acceder a un enlace u otro para invitados o registrados y luego, finalmente, jugar con la programacion en ruby(o eso me imagino).

Ha sido una experiencia bastante bonita. Es un poco infierno por esto de los "tecnicismos" de rails, pero cuando le pillas el truco es muy sencillo todo.
  #12 (permalink)  
Antiguo 15/10/2009, 14:37
 
Fecha de Ingreso: abril-2009
Mensajes: 371
Antigüedad: 15 años, 7 meses
Puntos: 22
Respuesta: Programación web dinámicas

para permisos mirate el excelente plugin acl9 te ira muy bien y es muy sencillito de usar para permitir ciertas acciones solo a ciertos tipos de usuario, etc. si solo tienes invitado y registrado no te sirve de mucho pero en cuanto empiezas a tener invitado, registrado, editor, admin, etc. te salvara la vida xD

acts_as_authenticated esta bien para autentificar, pero si quieres algo un poco mas avanzado (porque soporta plugins para hacer cosas del palo de usar cuenta de facebook o google, etc. ademas de ser mas modular) puedes probar authlogic

PD: yo tambien odio algunas cosas que te "impone" rails a la fuerza, con el tiempo he ido modificando rails para cambiar algunas cosas que no me gustan pero hace poco decidi crear mi propio framework que se adapte exactamente a lo que necesito y lo bueno de ruby esque ademas de darte muchas facilidades para hacerlo (gracias a proyectos como rack, usher, validatable, datamapper, autocode...) tener disponible el codigo de rails, sinatra, etc. como referencia es cojonudo
  #13 (permalink)  
Antiguo 15/10/2009, 17:04
 
Fecha de Ingreso: julio-2009
Mensajes: 36
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Programación web dinámicas

manda narices.. y mira que hace un par de dias me metí en este mismo post con la intención de recordar eso que me dijiste de "authlogic" y no encontre nada y tuve que googlear... y ahora resulta que lo veo xD debe de ser por haber conectado a las 2 de la mañana, uno esta ciego a esas horas >.<

PD: Registro de usuarios con authlogic hecho :)

esto cada vez me parece mas divertido. solo necesito aprender a programar bien en este lenguaje para no depender tanto de las güebs
  #14 (permalink)  
Antiguo 16/10/2009, 10:53
 
Fecha de Ingreso: abril-2009
Mensajes: 371
Antigüedad: 15 años, 7 meses
Puntos: 22
Respuesta: Programación web dinámicas

si, es importante que aprendas ruby bien, no solo xq hay mucho mas alla de rails (puedes hacer aplicaciones de escritorio, movil, etc.) sino tambien porque cuando aprendes como funciona rails por dentro (rack, etc.) te das cuenta de lo muchisimo que hace ruby (y de lo poco complejo que es rails en realidad)

yo estoy haciendome un framework web basado en rack (como rails) que se adapta mas a mis necesidades y mi forma de trabajar. y lo mejor es que al ser compatible con rack puedo mezclarlo con rails o cualquier otro framework como me de la gana
  #15 (permalink)  
Antiguo 29/10/2009, 17:44
 
Fecha de Ingreso: julio-2009
Mensajes: 36
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Programación web dinámicas

Bueno, parece que documentacion española hay muy poca... sabes de algun libro estilo "piensa en Java" de Ruby? cual me recomendarias y eso?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:23.