Szukam lekkiej architektury sieci Ruby i spotkałem się z Sinatra i Ramaze. Oba wydają się wyjątkowo lekkie, zwięzłe i proste. Ale nie wiem wystarczająco dużo o tym, żeby powiedzieć, jakie są główne rozróżnienia. Być może ktoś z doświadczeniem z jednym lub oboma z nich może komentować?Jakie są główne różnice między Sinatrą i Ramaze?
Odpowiedz
Sinatra nie wymusza MVC.
Inne lekkie Ruby Ramki
Lubię _why's Camping (obecnie utrzymywane by the community), który ma być najlżejszym z nich wszystkich (na ostatniej informacji [> = v1.9] zobacz Camping links na Camping wiki, Eleanor McHughe'S ' Going off the Rails 'lub [v 1.5] Jeremy McAnally's Going Camping slides lub te Camping screencasts, to Camping podcast i Nathaniela Talbotta w Why Camping Matters, ale czytają Camping mailing list dla aktualnej wersji zmiany informacji i ewolucji i try the latest blog example). Możesz także teraz read the latest Camping api docs.
Ale zrobiłem ogromny 3-dniowy włok przez wszystkie jaśniejsze frameworki Ruby, które mogłem znaleźć, które wyglądały na dość aktualne lub wykonane (staram się znaleźć taki, który uczyłby studentów podstaw frameworków), więc aby pomóc Ci w podjęciu decyzji, następujące (z kempingiem) wyróżniały się ze stosu (z co najmniej jedną nazwą programisty, abyś mógł je również sprawdzić) ...
Po pierwsze, ci mili ludzie z Ramaze mieć list of Ruby frameworks but the link is gone, a tutaj jest dobry artykuł o nazwie 10 Alternative Ruby web frameworks. Istnieje również Ruby-forum discussion about Camping and Merb, który obejmuje również alternatywne ORMy. Pamiętaj, że niektóre z poniższych są po Merge i rozszerzają to podejście.
Sinatra (Blake Mizerany)
Nie MVC, ORM nie domyślne. Dobra dokumentacja. 'Cała aplikacja internetowa może być zawarta w jednym pliku Sinatra'
opinii Sinatra i linki:
- Sinatra on GIT
- Sinatra, A Ruby Web Framework, and Why it Matters
- 'Sinatra Ruby Framework' on Slideshare
- Web app in under 10 minutes
- People explaining why they chose Sinatra
Ramaze (manveru)
Ramaze działa dobrze z Ruby 1.9.
opinii ramaze i linki:
- Ramaze by example (używa PostgreSQL):
- Online Ramaze book
- Ramaze: a Ruby framework that will amaze, przez Antonio Cangiano
Wuby (Chris Matthieu)
z opinii : "do uruchamiania aplikacji Wuby nie są wymagane aplikacje ani klejnoty stron trzecich, a sama biblioteka Wuby zawiera wszystko, co niezbędne do uruchomienia demona HTTP i rozpoczęcia obsługi zapytań", "example code ma w sobie trochę poczucia PHP".
opinii Wuby i linki:
IOWA (Kirk Haines)
w article on Ramaze by Antonio Cangiano pisze: „Jeśli masz na myśli przez 'przełącznika' tylko ogólne„przejście od moje obecne ramy/język programowania/styl programowania ", nie mam prawdziwej odpowiedzi, przykładem może być bardzo nieznana struktura Iova z Kirk Haines. od lat jest martwy stabilny, bardzo szybki (o wiele szybciej niż Ramaze), ale jego dokumentacja i marketing nie istnieją. Nie wierzę w podążanie za hype (nawet jeśli to Ramaze) tylko ze względu na chłód, muszę mieć walizkę, żeby przejść na coś nowego ".
Dokumentacja jest skąpa, chociaż Hal Fulton obejmuje IOWA w The Ruby Way i chociaż poniższy link mówi, że rzeczy zostały przeniesione do Swiftcore, to z kolei mówi, że niedługo pojawią się na GIT, ale to było jeszcze puste od 06:312009. Aby jeszcze bardziej zaciemnić sprawy, IOWA datuje się na RubyForge w 2004 roku, więc ... ?
opinii Iowa i linki:
- old site + examples, tutorial
- IOWA 0.99.2.17 on RubyForge
- patrz także jego ORM Kansas i Swiftiply
Dzięki za doskonały post, Dave. Użyję tego w celach informacyjnych. –
Cieszę się, że 3 stracone dni w świecie Ruby framework okazały się przydatne! –
Jestem spóźniony na imprezę, ale: AFAIK, Ramaze nie wymaga Rubiego 1.9. Powinien działać dobrze poniżej 1.8. – Pistos
myślę, że to prawdziwa kwestia gustu zarówno między Sinatra i ramaze. Zarówno dobre, jak i lekkie.
Największa różnica polega na tym, że Ramaze ma więcej MVC. Sinatra z drugiej strony działa jak DSL i jest RESTOWN.
Proponuję przeczytać GET_STARTED z nich, które nie zajmie więcej niż kilka minut, a zobaczysz, jaka jest różnica.
Ja osobiście lubię ich oboje (z preferencją dla Ramaze), ale jedną rzeczą, która może pomóc w podjęciu decyzji, jest fakt, że Sinatra jest trochę bardziej popularna (jak sądzę), więc możesz znaleźć więcej dokumentów na temat sieć.
Z drugiej strony możesz użyć Ramaze i sprawić, by stała się bardziej popularna.Kanał IRC dla Ramaze jest pełen ludzi (w tym mnie), którzy z przyjemnością Ci pomogą i odpowiedzą na wszystkie twoje pytania.
Mam nadzieję, że to pomaga. Mig
- 1. Jakie są główne różnice między dialektami sql mysql i oracle?
- 2. Jakie są główne różnice między tabelami CTE i TEMP?
- 3. Jakie są główne różnice między funkcjonalnością GitHub Wiki i Readme,
- 4. Jakie są główne różnice między StringTemplate i FreeMarker?
- 5. Jakie są różnice między PECL i PEAR?
- 6. getc() vs fgetc() - Jakie są główne różnice?
- 7. Jakie są główne różnice między Convert.ChangeType lub Convert.ToInt32?
- 8. Jakie są różnice między MPI a OpenMP?
- 9. Jakie są różnice między Haskell i PureScript?
- 10. Jakie są różnice między Conda i Anaconda
- 11. Jakie są różnice między @dynamic i @synthesize?
- 12. Jakie są różnice między LinFu.DynamicProxy i Castle.DynamicProxy?
- 13. Jakie są różnice między utf8_general_ci i utf8_unicode_ci?
- 14. Jakie są różnice między Modelem, ModelMap i ModelAndView?
- 15. Jakie są różnice między T-SQL, SQL Server i SQL
- 16. Jakie są różnice między funkcjami i podprogramami w Fortranie?
- 17. Jakie są główne różnice między programowaniem w Windows XP i Vista?
- 18. Jakie są główne różnice między korektami CoffeeScript i Dart przy JavaScript?
- 19. Jakie są główne różnice (plusy/minusy) między modelem ember, ember-niespokojny i emu?
- 20. Jakie są główne różnice między IE7 i IE8, które powinien znać web developer?
- 21. Jakie są różnice między możliwościami obliczeniowymi CUDA?
- 22. Jakie są różnice między postem a stroną
- 23. Jakie są różnice między przerwą a wyjściem?
- 24. Jakie są różnice między typedef a używaniem?
- 25. Jakie są różnice między programem a aplikacją?
- 26. Jakie są główne różnice między EJB 2.0 a EJB 3.0 w orientacji obiektu?
- 27. Różnice między Boost.Coroutine i Boost.Coroutine2
- 28. Dniegowate drzewo Django jakie są różnice między AL, NS, MP
- 29. Jakie są duże różnice między wtyczką IntelliJ + Ruby a RubyMine?
- 30. Jakie są główne różnice między maszyną wirtualną opartą na rejestrze a stosem?
Można jednak łatwo wdrożyć model MVC wokół Sinatra. –
Czy Ramaze wymusza? "Po wyjęciu z pudełka nowy projekt wykorzystuje wzorzec MVC. Jednak fajne w Ramaze jest to, że nie jesteś zmuszony używać tego wzoru". - http://ramaze.net/documentation/index.html – ciastek