Desarrollo web al estilo PHP en Ruby: creando microframework para eso

En el mundo de PHP, simplemente puede crear el archivo index.php , poner un poco de código en línea y código HTML sin procesar, ejecutar Apache y simplemente funciona.

Hay muchas cosas que hablan de las malas prácticas de usar el código en línea, etc. Así que no discutiremos este tema aquí, por favor.

¿Cómo puedo iniciar mi aplicación Ruby de la misma manera? Quiero usar ERB para desordenar el código, para que se vea de esta manera

 # index.rb 

Hello world!

1 + 1 =

Así que mis preguntas son:

  1. Lo que hace que PHP simplemente funcione.
    AFAIU (nderstand) Hay soporte nativo para HTTP en PHP, así que tengo que usar Rack para admitirlo con Ruby
  2. Algunos conocimientos básicos para crear mi en “microframework”: trabajar con aplicaciones / servidores http (Mongrel, nginx, enlace en el puerto http y todo ese tipo de trabajo), trabajar con solicitudes HTTP: sesiones, parámetros, GET / POST, etc. (¿Rack? ), enviando respuestas (plantillas ERB).

Así que puedo hacer mi propio microframo (en entornos educativos) para el desarrollo web de estilo PHP con Ruby: D

UPD

Lo que realmente quiero hacer es una aplicación que solo obtendrá la url de solicitud, ejecute solo ese archivo y devuelva HTML como respuesta. También se debe permitir que esta aplicación se enlace en algún puerto

 index.rb info/about.rb info/contacts.rb products/product.rb 

por lo que debería analizar url localhost/index.rb y ejecutar index.rb , localhost/products/product.rb?product_id=10 y ejecutar products/product.rb y pasar product_id=10 como un hash de params.

UPD 2

Creo que el buen punto para comenzar es profundizar en la fuente de microframework Camping :

https://github.com/camping/camping

Tiene un peso aproximado de 5Kb, por lo que no debería confundirme.

Es posible escribir scripts CGI con Ruby, pero esto generalmente no se hace porque tenemos mejores soluciones.

Un archivo por página no es una abstracción muy útil, es solo la que soporta PHP. Ruby tiene mejores maneras de abstraer una aplicación web (como Sinatra, Rails o incluso Rack), por lo que preferimos usarlas.

Poner el nombre del archivo en la url es otro desafortunado efecto secundario del diseño de PHP. Es una implementación reveladora e innecesaria (no está recibiendo una página de Ruby, está recibiendo una página HTML), por lo que optamos por no hacerlo tampoco.

CGI y FCGI en Ruby también son más lentos que las otras soluciones. Esto no se debe a algún límite sobre el rendimiento que pueden tener; se debe principalmente a que el esfuerzo por hacer que las aplicaciones web de Ruby sean más rápidas se ha gastado en áreas más útiles como Rack y Rails. Nadie realmente usa CGI, así que a nadie le importa hacerlo rápido. mod_ruby hace que los scripts CGI sean un poco más rápidos si realmente quieres ir por esta ruta, pero nuevamente: hay mejores formas.

Apache puede ejecutar PHP al cargar en el módulo mod_php.

Creo que para ejecutar ruby ​​necesitarás tenerlo instalado en el servidor y tener mod_ruby cargado en apache. Eche un vistazo a: http://www.modruby.net/en/

Usted está buscando CGI . Los módulos de Apache como mod_php o mod_ruby son paquetes que se proporcionan para scripts CGI escritos en PHP o Ruby.

    Intereting Posts