Mi sensación es que las diferencias entre Camping y Sinatra no son muy significativas y que puedes elegir cualquiera de ellas y estar bien. Pero quiero preguntar a los expertos de Ruby si esto es cierto. ¿Hay alguna diferencia importante entre los microframeworks Sinatra y Camping? ¿Y cómo tomarías la decisión de cuál usar?¿Hay alguna diferencia importante entre Camping y Sinatra?
Respuesta
Adam Wiggins (Heroku) tiene explanation de por qué fue con Sinatra que puede ser útil para echar un vistazo.
La única diferencia significativa que conozco es que Camping se basa en el patrón MVC como rieles, y está acoplado a ActiveRecord. Sinatra es más agnóstico.
El camping ya no se mantiene, mientras que Sinatra se encuentra en desarrollo activo. Eso solo es probablemente razón suficiente para mirar primero a Sinatra.
editar: Gracias por la corrección de Philippe, y es genial saber que el desarrollo de Camping está en curso. Disculpas por indicar lo contrario.
Una cosa a tener en cuenta es que Camping es algo así como a golf exercise. Fue 4k pero Judofyr ha bajado a 3k. Intenta leer the source, te reto. Ahora, también hay the unabridged version que le da comentarios decentes, pero el código en sí sigue siendo ofuscado dolorosamente.
Con Sinatra puede cavar cómodamente en las partes internas y encontrar rubí idiomático. Eso es bastante importante, en mi humilde opinión, especialmente si alguna vez necesitas parchar algo.
(Tenga en cuenta que la acampada es excéntrico por diseño, no estoy con el objetivo de emitir un juicio.)
Camping is being maintained. Desde _why se estaba concentrando en Hackety-Hack/Shoes hasta que desapareció, y (como escribe semanticart arriba) Magnus Holm (judofyr) ha sido working on Camping. La versión completa tiene algunos useful documentation. Funciona bien para mí y, aunque todavía tengo que estirarlo, algunas aplicaciones de Camping (como Cheat) funcionan bien.
También le gustará comprobar What are the main differences between Sinatra and Ramaze? que tiene algunos enlaces útiles a Sinatra y otros marcos ligeros de Ruby.
También es posible que desee escuchar los siguientes podcasts Ruby on Rails:
Cheat es también una aplicación construida sobre el Camping.
Ver Camping vs Sinatra.
- 1. ¿Existe alguna diferencia importante entre XAMPP y LAMP
- 2. ¿Hay alguna diferencia entre CPython y Python
- 3. ¿Hay alguna diferencia entre `ListView.invalidateViews()` y 'Adapter.notifyDataSetChanged()'?
- 4. ¿Hay alguna diferencia entre DataTable.Clear y DataTable.Rows.Clear?
- 5. ¿Hay alguna diferencia entre System.Windows.Clipboard y System.Windows.Forms.Clipboard?
- 6. ¿Hay alguna diferencia entre MsgBox y MessageBox.Show?
- 7. ¿Hay alguna diferencia entre log4net.Config.BasicConfigurator.Configure() y log4net.Config.XmlConfigurator.Configure()?
- 8. ¿Hay alguna diferencia entre! == y! = En PHP?
- 9. ¿Hay alguna diferencia entre SSLv3 y TLS1.0?
- 10. ¿Hay alguna diferencia entre: window.localStorage y localStorage?
- 11. ¿Hay alguna diferencia entre .NET y ASP.NET
- 12. ¿Hay alguna diferencia entre is_int() y ctype_digit()?
- 13. ¿Hay alguna diferencia entre gluLookAt() y glFrustum()?
- 14. ¿Hay alguna diferencia entre readonly y {get; }
- 15. ¿Hay alguna diferencia entre UITableViewCellAccessoryDetailDisclosureButton y UITableViewCellAccessoryDisclosureIndicator
- 16. ¿Hay alguna diferencia entre (local), '.' y localhost?
- 17. ¿Hay alguna diferencia entre un CGRect y un NSRect?
- 18. ¿Hay alguna diferencia entre "Objeto [] x" y "Objeto x []"?
- 19. ¿Hay alguna diferencia entre RPC e IPC?
- 20. ¿Hay alguna diferencia entre un control y un widget?
- 21. ¿Hay alguna diferencia entre int & a y int & a?
- 22. ¿Hay alguna diferencia entre un GUID y un UUID?
- 23. ¿Hay alguna diferencia entre "margin: 0 auto;" y "margin: auto;"
- 24. ¿Hay alguna diferencia entre 'imprimir' y 'eco' en PHP?
- 25. ¿Hay alguna diferencia entre comillas simples y dobles en Java?
- 26. ¿Hay alguna diferencia entre myNullableLong.HasValue y myNullableLong! = Null?
- 27. En Rails 3, ¿hay alguna diferencia entre = y assign_attributes?
- 28. ¿Hay alguna diferencia entre UTF8Encoding.UTF8.GetBytes y Encoding.UTF8.GetBytes?
- 29. .NET: ¿Hay alguna diferencia entre InvariantCulture y en-US?
- 30. ¿Hay alguna diferencia entre las funciones R ajustadas() y predecir()?
Actualmente Camping * es * mantenido por un grupo pequeño pero dedicado de personas. Simplemente suscríbase a nuestra lista de correo en http://rubyforge.org/mailman/listinfo/camping-list para ver nuestra "charla". Y, por supuesto, revisa los commits en GitHub: http://github.com/camping –