Czy Ruby on Rails / Grails to najszybszy framework do szybkiego uruchamiania stron?

10

Zastanawiam się nad użyciem Grails do stworzenia nowej strony internetowej, ale jestem otwarty na inne / nowe języki programowania i frameworki. Zrobiłem programowanie przy użyciu J2EE / JSF2, ASP.NET i PHP. Czy Grails lub Ruby on Rails są najlepszym sposobem na szybkie uruchomienie funkcjonalności?

Kilka wstępnych przemyśleń:

  • DJango wygląda podobnie do RoR / Grails i rozważyłbym to
  • GWT to ciekawa koncepcja, ale nie wydaje się, że czas realizacji jest tak szybki

Dzięki, -Jon

Jon Onstott
źródło
2
Jeśli wykonałeś programowanie przy pomocy J2EE / JSF2, ASP.NET i PHP, wtedy będziesz w stanie szybciej uruchomić stronę z jednym z nich niż Grails, Ruby on Rails lub innym frameworkiem / język, którego nigdy wcześniej nie używałeś.
Carson63000,
2
Najszybszym sposobem na uruchomienie strony internetowej jest zainstalowanie wordpress lub mediawiki. To nie skaluje się wcale, jeśli chcesz dodać funkcjonalność, ale istnieje wiele witryn, które będą dobrze obsługiwane przez gotowe rozwiązanie + wtyczki.
Sean McMillan,

Odpowiedzi:

13

Jak w przypadku wszystkich tego rodzaju pytań, odpowiedź brzmi „to zależy”. Czynniki, które należy wziąć pod uwagę, to: jak dobrze czujesz się w języku / frameworku i jakie funkcje wymaga projekt. Powiedziawszy to, stworzyłem witryny przy użyciu wielu platform, z których każda ma swoje mocne i słabe strony:

Graale

Jeśli potrzebuję szybko założyć stronę dla kogoś profesjonalnego , Grails byłby prawdopodobnie moim pierwszym wyborem. GORM jest zdecydowanie najprostszym i najbardziej intuicyjnym ORM, którego próbowałem, paradygmat MVC jest bardzo dobrze wykonany, jest 0 konfiguracji do rozpoczęcia kodowania (nie martw się o adresy URL, łaty DB, cokolwiek), bardzo szybka iteracja (wystarczy odświeżyć strona), bezproblemową integrację Java (dobra rzecz w świecie biznesu), a kilka wspaniałych wtyczek (np przeszukiwania jest rzecz piękna). Największym minusem jest to, że hosting może być trudny do znalezienia (i drogi).

Ruby on Rails

Moje doświadczenie z RoR jest bardzo podobne do gry Grails: MVC dobrze wykonane. Pozytywne jest to, że ma większą społeczność, więc zasoby online (dokumentacja, FAQ, próbki kodu itp.) Są bardzo bogate, jest mnóstwo wtyczek, Ruby jest nieco bardziej elastyczna / ekspresyjna / „funky”, i jest znacznie łatwiej znaleźć hosting (szczególnie dla projektów osobistych); z drugiej strony, zarządzanie zależnościami / konfiguracja jest do kitu (użyłem RubyGems na Windowsie, Ubuntu, Fedorze i OSX i natknąłem się na nietrywialne problemy na każdym z nich), konfiguracja / obciążenie jest nieco większe niż Grails (w szczególności radzenie sobie z trasami.rb i tonami plików migracji bazy danych) i najwyraźniej RoR ma poważne problemy ze skalowalnością.

PHP (w tym framework CakePHP)

Jeśli muszę szybko zhakować coś lub zbudować witrynę do użytku osobistego , prawdopodobnie wybrałbym PHP. PHP jest zdecydowanie najłatwiejszym językiem do nauki i wdrażania: pobierz dowolny z wygodnych pakietów LAMP, kliknij kilka razy i zacznij hakować. Społeczność jest większa niż RoR, więc dokumentacja jest obfita i istnieje niezliczona ilość wtyczek (łatwo „instaluje się”, po prostu wrzucając plik php i odświeżając stronę). Język jest prosty do nauczenia, ale niektóre rzeczy w PHP są po prostu dziwne i potrzeba wiele dyscypliny, aby uniknąć brzydkiego kodu. Framework CakePHP wymusza ładny paradygmat MVC, aby pomóc utrzymać porządek, i w większości jest na równi z RoR, chociaż osobiście uważam, że jest to nieco bardziej intuicyjne.

Java (serwlety, JSP, JSTL, rozpórki, Velocity)

Zbudowałem wiele witryn przy użyciu technologii serwletów Java i mogę szczerze powiedzieć, że nie ma obecnie żadnego powodu, aby wybierać je dla każdej nowej witryny. Mają stromą krzywą uczenia się, mnóstwo konfiguracji do walki (piekło XML), powolną iterację ze względu na potrzebę ciągłego wdrażania rzeczy (chyba, że ​​używasz JRebel), pełny kod i brak „gratisów” pod względem funkcjonalności. Bawiłem się z Play! Framework i Spring Roo trochę i oba robią bardzo fajne rzeczy z mniej lub bardziej „czystym” kodem Java i warto zajrzeć dalej.

Jewgienij Brikman
źródło
4

Korzystając z CakePHP, mogę uruchomić aplikację internetową szybciej niż ... naprawdę szybki facet. W każdym razie jest szybki. Upuść pliki w folderze głównym, skonfiguruj dwa pliki (około trzech wierszy do zmiany w każdym). I zacznij kodować.

Ponieważ faworyzuje konwencję zamiast konfiguracji, zajmie trochę doświadczenia, aby upewnić się, że jest skonfigurowana optymalnie, ale gwarantuję, że przy takim samym poziomie doświadczenia CakePHP oferuje najszybsze wdrożenie z dowolnego frameworka, prawdopodobnie okres .

To powiedziawszy, oryginalny projekt CakePHP był klonem szyn PHP (już go nie ma), więc jestem pewien, że szyny również szybko się wdrażają.

Stephen
źródło
Dzięki za wgląd. W przeszłości rzuciłem okiem na CakePHP i wydaje się, że wykorzystuje podobne koncepcje jak RoR.
Jon Onstott,
Zgadzam się +1 za zapoznanie mnie z CakePHP.
Jeremy,
CakePHP roxxors.
Stephen
3

Od jakiegoś czasu pracuję ze środowiskiem ASP.NET MVC i okazało się, że jest to całkiem dobra platforma. Niezwykle łatwy w użyciu, szczególnie jeśli znasz platformę .NET. Od czasu wydania w 2009 r. Framework szybko się rozwija, wersja MVC 3 została niedawno opublikowana. Myślę, że MS robi właściwe rzeczy ze środowiskiem ASP.NET MVC.

ysolik
źródło
1
MVC jest świetny, a jeśli czytasz moje posty SO, wiesz, że jestem fanem, ale zaraz po wyjęciu z pudełka nie jest tak szybki jak Rails, aby uzyskać stronę opartą na DB. Myślę, że MVC może być lepszym wyborem niż Railsy na dłuższą metę (w zależności od twoich potrzeb), ale uznaj to za słuszne: Railsy lepiej działają po wyjęciu z pudełka.
Craig Stuntz
@Craig: Z czystego zainteresowania i chęci nauczenia się czegoś nowego kusi mnie, aby wybrać mały projekt i uruchomić go w MVC i Railsach, aby zobaczyć, jak się porównują.
ysolik
Czytanie tego w 2012 roku naprawdę przyniosło mi łzę. Pamiętam, jak zacząłem korzystać z asp.net mvc, kiedy to właśnie wyszło, i widząc, że jest tak solidny, jest to po prostu niesamowite. Sprawiło, że jestem fanem tworzenia stron internetowych i pozwoliło mi łatwo nauczyć się CakePHP i Ruby on Rails.
sergserg,
1

Nie wykorzystałem wszystkiego, ale Rails jest dość cholernie szybki. Oczekuję, że Grails też jest, ponieważ całkiem dobrze ucieleśnia filozofię SUCHEGO. Nie wiem wystarczająco dużo o innych dynamicznych ramach językowych do powiedzenia.

Nawet przy dobrych strategiach generowania kodu moje ASP.NET (formularze internetowe) nie wydają się tak wydajne.

Jeremy
źródło
1

Zajmowałem się Django i Railsami i znalazłem Railsów, które bardziej mi się podobają. Biorąc to pod uwagę, wolę ASP.Net MVC 2 znacznie lepiej niż Rails. Jestem znacznie szybszy w MVC (lub nawet w formularzach internetowych) niż Rails po prostu dlatego, że mój umysł „działa lepiej” z C #.

Dla mnie sprowadza się to do tego, co wiesz i co lubisz. Od wielu ludzi słyszałem, że Ruby jest fajna, nie dla mnie to nie jest. C # jest fajne! Haskell jest fajny! Jeśli nie lubisz języka / frameworka, nie będziesz tak szybki jak wolniejsze frameworki, które lubisz.

Jetti
źródło
Przekonałem się, że konfiguracja Django zajmuje trochę czasu, zwłaszcza gdy musisz zadzierać z Apache
użytkownik