2010-05-28 14 views
7

Esta es una pregunta un poco extraña de meta-programación, pero me he dado cuenta de que mi nuevo proyecto no necesita un framework completo de MVC, y siendo un tipo de rails, no estoy seguro de qué usar ahora.¿Qué tecnología de pila/plataforma usar para un proyecto?

Para darle una esencia de la funcionalidad necesaria; este sitio web mostrará páginas estáticas, pero los usuarios podrán iniciar sesión y 'editar sus planes actuales'. Toda la edición de compras y tarjetas de crédito está siendo manejada por un suscriptor de pago recurrente, solo necesito una página para editar su plan actual. Todo esto se hará a través de llamadas a API XML (dinámicas), por lo que no es necesaria ninguna base de datos.

¿Debo seguir con mi pila típica de rieles/nginx, o hay algo que podría usar que aligeraría la carga, ya que no necesito el peso de los rieles. Estoy familiarizado con Python y PHP, pero preferiría no seguir esa ruta. ¿Sinatra es una buena opción aquí?

tl; dr: ¿Cuál es una buena manera de servir rápidamente páginas principalmente estáticas, preferiblemente en Ruby, con algunas páginas que requieren una representación dinámica de XML?

Respuesta

5

Si quieres seguir con Ruby, Sinatra estaría bien, al igual que Rails Metal.

+1

En realidad, no había oído hablar de Rails Metal antes, ¡gracias! – dannyzlo

0

Si conoce Rails, ¿por qué no se queda con él? De esta forma puede usar todas las características de autenticación, etc. a las que está acostumbrado sin tener que aprender otra plataforma y incurrir en los riesgos de implementación que eso incluye. Si la aplicación crece más allá de lo esperado, ya está en una base sólida.

+0

Mi razonamiento para mirar fuera de los rieles es que no necesito el peso de toda la base de código para algo tan simple. El único contenido dinámico aquí es a través de llamadas API, y eso incluye la autenticación. Todo lo que tengo que hacer es servir rápidamente las páginas estáticas, y luego ser capaz de generar dinámicamente XML en vistas, y analizar XML de las solicitudes. – dannyzlo

+0

@Danny Z: entiendo lo que dices, pero cuando agregas otro marco a la mezcla, estás incrementando la complejidad general de tu cartera de soluciones que tienes que soportar ya que tienes que aprender el nuevo marco. elabore la implementación, realice un seguimiento de los cambios, etc. A menos que tenga restricciones muy estrictas sobre el tiempo de ejecución impuesto por el cliente, a veces es mejor que se apegue a lo que sabe. Solo mi valor de $ 0.02. –

+0

Esta línea de pensamiento lleva a 'todo lo que tengo es un martillo, así que cada problema es un clavo'. – x1a4

3

Si te sientes un poco aventurero y quieres obtener alguna experiencia útil con la tecnología que usa Rails, podrías intentar crear una aplicación Rack. Es una API bastante simple para poder responder a consultas HTTP genéricas, y desde allí puede generar rápidamente el manejo de archivos estáticos y el procesamiento XML. También es considerablemente más rápido iniciar y servir páginas que raíles.

http://github.com/cloudhead/toto es un ejemplo de una aplicación basada en Rack decente.

+0

¡Mirándolo, gracias! ¿Tiene alguna sugerencia para una buena lectura de 'cómo hacerlo'? O algo por el estilo – dannyzlo

+0

Hay un railscast en esto en realidad. Ese sería posiblemente un buen lugar para comenzar http://railscasts.com/episodes/151-rack-middleware. Lo está integrando en rieles en ese episodio, pero te presenta la API. – Ceilingfish

Cuestiones relacionadas