Seperti halnya semua pertanyaan semacam ini, jawabannya adalah "itu tergantung". Faktor yang perlu dipertimbangkan termasuk seberapa nyaman Anda dengan bahasa / kerangka kerja dan fitur apa yang dibutuhkan proyek. Karena itu, saya telah membangun situs menggunakan sejumlah kerangka kerja, masing-masing dengan kekuatan dan kelemahannya sendiri:
Cawan
Jika saya perlu membuat situs dengan cepat untuk profesional apa pun , Grails mungkin akan menjadi pilihan pertama saya. GORM adalah ORM paling sederhana dan paling intuitif yang pernah saya coba, paradigma MVC dieksekusi dengan sangat baik, ada 0 konfigurasi untuk memulai pengkodean (tidak perlu khawatir tentang URL, tambalan DB, apa pun), iterasi yang sangat cepat (hanya refresh halaman), integrasi Java yang mulus (hal yang baik di dunia bisnis), dan beberapa plugin yang bagus (mis. Dicari adalah hal yang indah). Kelemahan terbesar adalah hosting itu sulit ditemukan (dan mahal).
Ruby on Rails
Pengalaman saya dengan RoR sangat mirip dengan Grails: MVC dieksekusi dengan baik. Di sisi positif, ia memiliki komunitas yang lebih besar, sehingga sumber daya online (dokumentasi, FAQ, contoh kode, dll) sangat banyak, ada BANYAK plugin, Ruby sedikit lebih fleksibel / ekspresif / "funky", dan itu lebih mudah menemukan hosting (terutama untuk proyek pribadi); di sisi negatif, manajemen dependensi / setup menyebalkan (Saya telah menggunakan RubyGems pada Windows, Ubuntu, Fedora dan OSX dan mengalami masalah non-sepele pada masing-masing), ada sedikit lebih banyak konfigurasi / overhead daripada Grails (khususnya, berurusan dengan route.rb dan banyak file migrasi db), dan tampaknya, RoR memiliki beberapa masalah skalabilitas yang serius.
PHP (termasuk kerangka kerja CakePHP)
Jika saya perlu dengan cepat meretas sesuatu atau membangun situs untuk keperluan pribadi , maka saya mungkin akan menggunakan PHP. PHP adalah bahasa yang paling mudah dipelajari dan digunakan: unduh paket LAMP yang mudah, klik beberapa kali, dan mulailah meretas. Komunitas lebih besar dari RoR, jadi dokumentasi sangat banyak dan ada banyak plugin (mudah "dipasang" dengan hanya memasukkan file php dan menyegarkan halaman). Bahasa ini sederhana untuk dipelajari, tetapi beberapa hal dalam PHP benar-benar aneh dan butuh banyak disiplin untuk menghindari kode jelek. Kerangka kerja CakePHP menegakkan paradigma MVC yang bagus untuk membantu menjaga semuanya tetap teratur, dan sebagian besar setara dengan RoR, meskipun saya pribadi merasa sedikit lebih tidak intuitif.
Java (servlets, JSPs, JSTL, struts, Velocity)
Saya telah membangun banyak situs menggunakan teknologi servlet Java, dan saya dapat dengan jujur mengatakan bahwa tidak ada alasan yang baik untuk memilihnya untuk situs baru mana pun saat ini. Mereka memiliki kurva belajar yang curam, berton-ton konfigurasi yang harus dilawan (XML neraka), iterasi lambat karena kebutuhan untuk memindahkan barang setiap saat (kecuali jika Anda menggunakan JRebel), kode verbose, dan tidak ada "gratis" dalam hal fungsi. Saya telah bermain-main dengan Play! Framework dan Spring Roo sedikit dan keduanya melakukan beberapa hal yang sangat keren dengan lebih atau kurang kode Java "murni" dan layak untuk diteliti lebih lanjut.