Mein Gefühl ist, dass die Unterschiede zwischen Camping und Sinatra nicht sehr wichtig sind und dass man sich sicher für eines entscheiden kann und in Ordnung ist. Aber ich möchte die Ruby-Experten fragen, ob das stimmt. Gibt es tatsächlich wichtige Unterschiede zwischen den Sinatra- und Camping-Mikrorahmen? Und wie würdest du darüber entscheiden, welches du verwenden möchtest?Gibt es wichtige Unterschiede zwischen Camping und Sinatra?
Antwort
Adam Wiggins (Heroku) hat eine explanation warum er ging mit Sinatra, die nützlich sein kann, um zu sehen.
Der einzige signifikante Unterschied, den ich kenne, ist, dass Camping basiert auf dem MVC-Muster wie Schienen, und ist mit ActiveRecord gekoppelt. Sinatra ist Agnostiker.
Camping wird auch nicht mehr gepflegt, während Sinatra in aktiver Entwicklung ist. Das allein ist wahrscheinlich Grund genug, Sinatra zuerst zu betrachten.
edit: Vielen Dank für die Korrektur Philippe, und großartig zu hören, dass Camping Entwicklung läuft. Entschuldigung für das Gegenteil.
Eine Sache zu berücksichtigen ist, dass Camping etwas von a golf exercise ist. Es war 4k, aber Judofyr hat es auf 3k geschafft. Versuchen Sie zu lesen the source, ich trau dich. Jetzt gibt es auch the unabridged version, die Ihnen anständige Kommentare gibt, aber der Code selbst ist immer noch schmerzhaft verschleiert.
Mit Sinatra können Sie ganz bequem in die Interna graben und idiomatischen Rubin finden. Das ist verdammt wichtig, IMHO, vor allem, wenn Sie jemals etwas patchen müssen.
(Beachten Sie, dass Camping exzentrisch durch Design, bin mit dem Ziel ich nicht zu urteilen.)
Camping is being maintained. Seit _Whwar konzentrierte sich auf Hackety-Hack/Shoes, bis er Art von verschwunden, und (wie semanticart schreibt oben) Magnus Holm (judofyr) wurde working on Camping. Die ungekürzte Version hat einige useful documentation. Es funktioniert gut für mich und, obwohl ich es noch nicht wirklich dehnen kann, laufen einige Camping-Apps da draußen (wie Cheat) gut.
Sie können auch überprüfen, What are the main differences between Sinatra and Ramaze?, die einige nützliche Links zu Sinatra und anderen leichten Ruby-Frameworks hat.
Sie können auch auf die folgenden Ruby On Rails Podcasts hören möchten:
Cheat ist auch eine Anwendung auf Camping gebaut.
Siehe Camping vs Sinatra.
- 1. Der ternäre Operator und wenn A, B, sonst C. Gibt es wichtige Unterschiede?
- 2. Gibt es Unterschiede zwischen diesen beiden Linien?
- 3. Gibt es Unterschiede zwischen Senden und Senden in SimGrid?
- 4. Gibt es in Jasmine irgendwelche Unterschiede zwischen beforeAll() und lassen?
- 5. Gibt es Unterschiede zwischen Klassenimporten und Paketimporten in Java?
- 6. Gibt es große Unterschiede zwischen Log4J 1.2 und Log4J 2.0?
- 7. Gibt es Unterschiede zwischen Java "synchronisiert" und C# "Sperre"?
- 8. Gibt es Unterschiede zwischen ANSI C und ISO C?
- 9. Gibt es Unterschiede zwischen neuem F und neuem F()?
- 10. Gibt es einen Unterschied zwischen einem CGRect und einem NSRect?
- 11. Bash Unterschiede zwischen {} und()?
- 12. Warum gibt es Unterschiede zwischen diesen beiden Codes?
- 13. Ausführungszeit Unterschiede, gibt es irgendwelche?
- 14. Gibt es einen Unterschied zwischen $ @ und "$ @"?
- 15. Gibt es einen Unterschied zwischen VbNullString und ""?
- 16. Gibt es Unterschiede zwischen deklarieren Variablen normalerweise in Express?
- 17. Gibt es einen Unterschied zwischen '=' und In?
- 18. Unterschiede zwischen BaseHttpServer und wsgiref.simple_server
- 19. Unterschiede zwischen OPC und DDS?
- 20. Unterschiede zwischen NoClassDefFoundError und ClassNotFoundException?
- 21. Unterschiede zwischen ActionExecutingContext und HttpActionContext
- 22. Unterschiede zwischen RxJava1 und RxJava2
- 23. Unterschiede zwischen memchr() und strchr()
- 24. Unterschiede zwischen Coroutines und `goto`?
- 25. Unterschiede zwischen RestKit und AFIncrementalStore
- 26. Unterschiede zwischen AForge und OpenCV
- 27. Unterschiede zwischen Minimalschlüssel und Kandidatenschlüssel?
- 28. Unterschiede zwischen SipApplicationSession und ServletContext
- 29. Unterschiede zwischen schwach und unsafe_unreated
- 30. Warum gibt es drei wichtige Anweisungen für diesen IA32-Assemblercode?
Eigentlich wird Camping * von einer kleinen aber engagierten Gruppe von Leuten gepflegt. Abonniere einfach unsere Mailing-Liste unter http://rubyforge.org/mailman/listinfo/camping-list, um unser "Geschwätz" zu sehen. Und natürlich die Commits auf GitHub: http://github.com/camping –