2010-06-18 13 views
9

Ostatnio poznałem framework sieci Ruby Sinatra i uważam, że warto go używać. Większość artykułów i blogów, które czytałem, wydaje się zakładać, że jest to dobre tylko dla małych stron internetowych lub "malutkich" aplikacji internetowych. Czy to prawda? Czy w aplikacji Sinatra można zbudować kompletną aplikację internetową lub czy Ruby on Rails jest drogą do zrobienia?Jaki jest limit Sinatry?

+0

Powiedziałbym, że nie ma limitu. ;-) – Derek

Odpowiedz

9

Można teoretycznie zbudować całą aplikację internetową za pomocą Sinatry, a to zapewnia większą kontrolę precyzji niż Ruby on Rails.

To powiedziawszy, usuwa również wszystkie przyjemne funkcje, jakie daje ruby ​​na szynach, takie jak architektura Model-View-Controller.

Jeśli chcesz zbudować aplikację internetową z interakcją z bazą danych, radzę użyć Ruby on Rails.

Jeśli chcesz zbudować bardzo prosty interfejs API lub coś, co po prostu zabiera trochę danych i wyrzuca go na Twittera lub coś takiego, skorzystaj z Sinatry.

+4

Co dokładnie o sinatrze zmusza cię do utraty architektury MVC? Twierdziłbym, że tracisz robienie rzeczy "po szynach", ale nic nie powstrzymuje cię od zorganizowania twojej aplikacji w sposób MVC. Ponadto, jeśli potrzebujesz klejnotu ActiveRecord w swojej aplikacji Sinatra, masz całą interakcję z bazami danych z szyn, które możesz kiedykolwiek chcieć. Sinatra pozwala ci robić różne rzeczy. Nie sądzę, żeby cię to w jakikolwiek sposób ograniczało. – Derek

+4

Powiedziałem, że to usuwa architekturę, a nie możliwość jej użycia. Ja też nigdy nie powiedziałem, że to ogranicza ciebie (w rzeczywistości powiedziałem, że oferuje większą kontrolę precyzji). Chodzi mi o to, że Rails zapewnia (i nieco mandatów) solidną architekturę MVC, podczas gdy Sinatra tego nie robi. –

5

Nie ma powodu, dla którego nie można go użyć do zbudowania witryny korporacyjnej. Jest szybki i intuicyjny. Dwie kluczowe rzeczy w budowaniu większej aplikacji internetowej. Chociaż nie ma wielu funkcji Railsów, nie natrafiłem jeszcze na blokadę.

Osobiście lubię szczupłą naturę Sinatry. Obejmuje routing zamiast powodować ból głowy.

Zazwyczaj zmagam się z Railsami, a Sinatrę konfiguruję zgodnie z moimi upodobaniami.

Jeśli chodzi o interakcję z bazą danych, mongo_mapper + Sinatra działa bardzo dobrze.

Powiązane problemy