เช่นเดียวกับคำถามทั้งหมดของประเภทนี้คำตอบคือ "มันขึ้นอยู่กับ" ปัจจัยที่ต้องพิจารณารวมถึงความสะดวกสบายของคุณด้วยภาษา / กรอบงานและคุณลักษณะของโครงการที่ต้องการ ต้องบอกว่าฉันได้สร้างเว็บไซต์โดยใช้กรอบจำนวนหนึ่งแต่ละจุดมีจุดแข็งและจุดอ่อนของตัวเอง:
Grails
ถ้าฉันต้องการทำให้ไซต์เป็นมืออาชีพอย่างรวดเร็วGrails อาจเป็นตัวเลือกแรกของฉัน GORMอยู่ไกลและห่างจาก ORM ที่ง่ายที่สุดและใช้งานง่ายที่สุดที่ฉันได้ลองใช้กระบวนทัศน์ MVC นั้นทำงานได้ดีมากมีการกำหนดค่า 0 รายการเพื่อเริ่มการเข้ารหัส (ไม่ต้องกังวลเกี่ยวกับ URL, แพทช์ DB, อะไรก็ได้) หน้า) การรวม Java อย่างราบรื่น (สิ่งที่ดีในโลกธุรกิจ) และปลั๊กอินที่ยอดเยี่ยม (เช่นSearchableเป็นเรื่องของความงาม) ข้อเสียที่ใหญ่ที่สุดคือโฮสติ้งอาจหายาก (และแพง)
ทับทิมบนราง
ประสบการณ์ของฉันกับ RoR นั้นคล้ายกับของ Grails: MVC ทำงานได้ดี ในแง่บวกมันมีชุมชนที่ใหญ่กว่าดังนั้นแหล่งข้อมูลออนไลน์ (เอกสาร, คำถามที่พบบ่อย, ตัวอย่างโค้ด, ฯลฯ ) มีความอุดมสมบูรณ์มากมีปลั๊กอินมากมาย TONS, Ruby มีความยืดหยุ่น / แสดงออก / "ขี้ขลาด" เล็กน้อย ง่ายต่อการค้นหาโฮสติ้ง (โดยเฉพาะสำหรับโครงการส่วนตัว); ในด้านลบการจัดการการพึ่งพา / ติดตั้งครับ (ผมเคยใช้ RubyGems บน Windows, Ubuntu, Fedora และ OSX และวิ่งเข้าไปในปัญหาที่ไม่น่ารำคาญในแต่ละ) มีเล็กน้อยการกำหนดค่าอื่น ๆ / ค่าใช้จ่ายกว่า Grails (โดยเฉพาะอย่างยิ่ง การจัดการกับ route.rb และตันของการย้ายไฟล์ db) และเห็นได้ชัดว่า RoR มีปัญหาการปรับขนาดที่ร้ายแรงบางอย่าง
PHP (รวมถึงกรอบ CakePHP)
หากฉันต้องการแฮ็คข้อมูลอย่างรวดเร็วหรือสร้างเว็บไซต์เพื่อการใช้งานส่วนตัวฉันอาจจะใช้ PHP PHP เป็นภาษาที่ง่ายที่สุดในการเรียนรู้และปรับใช้: ดาวน์โหลดแพ็คเกจ LAMP ที่แสนสะดวกคลิกที่นี่สองครั้งแล้วเริ่มแฮ็ค ชุมชนนั้นใหญ่กว่าของ RoR ดังนั้นเอกสารประกอบมีมากมายและมีปลั๊กอินมากมาย ("ติดตั้ง" ได้อย่างง่ายดายโดยเพียงแค่วางไฟล์ php และรีเฟรชหน้า) ภาษานั้นง่ายต่อการเรียนรู้ แต่บางสิ่งใน PHP นั้นค่อนข้างแปลกและใช้วินัยจำนวนมากในการหลีกเลี่ยงโค้ดที่น่าเกลียด กรอบ CakePHP บังคับใช้กระบวนทัศน์ MVC ที่ดีที่จะช่วยให้สิ่งต่าง ๆ เป็นระเบียบและส่วนใหญ่อยู่ในระดับเดียวกับ RoR แม้ว่าฉันเองจะพบว่ามันใช้งานง่ายขึ้นเล็กน้อย
Java (servlets, JSPs, JSTL, struts, Velocity)
ฉันได้สร้างเว็บไซต์จำนวนมากโดยใช้เทคโนโลยี Java servlet และฉันสามารถพูดได้อย่างตรงไปตรงมาว่าไม่มีเหตุผลที่ดีที่จะเลือกพวกเขาสำหรับเว็บไซต์ใหม่ทุกวันนี้ พวกเขามีเส้นโค้งการเรียนรู้ที่สูงชันการตั้งค่าจำนวนมากเพื่อต่อสู้กับ (XML Hell) การวนซ้ำช้าเนื่องจากต้องมีการสับเปลี่ยนสิ่งของตลอดเวลา (เว้นแต่คุณจะใช้ JRebel) รหัส verbose และไม่มี "freebies" ฉันได้เล่นกับPlay! FrameworkและSpring Rooนิดหน่อยและทั้งคู่กำลังทำอะไรเจ๋ง ๆ ด้วยโค้ด Java "บริสุทธิ์" ที่มากหรือน้อยและคุ้มค่าที่จะดูต่อไป