Як і у всіх подібних питаннях, відповідь - це "залежить". Фактори, які слід враховувати, включають, наскільки ви комфортні з мовою / рамкою та які функції вимагає проект. Сказавши це, я створив сайти, використовуючи ряд фреймворків, кожен зі своїми сильними і слабкими сторонами:
Грааль
Якщо мені потрібно швидко створити сайт для будь-якого професійного , Grails, ймовірно, буде моїм першим вибором. GORM - це найпростіший та найінтуїтивніший ORM, який я спробував, парадигма MVC дуже добре виконана, є 0 конфігурацій для початку кодування (не турбуючись про URL-адреси, патчі БД, що завгодно), дуже швидка ітерація (просто оновіть сторінка), бездоганна інтеграція Java (хороша річ у світі бізнесу) та чудові плагіни (наприклад, Пошукова робота - це краса). Найбільшим недоліком є те, що хостинг може бути важким для пошуку (і дорогим).
Рубі на рейки
Мій досвід роботи з RoR дуже схожий на досвід Grails: MVC добре виконаний. З позитивної сторони, вона має більшу спільноту, тому інтернет-ресурсів (документація, FAQ, зразки коду тощо) дуже багато, є TONS плагінів, Ruby трохи більш гнучкий / виразний / "funky", і це набагато простіше знайти хостинг (особливо для особистих проектів); з негативної сторони, управління / налаштування залежності відсмоктує (я використовував RubyGems у Windows, Ubuntu, Fedora та OSX і стикався з нетривіальними проблемами на кожному), конфігурація / накладні витрати є трохи більше, ніж у Grails (зокрема, що має справу з route.rb та тоннами файлів міграції db), і, мабуть, RoR має деякі серйозні проблеми з масштабованістю.
PHP (включаючи рамки CakePHP)
Якщо мені потрібно швидко зламати щось або створити сайт для особистого використання, я, ймовірно, пітиму з PHP. PHP - це далеко не найпростіша мова для вивчення та розгортання: завантажте будь-який із зручних пакетів LAMP там, натисніть кілька разів і починайте злому. Спільнота більша, ніж у RoR, тому документації багато, і є незліченна кількість плагінів (легко "встановлюється" просто занести файл php і оновити сторінку). Мова є простою для засвоєння, але деякі речі в PHP є просто відвертими, і для уникнення некрасивого коду потрібно багато дисципліни. Рамка CakePHP застосовує приємну парадигму MVC, яка допомагає підтримувати впорядкованість, і здебільшого знаходиться нарівні з RoR, хоча я особисто вважав це трохи неінтуїтивним.
Java (сервлети, JSP, JSTL, підкоси, швидкість)
Я створив багато сайтів, використовуючи технології сервлетів Java, і я можу чесно сказати, що немає жодних вагомих причин вибирати їх для будь-якого нового сайту в даний час. У них крута крива навчання, тонни конфігурації для боротьби з (пекло XML), повільна ітерація через необхідність весь час перерозподіляти речі (якщо ви не використовуєте JRebel), багатослівний код та відсутність "халяви" з точки зору функціональності. Я пограв із Play! Framework і Spring Roo небагато, і обидва роблять дуже цікаві речі з більш-менш "чистим" кодом Java, і варто розглянути далі.