2010-01-21 26 views
6

Tôi rất mới để lập trình web (hoặc thực sự, rất cũ với nó, kể từ lần cuối cùng tôi rối tung với web là HTML 1.1), nhưng bây giờ cần phải triển khai một ứng dụng web một cách nhanh chóng. Dường như mỗi lần tôi quay lại, có các từ viết tắt và công nghệ mới để tìm hiểu (JSON, XMLRPC, GWT, Javascript, Rails, v.v.).Tôi có nên sử dụng Rails hoặc Ruby cho ứng dụng trang web này không? Làm sao?

Đây là những gì ứng dụng của tôi phải làm:

  1. Với một tên người dùng và mật khẩu, xác thực (đủ dễ dàng, tất cả mọi thứ nào đó, rõ ràng).
  2. Cho phép người dùng tải lên một lượng lớn dữ liệu để xử lý.
  3. Xử lý dữ liệu đó.
  4. Cho phép người dùng tải xuống dữ liệu đã xử lý của họ.

Tôi đã có các tập lệnh Java và cơ sở dữ liệu để xử lý dữ liệu. Trên một máy, tôi có thể chạy một loạt các chương trình dòng lệnh để xử lý một datablock đến và đưa các kết quả trở lại vào một cơ sở dữ liệu mysql. Điều đó đã có mặt và đang hoạt động.

Tôi muốn xây dựng giao diện web cho tác vụ này, sử dụng các phương pháp hiện có và thử nghiệm này. Tôi hiện đang nghiêng về phương pháp này:

  1. Có hai máy, máy cơ sở dữ liệu và máy chủ web. Cách tiếp cận đó cho phép khả năng mở rộng sau này, nếu cần thiết, nhưng cũng yêu cầu tôi không thể giả định rằng các chương trình mà tôi sử dụng để truy cập dữ liệu và thao tác nó được lưu trữ cục bộ.
  2. Sử dụng ứng dụng Ruby DRb để tạo máy chủ và ứng dụng khách. Máy khách sẽ chuyển dữ liệu đến máy chủ mà lần lượt sẽ gọi các ứng dụng này.
  3. Sử dụng một số giao diện Ruby khác để tương tác với DRb cho giao diện web.

Đây là vấn đề của tôi: có vẻ như hầu hết các ứng dụng Ruby dành cho web đều tự động thử xây dựng một số loại cơ sở dữ liệu cục bộ. Tất cả các Rails tutorials Tôi đã tìm thấy bắt đầu với làm cho cơ sở dữ liệu của riêng bạn và tương tác với điều đó, đó là chính xác những gì tôi không muốn làm.

Rails là công nghệ phù hợp với tôi hay sử dụng Ruby DRb? Có công nghệ nào khác mà tôi nên khám phá không?

Nếu Rails hoặc Ruby là điều đúng ở đây, tôi nên xem xét điều gì? Tôi đã có cuốn sách Programming Ruby, và đã sử dụng cho một số công cụ phụ trợ cũng như nhận được công cụ DRB cơ bản làm việc.

Trả lời

16

Âm thanh như Rails có thể hơi nặng đối với trường hợp của bạn. Có lẽ Sinatra có thể phù hợp hơn? Đó là một khung siêu nhẹ: ứng dụng hello world có thể trông giống như sau:

require 'sinatra' 
get '/' do 
    "Hello World!" 
end 
+0

Wow, Sinatra trông hoàn toàn tuyệt vời! Tôi đã có một chương trình chín dòng gọi một chương trình từ xa thông qua drb và gửi kết quả đến một trang web. – mmr

+0

@mmr Nó khá tuyệt. Hãy chắc chắn để đọc cuốn sách! (http://www.sinatrarb.com/book.html) –

1

Rails là tốt. Bạn có thể có cơ sở dữ liệu phát triển và thử nghiệm trên máy cục bộ của bạn và cơ sở dữ liệu sản xuất trên một máy từ xa. Nó không phải là máy chủ web. Nhận một bản sao của Agile Web Development with Rails. Nó sẽ dạy cho bạn tất cả những gì bạn cần biết.

+0

Đường ray là tốt, mặc dù tôi không muốn sử dụng bất kỳ chức năng cơ sở dữ liệu nào của Rails? Rails là gì, sau đó, nếu dữ liệu không được lưu trữ trong cơ sở dữ liệu? – mmr

+0

Rails là một khung được xây dựng xung quanh mô hình kiến ​​trúc Model-View-Controller, nhưng phần mô hình là rất nhiều pluggable.ORM mà Rails sử dụng làm lớp mô hình, ActiveRecord, có thể bị tắt hoàn toàn, để lại cho bạn chỉ với các bộ điều khiển và khung nhìn. Những gì bạn sử dụng để lưu trữ dữ liệu sau đó, tùy thuộc vào bạn. –

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