2010-03-14 25 views
6

He estado trabajando demasiado tiempo con PHP y me he aburrido de él. También quiero aprender un nuevo idioma.Rails o Sinatra? ¿Qué es bueno comenzar a aprender para un programador de PHP?

He estado usando Ruby y me gusta. Tengo que decidir entre Rails y Sinatra, ¿cuál recomendarías? ¿Es cierto que Sinatra no se puede usar para crear aplicaciones complejas y solo para aplicaciones simples?

+0

Es exactamente cierto como la afirmación de que Rails no se puede usar para crear aplicaciones simples y solo para aplicaciones complejas. –

+0

Los rieles se pueden usar para construir cualquier tipo de aplicación web realmente. – fivetwentysix

Respuesta

8

Ir con rieles, tiene mucha más documentación/libros que Sinatra. También es más "convencional" y muchos IDEs tratan los raíles de una manera especial para los ciudadanos de primera clase, por lo que es una buena idea comenzar con eso.

Si bien uno puede escribir cualquier tipo de aplicación en cualquiera de los dos, Sinatra está diseñado para ser más simple, por lo que en Sinatra una aplicación de caso complejo puede requerir un esfuerzo extra.

+0

Por lo que he leído hasta ahora, Sinatra simplemente da lo básico y se quita de en medio, mientras que Rails te obliga a hacer las cosas de una cierta manera. ¿Qué tan cierto es eso? –

+0

De hecho, Sinatra ofrece los conceptos básicos (enrutamiento y control en un DSL simple), pero Rails no se "interpone en absoluto", * au contraire *. Y, por cierto, una aplicación de Sinatra puede integrarse en una aplicación de Rails: http://gist.github.com/81199 – clyfe

+0

¿significa esto que no puedo usar Sinatra para proyectos complejos? –

4

definitivamente debe conocer ambos, ya que fueron hechos para diferentes propósitos. Sinatra es un micro-marco para pequeñas aplicaciones. rails es un framework de mvc en toda regla con muchos ayudantes para casi todo.

yo diría que sinatra es más fácil de aprender si conoces el rubí, porque es muy pequeño y sigue expresiones comunes de rubí. pero no es mucho más difícil aprender raíles también. la documentación es excelente y encontrarás muchos tutoriales y tutoriales en la web.

Como dije, es realmente bueno saber ambas cosas para que pueda elegir la herramienta adecuada para el trabajo.

16

Si eres un "muy novato" con Ruby, tal vez deberías acercarte primero a Sinatra: es realmente pequeño, bien documentado y fácil de aprender. Luego, para aplicaciones web más complejas, debe probar Ruby On Rails.

http://railsmagazine.com/issues/5 es un artículo introductorio en PDF gratuito que escribí para la Revista Rails.

4

Primero ve con Sinatra. Es realmente simple y fácil de entender, además cubre los principios básicos de Rails (arquitectura MVC, etc.). Luego, puedes moverte a Rails. Además, con su conocimiento de Sinatra, puede escribir aplicaciones de Sinatra en Rails metal, lo que puede facilitar la creación de API.

0

Es posible que desee mirar Ramaze además o en lugar de Sinatra. Ramaze parece sentarse entre Ruby on Rails y Sinatra en cuanto a características y usabilidad.

+0

oh, ahora estoy aún más confundido ... Tengo que elegir entre tres, en lugar de dos :( –

8

Oh, por favor Oh, por favor, no comience con los rieles. Es como ir a la batalla por primera vez contra una división Panzer. Es mejor comenzar con algunos nativos inquietos y seguir subiendo. De acuerdo, esa no es una gran analogía, pero los rieles son un exceso de tiempo para aprender. Puedes recoger Sinatra muy rápido y luego migrar a los rieles es un paso adelante razonable. Lo mismo solo cosas más útiles. Con los rieles hay toneladas de cosas confusas. Agregan muchas cosas al lenguaje, etc. Si no conoces a Ruby ni a las clases de base, simplemente hazlo. Es rápido, fácil y no necesita aprender sobre migraciones, rastrillos, etc.

1

Oither Rails o Sinatra es una excelente opción de aprendizaje.

Comencé a trabajar en un proyecto en Rails, donde literalmente no sabía nada de desarrollo web o Ruby octubre de 2009 (mi cofundador me ayudó a superar algunos obstáculos iniciales y me llevó a RTFM). Me encontré con algunos problemas, pero pude codificar la lógica de negocios con bastante facilidad. Recientemente, comencé a trasladar un proyecto al motor de aplicaciones y a utilizar Sinatra como marco y ha sido un proceso de aprendizaje increíble. Principalmente para aprender sobre todas las cosas que Rails hizo automáticamente.También fue útil para ver una definición simplificada de los miembros de la clase y su método de persistencia (las migraciones son, lamentablemente, un pita, procesos en segundo plano para cambiar el formato).

Es posible que desee considerar dónde desplegará.

Dado que estoy interesado principalmente en aplicaciones directas con un bajo costo de servidor, tanto Heroku como Google App Engine encajan bien. Rails/ActiveRecord/Sqlite y Heroku funciona swell Sinatra/Datamapper/Datastore en el motor de la aplicación de Google fluyen bien.

Rails también se está ejecutando con éxito en el motor de la aplicación por lo que esta opción también está abierta. IMO Heroku es un poco más fácil de implementar.

Cuestiones relacionadas