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.