2011-12-12 9 views
9

Jestem w trakcie opracowywania nowej strony internetowej. Poziom złożoności witryny byłby gdzieś na zlecenie Yelp.com. Jestem całkiem nowy dla Ruby, ale zdecydowałem, że chcę opracować backend, używając go. W trakcie natknąłem się na Sinatrę. Uwielbiam prostotę routingu w Sinatrze i postanowiłem wykorzystać ją jako punkt wyjścia do mojego rozwoju. Wygląda na to, że większość miejsc mówi, że Sinatra świetnie nadaje się do szybkiego rozwoju i do "małych aplikacji internetowych". Czy Sinatra ma nieodłączny problem z skalowaniem, czy też komentarze wynikają z faktu, że zasadniczo musisz wszystko budować od zera? Należy docenić wszelkie komentarze dotyczące twojej opinii na temat używania Sinatry jako podstawy dla aplikacji internetowej na dużą skalę.Czy jest cokolwiek złego w korzystaniu z Sinatry w celu stworzenia pełnej strony internetowej?

Nie jestem pewien, czy stackoverflow jest właściwym miejscem do zadawania pytań, takich jak ten, ale jest to jedyny zasób, jaki obecnie mam do dyspozycji, aby uzyskać informacje zwrotne na temat czegoś takiego.

Odpowiedz

8

Zbudowałem dwa ostatnie dość skomplikowane projekty używając Sinatra i cieszył się z tego procesu. Podoba mi się to, że zachęca cię do rozważenia interfejsu API aplikacji internetowej, którą budujesz z góry, a nie jak po namyśle.

To, co teraz robię, to sprawdzenie działania interfejsu API i przetestowanie go, a następnie zbudowanie przeglądarki z przodu strony za pomocą jQuery. Cała interakcja między frontem a plecami odbywa się za pośrednictwem interfejsu API.

Poprzez dzielenie się metodami pomocniczymi na oddzielne biblioteki i korzystanie z bibliotek Ruby on Rails, takich jak ActiveRecord itp. Uważam, że kod nie jest trudniejszy do utrzymania niż jakikolwiek inny napisany przeze mnie kod, a na pewno łatwo go przetestować.

Napisałem kilka prostych ogólnych tras, które umożliwiają mi grupowanie treści na poziomie strony (napisanych w przecenach, tekstyliach lub hamlach) przy użyciu podobnych pomysłów do projektu Nesta, co oznacza, że ​​99% moich tras to wywołania API niż wywołania na stronie. Dodałem także kilku pomocnych pomocników do budowy nawigacji opartej na regułach, która również bardzo pomaga.

Krótko mówiąc, odpowiedź brzmi: nie, nie ma nic złego w budowaniu dużych witryn z Sinatrą, a w rzeczywistości uważam, że może to prowadzić do lepiej zaprojektowanych aplikacji internetowych.

+0

Jestem trochę obeznany z tą filozofią api vs. page call. Czy możesz wskazać mi źródło, aby przeczytać dalej? Dzięki za odpowiedź, przy okazji. – wuliwong

3

Budowanie dużej witryny z Sinatrą nie napotka cię na problemy z skalowaniem, ale z pewnością bardzo utrudni ci obsługę kodu. Chociaż uwielbiam Sinatrę, konwencja dotycząca konfiguracji w szynach wygrywa. Zauważ też, że nie jest źle/źle/nie można użyć Sinatry na ogromnej stronie, tylko że trudno to zrobić dobrze i nie żałujesz sobie później. Jeśli nadal używasz Sinatry, możesz spróbować Padrino, która jest w zasadzie opakowaniem nad Sinatrą (nigdy go nie używałem, więc nie mogę ci pomóc)

+0

Słyszałem o Padrinie i to, o czym mówisz, jest czymś, o co się martwię. Z pewnością zajrzę do Padrino. Dzięki! – wuliwong

+0

Jeszcze jeden komentarz na temat Padrino, zalecają najpierw nauczenie się Sinatry i mówią, że zazwyczaj można włączyć to, co zrobiłeś z Sinatrą do aplikacji Padrino. Brzmi trochę zbyt magicznie, ale Padrino jest dość modularny, więc możesz wybierać fragmenty bez konieczności korzystania z całego frameworka, jeśli sobie tego życzysz. – wuliwong

Powiązane problemy