2010-02-17 26 views
10

Lurker thời gian dài, áp phích lần đầu. Tôi là một hacker tự học đã học Ruby on Rails để bắt đầu. Tại nơi làm việc, tôi đã được phép làm việc trên một ứng dụng web - điều duy nhất là tôi phải sử dụng ASP.NET. Lựa chọn công nghệ này là bắt buộc, nhiều như tôi muốn sử dụng Rails.ASP.NET MVC dành cho các nhà phát triển Ruby on Rails?

Có hàng tá cuốn sách và bài đăng trên blog "Rails for .NET/PHP/Java Developers" nhưng tôi không tìm thấy bất kỳ hướng nào ngược lại, từ Rails đến .NET.

Ai đó có thể cho tôi biết tổng quan về cách ứng dụng Rails điển hình dịch sang ASP.NET MVC? Tôi sẽ nghiên cứu các chi tiết của IDE, C#/VBScript, vv Tuy nhiên, các khoản tương đương có thể là gì:

  • phát
  • Gems/Plugins
  • Cơ sở dữ liệu
  • Migrations
  • đường
  • Mô hình (ORMs)
  • Bộ điều khiển (Thừa kế tài nguyên)
  • Chế độ xem (bố cục, mẫu, p artials)
  • Rails Bảng điều khiển
  • đơn vị thử nghiệm/Specs
  • , vv bất cứ điều gì khác tôi quên

tôi giả rất nhiều các niceties Rails tôi đưa cho các cấp như phương pháp helper tuyến đường có trụ sở, và các khai báo kết hợp macro đơn giản sẽ không thể thực hiện được. :(

Cảm ơn bạn rất nhiều!

+0

Khi bạn giả định, bạn thực hiện, vv Máy phát điện, đá quý và di cư là không có - tất cả mọi thứ khác mà bạn đề cập là trong ASP.NET MVC. :) – bzlm

+2

Điều đó nghe có vẻ đầy hứa hẹn - bạn có thể đặt tên cho chúng không? Giống như, Rails Console tương đương như thế nào? –

+0

SQL Management Studio, Máy chủ Explorer hoặc LinqPad. LinqPad có lẽ là thân thiện nhất cho bạn nếu bạn không vào SQL – jfar

Trả lời

0

Bạn nên tải Visual Studio 2008 Express, và tải ASP.NET MVC 1.0 (tôi sẽ không tải về ASP.NET MVC 2.0 nhưng vì nó chỉ trong RC. Chờ cho đến khi nó chạm 2,0 cuối cùng).

Bạn cũng có thể kiểm tra Nerddinner walkthrough. Nó rất hữu ích khi học ASP.NET MVC.

  • phát

Bạn có nghĩa là trình tạo mã không? Ew.

  • Gems/Plugins

Nếu bạn muốn chức năng, bạn có thể xây dựng nó hoặc xem một plugin JQuery tồn tại cho nó.

  • Cơ sở dữ liệu

Cơ sở dữ liệu được truy cập thông qua mô hình của bạn.

  • Migrations

?

  • đường

Routing được xử lý bởi khuôn khổ, và bạn có thể thêm các tuyến đường trong file Global.asax.cs.

  • Models (ORMs)

Mô hình được thực sự vẫn gọi là 'mô hình', và trong ASP.NET MVC, nếu bạn sử dụng LINQ-To-SQL, mô hình được tạo ra cho bạn khi bạn kéo các bảng cơ sở dữ liệu của bạn. Bạn có thể sử dụng mẫu Repository để truy cập vào mô hình cơ sở dữ liệu.

  • Controllers (InheritedResources)

Bộ xử lý vẫn được gọi là bộ điều khiển.

  • xem (bố trí, các mẫu, partials)

Có nhiều loại khác nhau của Xem Engines, nhưng một trong những cung cấp với ASP.NET MVC nên làm tốt lúc đầu.

  • Rails Bảng điều khiển

Tôi đoán bạn có nghĩa là IDE/Debugger? Bạn có thể xây dựng và gỡ lỗi một ứng dụng ASP.NET MVC bên trong Visual Studio.

  • Kiểm tra đơn vị/Specs

Bạn có thể sử dụng NUnit, hoặc bạn có thể sử dụng MSUnit. MSUnit đã được tích hợp với Visual Studio, nhưng NUnit có thể được.

+1

@George Tôi không đồng ý về ASP.NET MVC 1.0 so với 2.0. ASP.NET 2.0 là trưởng thành hơn 1.0, và bao gồm các tính năng mà ai đó đến từ một nền Rails sẽ tìm thấy một sự cải tiến để không phải tái phát minh, chẳng hạn như khu vực và xác nhận. ASP.NET MVC 2.0 có giấy phép Go-Live, mà làm cho nó một cược rất an toàn. – bzlm

+0

@bzlm, Ok; nhưng MVC 2 không có lỗi mà sẽ làm cho bạn phát điên. Tôi xử lý một đêm khác. http://aspnet.codeplex.com/WorkItem/List.aspx –

+0

Lỗi nào vậy? Vì không ai sử dụng vấn đề bỏ phiếu trên Codeplex, và nhiều vấn đề thực sự không phải là vấn đề, thật khó để nói từ việc chỉ nhìn vào danh sách. – bzlm

8

Tôi nghĩ những gì bạn sẽ tìm thấy trong thế giới .Net là bạn có rất nhiều lựa chọn để thực hiện. Rails là tốt đẹp bởi vì nó cung cấp tất cả các công cụ đó ở một nơi, nhưng phát triển cho. Net bạn sẽ phải mảnh với nhau một giải pháp của riêng bạn.

  • Máy phát điện - Có nhiều cơ sở tạo mã khác nhau, nhưng mỗi cơ sở lại có một phần khác nhau. Ví dụ, bạn có thể nhận MyGeneration sẽ tạo mã dựa trên cơ sở dữ liệu.
  • Đá quý/Plugins - Không có hệ thống hợp nhất cho việc này; Các thành phần có thể được tìm thấy trên web và bạn sẽ tải xuống nguồn hoặc .dll, sau đó bạn sẽ thêm một tham chiếu trong dự án của bạn vào assembly (.dll).
  • Cơ sở dữ liệu - bạn có thể kết nối với mọi thứ; Có thể bạn sẽ tìm thấy hướng dẫn nhất cho MS SQL Server.
  • Di chuyển - Tôi không biết phương thức trực tiếp nào trong thế giới .net; Tôi thường viết mã SQL trong SQL và chạy các kịch bản lệnh trên máy chủ theo cách thủ công như là một phần của việc triển khai.
  • Tuyến đường - ASP.Net MVC bao gồm các tuyến đường, hãy tìm trong tệp global.asax.cs được tạo khi bạn tạo dự án chẳng hạn.
  • Mô hình (ORMs) - ORM cho .Net đều ở mọi nơi. Bao gồm như là một phần của. Net là những thứ như Linq-to-sql và Entity Framework. Bên ngoài MS bạn có thể tìm thấy nhiều, nhưng tôi có thể khuyên bạn nên NHibernate.
  • Bộ điều khiển - Được tích hợp vào .Net MVC; Bạn có thể viết mã.
  • Lượt xem - Được tích hợp vào .Net MVC; Một lần nữa bạn có thể viết chúng. MasterPages cho phép bạn có cùng một bố trí chung trên tất cả các trang của bạn (bao gồm cả đầu trang/chân trang thông thường, v.v.), Điều khiển Web (tệp .ascx) cho phép bạn thực hiện một phần xem.
  • Rails Console - Tôi không biết chính xác điều này cung cấp gì (Tôi là một nhà phát triển .net quan tâm đến việc học Rails nhưng chưa dành nhiều thời gian); Visual Studio cho phép bạn gỡ lỗi các ứng dụng, bước qua mã, vv Tôi không nghĩ có bất kỳ bàn giao tiếp nào có sẵn để kiểm tra mã bên ngoài chỉ viết mã, biên dịch và chạy nó.
  • Đơn vị/thông số thử nghiệm - Có một vài khung kiểm tra cho .Net (MS có khung công tác bao gồm, NUnit là một thay thế). Đối với thông số kỹ thuật và như vậy, có lẽ google xung quanh cho Behavior Driven Design và xem những gì tồn tại.
+0

Cảm ơn, Chris, điều này rất hữu ích. RE: Rails Console - nó rất tuyệt. Đây có thể là một khả năng của một ngôn ngữ kịch bản dịch động. Đây là ví dụ điển hình: http://railscasts.com/episodes/48-console-tricks –

+0

@Chris Shaffer "Bảng điều khiển để kiểm tra mã". <- Đó là những khuôn khổ Unit Testing như MSUnit và NUnit. –

+0

@ ASP.NET - nhờ liên kết, trông rất hữu ích. Visual Studio cung cấp một số thông tin có sẵn trong giao diện điều khiển Rails (ví dụ, Intellisense sẽ bật lên để tự động hoàn thành, bạn có thể điều hướng đến các lớp và để xem những gì có sẵn, v.v. Thật không may là bạn thực sự không thể tương tác với mã của mình theo cùng một cách Trong khi gỡ lỗi, bạn có thể thiết lập một điểm ngắt và sau đó tương tác trong giao diện điều khiển ngay lập tức của VS, tuy nhiên có giới hạn nhất định đối với những gì bạn có thể thực hiện ở đây –

5

Có một vài cổng di chuyển RoR .NET. Tôi đã sử dụng migratordotnetFluentMigrator. Cả hai đều hoạt động như mong đợi nhưng tôi thích FluentMigrator hơn. Nó đầy đủ tính năng hơn (ví dụ: có thể tạo chỉ mục) và tôi thích kiểu thông thạo.

+1

Thật lạ lùng khi tôi nhận được một lời giới thiệu cho điều này. Bất cứ ai quan tâm để giải thích? Fluentmigrator là cách để đi nếu bạn muốn di chuyển cơ sở dữ liệu kiểu Ruby. –

Các vấn đề liên quan