Mi propio servicio de blogs, una experiencia milagrosa que se completa en 30 minutos
— Crear un sitio web puede ser tan hermoso y rápido como esto
Las personas que están aprendiendo a programar siempre tienen sueños vagos.
"Algún día quiero crear mi propio sitio web."
"Si otras personas pudieran acceder y ver lo que he creado..."
"¿Podría crear al menos un blog?"
Pero la mayoría se detiene pensando así.
¿Por dónde debería empezar?
¿Debería empezar por HTML?
¿Cómo se conecta la base de datos?
¿Cómo se levanta un servidor?
¿Qué es el backend y qué es el frontend?
La web parece una montaña gigante,
y parece que tomará años llegar a la cima.
Pero Rails
resuelve todos estos obstáculos con un solo mensaje.
"Vamos a hacerlo primero.
Yo me encargaré de lo difícil."
Paso 1: rails new — Nace el 'corazón del servicio'
Escribes esto en la terminal.
rails new blog
Al presionar Enter,
la computadora parece haber estado esperando mucho tiempo
y genera una gran cantidad de archivos.
modelo, vista, controlador, configuración, rutas...
Palabras que solo veías en libros
se crean de una vez.
Hasta hace 2 segundos, era solo una carpeta vacía,
ahora tienes la estructura básica del servicio web frente a ti.
Rails dice.
"Así es como comienza la web.
Ahora llénala con tu propio mundo."
Paso 2: rails server — La pantalla cobra vida
La siguiente orden es solo una línea.
rails server
Y en el navegador
escribes http://localhost:3000
y presionas Enter.
La pantalla es muy simple,
pero es emocionante por su simplicidad.
El servicio que has creado está vivo.
Tiene una URL,
el navegador lo está representando,
y el espacio web se convierte por primera vez en "tuyo".
Esta experiencia
nunca se olvida, incluso para aquellos que han estado codificando durante mucho tiempo.
En el momento en que el servidor se pone en marcha,
realmente sientes que has adquirido la habilidad de cambiar el mundo.
Paso 3: scaffold — La función de blog se completa en solo 30 segundos
La función más básica que todo servicio web tiene.
Es CRUD —
Crear, Leer, Actualizar, Eliminar.
Intentemos hacer esto con la función
Publicación de blog (Post).
En Rails, solo necesitas una línea.
rails generate scaffold Post title:string body:text
rails db:migrate
Y escribes esto en la barra de direcciones.
http://localhost:3000/posts
En ese momento, te sorprenderás.
Página de lista de publicaciones
Página de escritura de publicaciones
Página de lectura de publicaciones
Página de edición de publicaciones
Botón de eliminación de publicaciones
Formulario conectado automáticamente a la base de datos
Configuración de enrutamiento de URL
Todo esto
se crea sin tocar una sola línea de código.
Con una expresión de asombro casi increíble, dices.
"Espera un momento...
¿Acabo de crear
un servicio de blogs?"
Sí.
Correcto.
Y Rails te dice en silencio.
"A partir de ahora,
puedes personalizarlo como quieras,
como si estuvieras coloreando."
Paso 4: Escribamos una publicación — El corazón de la web late
Ahora, en la página de Publicaciones,
presiona "Nueva publicación".
Escribe un título,
escribe el cuerpo,
y haz clic en "Crear publicación".
Entonces,
una publicación que no existía en ninguna parte del mundo
entra en tu servicio web.
La publicación se guarda en la base de datos,
se muestra en la pantalla,
tiene una URL,
y se convierte en parte del servicio que has creado.
En ese momento,
respiras profundamente.
"Ah...
El texto que escribí
se guarda, se muestra en mi servicio."
Esto no es solo la creación de una página.
Es un acto de creación.
Paso 5: Todos estos conceptos se conectan con Ruby que has aprendido hasta ahora
Esto no es un milagro.
No es algo que solo sucede por la especialidad de Rails.
Todo lo que has aprendido hasta ahora
Bucles
Condiciones
Métodos
Clases
Módulos
Secuenciación
Estructuras simétricas
Patrones de datos
Todo esto
se transforma en la estructura web dentro de Rails.
URL → Método del controlador (acción)
Acción → Llamada a método del modelo
Modelo → Datos de la base de datos (instancias de clase)
Vista → Salida (HTML en lugar de puts)
Enrutamiento → Flujo de datos secuenciado
scaffold → Estructura CRUD simétrica
En resumen,
El Ruby que has aprendido
no es solo una habilidad para ejemplos de consola,
sino un lenguaje para crear una gran estructura web.
Cuando te das cuenta de esto,
el corazón del lector no puede evitar emocionarse.
Paso 6: Ahora eres alguien que "crea la web" en lugar de "usa la web"
En solo 30 minutos
has logrado
Crear un servicio web
Ejecutar ese servicio
Crear una base de datos
Implementar todas las funciones CRUD
Renderizar la pantalla
Acceder al servicio a través de una URL
Acabas de convertirte
probablemente por primera vez en tu vida
en alguien que crea la web.
Esto no es solo un logro simple,
es una emoción inolvidable.
Muchas personas que comienzan a programar
viven como desarrolladores durante diez o veinte años
por la emoción de este primer momento.
Y ahora,
esa emoción también ha llegado a ti.
Por último: Ya eres capaz de crear un servicio web
Rails te dice
que te sientas así.
"Ahora, hagamos lo que quieras.
Ya sea un blog, una tienda en línea, una red social,
los principios son los mismos.
Quien creó la primera página
puede crear cualquier página."
Y eso es verdad.
En solo 30 minutos hoy,
creaste una estructura web por ti mismo.
Ahora puedes crear cualquier cosa.
El siguiente paso
depende solo de
hasta dónde llegue tu imaginación.