Ruby on Rails so với ASP.NET MVC 3 cho chàng trai .NET? [đóng cửa]


98

Tôi còn rất mới với RoR và tôi muốn chọn giữa APS.NET MVC3 và RoR. C # chắc chắn là dễ dàng hơn đối với tôi vì tôi đã làm nó rất lâu rồi nhưng tôi đang tự hỏi liệu có điểm nào để xem xét việc sử dụng RoR trên .MVC để phát triển một trang web trong thế giới thực không?

Tôi còn nhận được gì khác với RoR mà tôi không thể nhận được với ASP.NET MVC 3 đáng để dành thời gian để thành thạo RoR? Tôi mặc dù plug-in RoR cộng đồng có sẵn sẽ là một lý do nhưng nó có vẻ không được tổ chức và có vẻ như đường cong học tập để làm những điều đúng đắn sẽ quá lớn nên thực tế sẽ không tiết kiệm nhiều thời gian cho người mới! Tôi có thể sai ở đây và tôi thực sự đánh giá cao nhận xét thực tế của bạn về điều này? Xin lưu ý rằng tôi vẫn phải học ASP.NET MVC nhưng điều đó nghe có vẻ nhanh chóng đối với một chàng trai .NET!

RoR có thể cung cấp những gì cho một gã .NET mà WORTH chọn RoR hơn ASP.NET MVC 3? và xin vui lòng cho lời khuyên thiết thực! :)


11
Làm thế nào mà câu hỏi này lạc đề hay không phải là một câu hỏi thực sự? Bất kỳ cách nào, tôi đã thêm advicethẻ vào câu hỏi.
Zabba

1
@zabba, tại sao? Có vẻ như không phải thẻ đối với tôi.
bzlm

1
@bzlm, không phải thẻ là gì?
Zabba

2
@zabba chỉ 95 câu hỏi, không có bản tóm tắt wiki, mục đích không rõ ràng (câu hỏi đòi hỏi "Lời khuyên" thường không thể trả lời, và do đó không được chào đón theo điều lệ tại chỗ), vv :)
bzlm

3
Các bạn lạnh! Làm thế nào là "các giá trị của RoR trên .NET MVC cho nhà phát triển NET là gì?" không phải là một câu hỏi? !!! Không hề bị khóa trên MVC và chỉ đang tự hỏi câu trả lời !!
iCode

Câu trả lời:


71

Cả hai đều tuyệt vời và có thể hoàn thành các mục tiêu giống nhau rất nhanh chóng. Tôi đã sử dụng một cuốn sách tuyệt vời để tìm hiểu một thời gian trở lại và nó sẽ ở ngay đầu ngõ của bạn: Rails for .Net Developers

Ngoài ra, tôi đã viết một bài về việc chuyển từ MVC sang RoR một thời gian nữa.

Đối với việc so sánh, cả hai đều có những điểm mạnh như đã được đề cập, nhưng đây là một vài điểm khiến tôi chú ý:

  • Tôi thực sự thích việc triển khai của RoR và các cách đơn giản để đẩy đến các trang web trực tiếp - không có tập lệnh nào để chạy, chỉ một chút dòng lệnh sẽ giúp bạn bắt đầu và chạy khi mã thực sự được viết. Nếu bạn chọn RoR, HÃY HIỂU CÁC NHẬN XÉT VỀ DÒNG HÀNG - nó sẽ giúp cuộc sống của bạn dễ dàng hơn rất nhiều!

  • Như bạn đã đề cập, các plugin rất tuyệt và thực sự có thể được sử dụng để tăng tốc mọi thứ.

  • Là một nhà phát triển .Net, MVC sẽ rất dễ dàng, tôi khuyên bạn nên sử dụng Razor, vì nó rất đơn giản và ít lộn xộn hơn so với kết xuất không dao cạo 2.0 cũ.

  • EF4 của .Net có thể được so sánh gần như trực tiếp với ActiveRecord của RoR, hệ thống ORM tuyệt vời để xử lý dữ liệu.

  • Tôi nhận thấy rằng tài liệu của .Net nhất quán và kỹ lưỡng hơn một chút.

  • Một vấn đề tôi gặp phải với RoR là những thay đổi nhanh chóng và mạnh mẽ; cách đây không lâu, họ đã nâng cấp lên 3.0 trên máy chủ của tôi và tôi đã không khóa phiên bản của mình - tất cả các loại lỗi cho đến khi tôi tìm ra thứ mới (đáng lẽ tôi nên đóng băng phiên bản của mình).

Nó không phải là một lựa chọn sạch sẽ - cả hai đều tuyệt vời. Vì bạn đã là một nhà phát triển .Net, tôi đoán MVC3 sẽ là cách để đi, nhưng cả hai đều dễ học.


4
Bây giờ ASP.NET MVC là mã nguồn mở, tôi tự hỏi nó sẽ thu hẹp khoảng cách về tính năng với RoR nhanh như thế nào. Bây giờ tôi đang bỏ tiền vào MVC3 để cộng đồng nhà phát triển có khả năng đóng góp vào một sản phẩm vẫn được hỗ trợ đầy đủ bởi các nhóm kỹ sư MS.
Scott

1
Không chắc chắn về RoR. Nếu bạn là người yêu thích .NET với C # MVC và Razor, nhưng bạn thấy MS MVC, WebAPI, WCF, EF hơi cồng kềnh và muốn có một giải pháp được đóng gói chặt chẽ hơn ... bạn có thể thử SS servicestack.net ... Nó miễn phí , mã nguồn mở, cộng đồng rất tích cực hỗ trợ .net và mono, thay thế hoàn toàn các framwork nặng ở trên. Cá nhân tôi trái tim nó rất nhiều :)
Tom

2
Việc lập phiên bản Ruby rất đơn giản và có thể dự đoán được nếu bạn sử dụng Bundler.
Sông Lilith

31

Tôi sử dụng và thích cả hai, và vấn đề với một câu hỏi như thế này là chúng khác nhau đến mức bạn có thể tiếp tục cả ngày về táo và cam, nhưng vì câu hỏi của bạn khá không cụ thể, tôi chỉ nói:

Nếu bạn tự coi mình là "chàng trai .NET", thì bạn nên học một ngôn ngữ hoạt động rất khác với C # và một ngôn ngữ năng động như Ruby không phải là một nơi tồi để bắt đầu. (Một tùy chọn khác sẽ là một ngôn ngữ chức năng như Haskell, Scala, v.v.)

Bạn sẽ trở thành một lập trình viên giỏi hơn sau khi làm, và bạn sẽ không phải tự gọi mình là "một gã .NET" nữa!


3
Tôi đồng ý nhưng mục tiêu của tôi là có một trang web thực sự hoạt động nhanh nhất có thể và mở rộng tầm nhìn không phải là mục tiêu chính của tôi lúc này. Tôi chắc chắn rất coi trọng việc học những điều tuyệt vời mới như Ruby nhưng trọng tâm của tôi lúc này là chọn lựa chọn phù hợp trong thời gian giới hạn mà tôi có. Và tại sao những quả táo và quả cam lại ở nơi mà mục tiêu của họ là trở thành một khung phát triển web?
iCode

3
Bắt một trang web thực sự chạy nhanh chóng sẽ không phải là vấn đề với Rails. Hãy tự làm một việc: Dành một tuần làm việc thông qua hướng dẫn này trước khi bạn quyết định rằng nó sẽ ảnh hưởng đến thời gian tiếp thị của bạn. Chỉ rủi ro là bạn sẽ học được điều gì đó! Lý do khiến chúng "táo và cam" là chúng hoạt động khác nhau, chạy trên các nền tảng khác nhau, v.v. Chúng có kiến ​​trúc MVC chung và rõ ràng có rất nhiều ảnh hưởng - chủ yếu là theo một hướng - nhưng chúng rất những thế giới khác. Nó có thể là một sự khác biệt mở rộng tâm trí.
Craig Stuntz

Tuyệt vời cảm ơn bạn. Tôi sẽ làm như vậy. Bạn vẫn vui lòng bình luận những gì người ta có thể nhận được với Rails có sẵn trong .MVC từ góc độ thực tế cho rằng bạn đã sử dụng cả hai?
iCode

6

Không phải là nhà phát triển RoR ở đây, nhưng tôi làm Django và tôi nghĩ câu hỏi tương tự cũng có thể được đặt ra cho Django. Điều số 1 mà tôi thích Django hơn ASP.NET MVC là Django đã đi kèm với ORM. Điều đó có nghĩa là hầu hết mọi ví dụ mã mà bạn tìm thấy trên web sẽ theo một mẫu tương tự. Với ASP.NET MVC, bạn có thể chọn từ rất nhiều ORM khác nhau, điều này có thể là một điều tốt, nhưng cũng có thể gây nhầm lẫn.

Giống như @Craig đã nói, nó thực sự là táo và cam. Tôi sẽ chọn ASP.NET MVC nếu tôi được yêu cầu triển khai nó trên MS stack và sử dụng Django cho các dự án "cá nhân" hoặc các dự án yêu cầu triển khai trên linux.


3
Chưa bao giờ sử dụng Django trước đây. Tôi là một chàng trai Rails và .NET MVC. Hầu hết mọi hướng dẫn .NET MVC mà tôi đã xem đều giả định rằng bạn đang sử dụng Entity Framework và tài liệu cũng như hướng dẫn trên trang ASP.NET là rất tốt. Để đưa EF vào một dự án MVC, bạn chỉ cần nhập một lệnh vào bảng điều khiển trình quản lý gói NuGet - giống như nhận một viên ngọc với Rails ngoại trừ bạn đang nhận được tham chiếu hợp ngữ .net. IMHO .NET MVC với EF và Code First cùng với AppHarbor để triển khai là những thứ gần nhất bạn có thể đến với môi trường Rails.
PhillipKregg

6

Bạn đề cập trong phản hồi của mình với craig Stuntz rằng bạn muốn có 'lựa chọn phù hợp trong thời gian giới hạn mà bạn có'

Hãy sử dụng mvc3 và chỉ tập trung vào việc học thay vì một ngôn ngữ và khuôn khổ mới cùng một lúc. RoR rất tuyệt, nhưng nó là một ngôn ngữ, khuôn khổ và IDE mới cùng một lúc và rất có thể bạn sẽ không hiểu được ngay lần đầu tiên. Tôi đã không.

Có một số hướng dẫn thực sự tốt trên trang web asp.net sẽ giúp bạn thiết lập và chạy rất nhanh


2
Đó cũng là suy nghĩ của tôi và tôi nghe mọi người đang nói về việc dễ dàng thực hiện mọi thứ trong RoR ngay cả đối với người mới nhưng tôi đang băn khoăn không biết đó là trang web hello world hay trang web sản xuất trong thế giới thực. Tôi biết câu hỏi của mình là phức tạp nhưng có điều gì đó cho tôi biết RoR là một ngôn ngữ, khuôn khổ và IDE mới cùng một lúc như bạn đã đề cập và nó không thể nhanh bằng .MVC nhưng tôi muốn biết .net là gì kinh nghiệm của cộng đồng với điều này? Tôi chủ yếu muốn biết, bên cạnh sự thú vị, điểm của việc chọn RoR thay vì .MVC3 là gì? Cảm ơn
iCode
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.