Saya sedang mempertimbangkan untuk menggunakan Grails untuk situs web baru, tetapi saya terbuka untuk bahasa dan kerangka kerja pemrograman lain / baru. Saya telah melakukan pengembangan menggunakan J2EE / JSF2, ASP.NET, dan PHP. Apakah Grails atau Ruby on Rails merupakan cara terbaik untuk mengaktifkan dan menjalankan fungsi dengan cepat?
Beberapa pemikiran awal:
- DJango terlihat mirip dengan RoR / Grails dan saya akan mempertimbangkannya
- GWT adalah konsep yang menarik tetapi sepertinya waktu penyelesaiannya tidak secepat itu
Terima kasih, Jon
programming-languages
frameworks
web-framework
Jon Onstott
sumber
sumber
Jawaban:
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.
sumber
Saat menggunakan CakePHP, saya dapat memutar aplikasi web lebih cepat dari ... ... pria yang sangat cepat. Bagaimanapun, ini cepat. Letakkan file di folder root web Anda, konfigurasikan dua file (masing-masing sekitar tiga baris untuk diubah). Dan mulai coding.
Karena lebih menyukai konvensi daripada konfigurasi, perlu beberapa pengalaman untuk memastikan konfigurasi itu optimal, tetapi saya jamin dengan tingkat pengalaman yang sama, CakePHP menampilkan penggunaan paling cepat dari kerangka apa pun, mungkin secara berkala .
Yang mengatakan, proyek CakePHP asli adalah klon PHP dari rails (tidak lagi), jadi saya yakin rails cepat untuk digunakan juga.
sumber
Saya telah bekerja dengan kerangka ASP.NET MVC untuk beberapa waktu sekarang, dan saya telah menemukan itu menjadi kerangka kerja yang sangat sangat bagus. Sangat mudah digunakan, terutama jika Anda terbiasa dengan .NET. Kerangka kerja ini telah berkembang pesat sejak dirilis pada tahun 2009, preview MVC 3 telah dirilis ke publik baru-baru ini. Saya pikir MS melakukan semua hal yang benar dengan kerangka kerja ASP.NET MVC.
sumber
Saya belum pernah menggunakan semuanya, tapi Rails sangat cepat. Saya berharap Grails juga seperti itu mewujudkan filosofi KERING dengan cukup baik. Saya tidak cukup tahu tentang kerangka kerja bahasa dinamis lainnya untuk dikatakan.
Bahkan dengan strategi pembuatan kode yang baik, ASP.NET (webforms) saya sepertinya tidak efisien.
sumber
Saya telah mencoba-coba Django dan Rails dan menemukan Rails sesuai dengan keinginan saya. Yang sedang berkata, saya lebih suka ASP.Net MVC 2 jauh lebih baik daripada Rails. Saya jauh lebih cepat di MVC (atau bahkan hanya formulir web) daripada Rails hanya karena pikiran saya "bekerja lebih baik" dengan C #.
Bagi saya itu tergantung pada apa yang Anda ketahui dan apa yang Anda nikmati. Saya telah mendengar dari banyak orang bahwa Ruby itu menyenangkan, bukan bagi saya itu bukan. C # menyenangkan! Haskell menyenangkan! Jika Anda tidak menikmati bahasa / kerangka kerja maka Anda tidak akan secepat kerangka kerja "lambat" yang Anda nikmati.
sumber