Ruby on Rails กับ ASP.NET MVC 3 สำหรับ. NET Guy? [ปิด]


98

ฉันยังใหม่กับ RoR และฉันต้องการเลือกระหว่าง APS.NET MVC3 และ RoR C # นั้นง่ายกว่าสำหรับฉันเพราะฉันทำมานานแล้ว แต่ฉันสงสัยว่ามีจุดใดที่ต้องพิจารณาใช้ RoR มากกว่า. MVC เพื่อพัฒนาเว็บไซต์ในโลกแห่งความจริงหรือไม่?

ฉันจะได้อะไรอีกบ้างกับ RoR ที่ฉันไม่สามารถหาได้จาก ASP.NET MVC 3 ที่คุ้มค่ากับการใช้เวลาเพื่อฝึกฝน RoR ฉันแม้ว่าปลั๊กอิน RoR ของชุมชนที่มีอยู่จะเป็นเหตุผลหนึ่ง แต่ดูเหมือนว่าจะไม่ได้รับการจัดระเบียบและดูเหมือนว่าเส้นโค้งการเรียนรู้ในการทำสิ่งที่ถูกต้องจะใหญ่มากจนแทบจะไม่ช่วยประหยัดเวลาสำหรับมือใหม่ได้เลย! ฉันคิดผิดที่นี่และฉันขอขอบคุณสำหรับความคิดเห็นในชีวิตจริงของคุณเกี่ยวกับเรื่องนี้ โปรดทราบว่าฉันยังต้องเรียนรู้ ASP.NET MVC แต่มันฟังดูรวดเร็วสำหรับ. NET Guy!

สิ่งที่จะรอข้อเสนอที่จะเป็นคน NET ที่WORTHยกรอกว่า ASP.NET MVC 3 หรือไม่? และโปรดคำแนะนำที่เป็นประโยชน์! :)


11
คำถามนี้นอกประเด็นหรือไม่ใช่คำถามจริงอย่างไร? อย่างไรก็ตามฉันได้เพิ่มadviceแท็กในคำถามแล้ว
Zabba

1
@zabba ทำไม? ดูเหมือนไม่ใช่แท็กสำหรับฉัน
bzlm

1
@bzlm ไม่ติดแท็กอะไร
Zabba

2
@zabba 95 คำถามเท่านั้นไม่มีสรุปวิกิจุดประสงค์ที่ไม่ชัดเจน (คำถามที่ต้องการ "คำแนะนำ" มักจะไม่สามารถตอบได้และด้วยเหตุนี้จึงไม่ได้รับการต้อนรับตามกฎบัตรของไซต์) ฯลฯ :)
bzlm

3
พวกชิล! "ค่า RoR เหนือ. NET MVC สำหรับ NET dev เป็นอย่างไร" ไม่ใช่คำถาม !!! ไม่ได้ล็อค MVC เลยแค่สงสัยคำตอบ !!
iCode

คำตอบ:


71

พวกเขาทั้งคู่ยอดเยี่ยมและสามารถบรรลุเป้าหมายเดียวกันได้อย่างรวดเร็ว ฉันใช้หนังสือที่ดีในการเรียนรู้สักครู่และมันจะถูกต้องตามตรอกของคุณ: Rails for. Net Developers

นอกจากนี้ฉันยังเขียนโพสต์เกี่ยวกับการเดินทางจาก MVC ไปยัง RoRในขณะที่กลับมาอีกด้วย

สำหรับการเปรียบเทียบพวกเขาทั้งสองมีจุดแข็งตามที่ได้กล่าวมาแล้ว แต่นี่เป็นเพียงบางส่วนที่โดดเด่นสำหรับฉัน:

  • ฉันชอบการปรับใช้ RoR และวิธีง่ายๆในการผลักดันไปยังไซต์ที่ใช้งานจริง - ไม่มีสคริปต์ให้เรียกใช้เลยเพียงเล็กน้อยของบรรทัดคำสั่งก็ควรช่วยให้คุณเริ่มต้นใช้งานได้เมื่อเขียนโค้ดแล้ว หากคุณเลือก RoR ทำความเข้าใจกับ COMMAND LINE COMMANDS - มันจะทำให้ชีวิตของคุณง่ายขึ้นมาก!

  • ดังที่คุณได้กล่าวไว้ปลั๊กอินนั้นยอดเยี่ยมและสามารถใช้เพื่อเร่งความเร็วได้

  • ในฐานะที่เป็น. Net dev MVC จะเป็นเรื่องง่ายฉันขอแนะนำให้ใช้ Razor เนื่องจากมันง่ายมากและรกน้อยกว่าการเรนเดอร์ 2.0 ที่ไม่ใช่มีดโกนแบบเก่า

  • EF4 ของ. Net สามารถเปรียบเทียบได้โดยตรงกับ ActiveRecord ของ RoR ซึ่งเป็นระบบ ORM ที่ยอดเยี่ยมสำหรับการจัดการกับข้อมูล

  • ฉันพบว่าเอกสารของ. Net มีความสอดคล้องและละเอียดถี่ถ้วนกว่าเล็กน้อย

  • ปัญหาหนึ่งที่ฉันพบกับ RoR คือการเปลี่ยนแปลงที่รวดเร็วและรุนแรง เมื่อไม่นานมานี้พวกเขาอัปเกรดเป็น 3.0 บนโฮสต์ของฉันและฉันไม่ได้ล็อกเวอร์ชันของฉัน - ทุกอย่างพังจนกว่าฉันจะหาสิ่งใหม่ ๆ ได้ (ฉันควรจะหยุดเวอร์ชันของฉันไว้)

ไม่ใช่ตัวเลือกการตัดที่สะอาด - ทั้งสองอย่างดีมาก เนื่องจากคุณเป็น. Net dev อยู่แล้วฉันคิดว่า MVC3 น่าจะเป็นหนทางไป แต่ทั้งสองอย่างนั้นเรียนรู้ได้ง่าย


4
ตอนนี้ ASP.NET MVC เป็นโอเพ่นซอร์สแล้วฉันสงสัยว่ามันจะปิดช่องว่างของฟีเจอร์ด้วย RoR ได้เร็วแค่ไหน ตอนนี้ฉันทุ่มเงินให้กับ MVC3 เพื่อให้ชุมชนนักพัฒนาสามารถมีส่วนร่วมในผลิตภัณฑ์ที่ยังคงได้รับการสนับสนุนอย่างเต็มที่จากทีมวิศวกรรม MS
Scott

1
ไม่แน่ใจเกี่ยวกับ RoR หากคุณเป็นคน NET ที่มี C # MVC และ Razor แต่คุณพบว่า MS MVC, WebAPI, WCF, EF ค่อนข้างยุ่งยากและต้องการโซลูชันที่แน่นกว่านี้ ... คุณสามารถลอง SS servicestack.net ... ได้ฟรี , โอเพ่นซอร์ส, ชุมชนที่มีการใช้งานมากรองรับ. net และ mono, การแทนที่เฟรมเวิร์กขนาดใหญ่ข้างต้น ส่วนตัวแล้วชอบมาก :)
ทอม

2
การกำหนดเวอร์ชัน Ruby นั้นง่ายและสามารถคาดเดาได้หากคุณใช้ Bundler อย่างที่คุณควรจะเป็น
Lilith River

31

ฉันใช้และชอบทั้งสองอย่างและปัญหาของคำถามเช่นนี้คือมันแตกต่างกันมากจนคุณสามารถใช้แอปเปิ้ลกับส้มได้ทั้งวัน แต่เนื่องจากคำถามของคุณค่อนข้างไม่เฉพาะเจาะจงฉันจะพูดว่า:

หากคุณคิดว่าตัวเองเป็น ". NET" คุณควรเรียนรู้ภาษาที่ใช้งานได้แตกต่างจากภาษา C # มากและภาษาที่ไม่หยุดนิ่งเช่น Ruby ก็ไม่ใช่จุดเริ่มต้นที่เลวร้าย (อีกทางเลือกหนึ่งคือภาษาที่ใช้งานได้เช่น Haskell, Scala เป็นต้น)

คุณจะเป็นโปรแกรมเมอร์ที่ดีขึ้นหลังจากที่คุณทำและคุณจะไม่ต้องเรียกตัวเองว่า "ผู้ชาย. NET" อีกต่อไป!


3
ฉันเห็นด้วย แต่เป้าหมายของฉันในการมีเว็บไซต์จริงและทำงานได้เร็วที่สุดและการขยายขอบเขตอันไกลโพ้นไม่ใช่เป้าหมายหลักของฉันในตอนนี้ ฉันแน่ใจว่าควรค่าแก่การเรียนรู้สิ่งดีๆใหม่ ๆ เช่น Ruby แต่สิ่งที่ฉันสนใจในตอนนี้คือการเลือกตัวเลือกที่เหมาะสมในเวลา จำกัด แล้วทำไมแอปเปิ้ลและส้มถึงมีเป้าหมายในการเป็นกรอบการพัฒนาเว็บ?
iCode

3
การทำให้ไซต์จริงทำงานได้อย่างรวดเร็วจะไม่เป็นปัญหากับ Rails ทำสิ่งที่ชอบ: ใช้เวลาหนึ่งสัปดาห์ในการทำบทช่วยสอนนี้ก่อนที่คุณจะตัดสินใจว่าจะทำให้เสียเวลาในการทำตลาด ความเสี่ยงเท่านั้นที่คุณจะได้เรียนรู้บางสิ่ง! เหตุผลที่พวกเขาเป็น "แอปเปิ้ลและส้ม" ก็คือพวกมันทำงานแตกต่างกันทำงานบนแพลตฟอร์มที่แตกต่างกัน ฯลฯ พวกเขามีสถาปัตยกรรม MVC เหมือนกันและมีอิทธิพลมากมายอย่างเห็นได้ชัดโดยส่วนใหญ่เป็นไปในทิศทางเดียว แต่พวกมันก็มาก โลกที่แตกต่าง อาจเป็นความแตกต่างที่ขยายความคิด
Craig Stuntz

เยี่ยมมากขอบคุณ ฉันจะทำเช่นนั้น คุณยังช่วยแสดงความคิดเห็นเกี่ยวกับสิ่งที่จะได้รับจาก Rails ซึ่งมีอยู่ใน. MVC จากมุมมองในทางปฏิบัติเนื่องจากคุณได้ใช้ทั้งสองอย่างหรือไม่?
iCode

6

ไม่ใช่ RoR dev ที่นี่ แต่ฉันทำ Django และฉันคิดว่าคำถามเดียวกันนี้อาจถูกถามกับ Django เช่นกัน สิ่งที่ชอบอันดับ 1 ของ Django มากกว่า ASP.NET MVC คือ Django มาพร้อมกับ ORM อยู่แล้ว ซึ่งหมายความว่าตัวอย่างโค้ดส่วนใหญ่ที่คุณพบบนเว็บจะเป็นไปตามรูปแบบที่คล้ายกัน ด้วย ASP.NET MVC คุณสามารถเลือกจาก ORM ต่างๆมากมายซึ่งอาจเป็นสิ่งที่ดี แต่ก็อาจทำให้เกิดความสับสนได้เช่นกัน

เช่นเดียวกับที่ @Craig กล่าวว่าจริงๆแล้วมันคือแอปเปิ้ลกับส้ม ฉันจะเลือก ASP.NET MVC ถ้าฉันจำเป็นต้องปรับใช้บน MS stack และใช้ Django สำหรับโปรเจ็กต์หรือโปรเจ็กต์ "ส่วนบุคคล" ที่จำเป็นต้องปรับใช้บน linux


3
ไม่เคยใช้ Django มาก่อน ฉันเป็น Rails และ. NET MVC เกือบทุกบทช่วยสอน. NET MVC ที่ฉันได้เห็นจะถือว่าคุณกำลังใช้ Entity Framework และเอกสารประกอบและแบบฝึกหัดบนไซต์ ASP.NET นั้นดีมาก ในการรวม EF ในโปรเจ็กต์ MVC คุณเพียงแค่พิมพ์คำสั่งลงในคอนโซลตัวจัดการแพ็คเกจ NuGet เช่นเดียวกับการรับอัญมณีด้วย Rails ยกเว้นคุณจะได้รับการอ้างอิงการประกอบ. net IMHO .NET MVC พร้อม EF และ Code First พร้อมกับ AppHarbor สำหรับการปรับใช้นั้นใกล้เคียงที่สุดที่คุณจะได้รับจากสภาพแวดล้อม Rails
PhillipKregg

6

คุณพูดถึงการตอบสนองของคุณต่อ Craig Stuntz ว่าคุณต้องการ 'ตัวเลือกที่เหมาะสมสำหรับเวลาที่ จำกัด ที่คุณมี'

ไปกับ mvc3 และมุ่งเน้นไปที่การเรียนรู้ในสิ่งนั้นแทนที่จะเป็นภาษาและกรอบงานใหม่ RoR นั้นยอดเยี่ยม แต่เป็นภาษาเฟรมเวิร์กและ IDE ใหม่พร้อมกันและโอกาสที่คุณจะไม่เข้าใจในครั้งแรก ฉันไม่ได้

มีบทเรียนที่ดีมากบนเว็บไซต์ asp.netที่จะช่วยให้คุณเริ่มต้นใช้งานได้อย่างรวดเร็ว


2
นั่นเป็นความคิดของฉันเช่นกัน แต่ฉันได้ยินคนพูดถึงว่าการทำสิ่งต่างๆใน RoR นั้นง่ายแค่ไหนแม้กระทั่งสำหรับมือใหม่ แต่ฉันก็สงสัยว่านั่นเป็นของเว็บไซต์ hello world หรือเว็บไซต์การผลิตในโลกแห่งความเป็นจริง ฉันรู้ว่าคำถามของฉันเป็นเรื่องยุ่งยาก แต่มีบางอย่างบอกฉันว่า RoR เป็นภาษาเฟรมเวิร์กและ IDE ใหม่พร้อมกันตามที่คุณกล่าวมาและไม่สามารถทำได้เร็วเท่ากับการสร้างผลิตภัณฑ์การผลิตด้วย. MVC แต่ฉันอยากรู้ว่า. net คืออะไร ประสบการณ์ของชุมชนกับสิ่งนี้? ส่วนใหญ่อยากรู้ว่านอกจากความสนุกแล้วการเลือก RoR กับ. MVC3 คืออะไร? ขอบคุณ
iCode
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.