18

Tôi đang phát triển một ứng dụng bằng cách sử dụng Ruby on Rails, chủ yếu là một cái cớ để học ngôn ngữ.Các tùy chọn để phân phối ứng dụng Ruby on Rails ngoại tuyến

này không có ý định trở thành một ứng dụng dựa trên web - và có lẽ tôi đã chọn sai ngôn ngữ, nhưng ...

hiểu biết của tôi là, rằng để chạy một thể hiện của ứng dụng này trên người khác là máy tính, họ sẽ cần phải cài đặt ruby ​​trên đường ray, và một máy chủ web (hoặc webrick, có lẽ), cũng như mã ứng dụng của tôi.

Tôi chỉ tò mò nếu có bất kỳ tùy chọn nào khác để phân phối ứng dụng của tôi dưới dạng ứng dụng độc lập hoặc có thể chỉ là một cách đơn giản để đóng gói trình duyệt web và ROR cùng với ứng dụng của tôi để cài đặt một bước đơn giản?

Trả lời

7

Cá nhân tôi không bao giờ cần thiết để thực hiện việc này. Nhưng, tôi đã chạy qua hướng dẫn này http://www.erikveen.dds.nl/distributingrubyapplications/rails.html mà tôi nghĩ rằng sẽ hữu ích. Hướng dẫn bao gồm cách thực sự chuyển đổi ứng dụng đường ray thành tệp exe độc ​​lập.

+0

Điều này trông giống như chính xác những gì tôi cần, với 2 nhược điểm: 1) Không rõ liệu nhấp vào kết quả thực thi có thực sự khởi chạy máy chủ web hay không, nó hoạt động như thế nào 2) có thể đóng gói ứng dụng cho nền tảng chéo. Đó là trường hợp? – Brent

1

Bạn có thể bao gồm Ruby on Rails bằng cách đóng băng phiên bản Rails bạn muốn sử dụng trong dự án của mình. Họ gọi đây là Freezing. Người dùng sẽ không phải cài đặt Rails để sử dụng ứng dụng của bạn. Bạn có thể làm điều này với bất kỳ thư viện nào bạn sử dụng trong dự án của mình. Nếu dự án sử dụng một thư viện, chỉ cần đặt nó trong thư mục Vendor trong dự án của bạn. Sau đó, sử dụng một công cụ tương tự như những gì @Josh trả lời với để gói nó.

Bạn sẽ cần máy chủ web để chạy dự án. Không có cách nào xung quanh chuyện này. Ruby on Rails giống như ASP.NET trong lĩnh vực này, trong đó nó là một khuôn khổ phía máy chủ. Máy chủ chạy mã và xuất HTML tới trình duyệt bằng cách sử dụng khung Rails.

Thật không may, bạn có thể đã chọn khung sai để thực hiện những gì bạn muốn. Thay vì Ruby on Rails, bạn có thể muốn xem Shoes, là một khung công tác để phát triển các ứng dụng GUI bằng Ruby.

3

Lưu ý, Súng cao su dường như là dự án đã chết (xem nhận xét). Tôi sẽ để lại câu trả lời này ở đây cho các mục đích lịch sử và không có cơ hội quay trở lại

Có thể là một đặt cược tốt của Joyent Slingshot.

Súng cao su vui nhộn cho phép nhà phát triển triển khai các ứng dụng Rails như ứng dụng máy tính để bàn chuẩn, hoạt động trực tuyến và ngoại tuyến (có đồng bộ), đã kéo và thả và tương tác với tất cả các ứng dụng máy tính để bàn khác.

Với Joyent Slingshot:

  • Tạo một ứng dụng Web/máy tính để bàn lai
  • Đồng bộ hóa trực tuyến và dữ liệu ẩn
  • Sử dụng cùng mã cho các ứng dụng online và offline (s)
  • Triển khai và cập nhật ứng dụng của bạn dễ dàng
  • Kéo vào và ra khỏi ứng dụng

Dưới đây là một số liên kết hơn nữa để giúp đỡ với đánh giá của bạn và/hoặc để giúp bạn bắt đầu:

+1

Điều này vẫn có sẵn? Tôi không thể tìm thấy nó ở bất cứ đâu. Các liên kết là tất cả các kết thúc chết. – stellard

+0

Tôi có thể xác nhận rằng dự án này dường như đã biến mất. Một chút công bằng của các bài đăng trên blog và wiki dường như vẫn còn, nhưng tôi nghi ngờ mã không còn được duy trì nữa. –

1

Bạn có thể luôn luôn xem xét biên dịch mã byte Ruby sang JVM (thông qua JRuby) hoặc mã byte .NET (qua IronRuby) để phân phối cho những người có các máy ảo đó và không muốn cài đặt thời gian chạy Ruby.

Bạn có thể muốn xem Shoes để tạo ứng dụng dành cho máy tính để bàn trong Ruby. Rails thực sự được điều chỉnh để xây dựng trang web.

0

Bạn không cụ thể nói liệu ứng dụng đó có phải là ứng dụng GUI hay không. Từ những câu trả lời khác, tôi đoán vậy.

Vì vậy, bạn cần phải làm rõ mục tiêu của bạn là gì. RoR là một khung công tác chuyên biệt cho các ứng dụng web. Nếu mục tiêu của bạn là để tìm hiểu RoR, tôi muốn nói để có được cho mình một số lưu trữ web rẻ tiền và làm cho mình một ứng dụng. Nếu mục tiêu của bạn là học Ruby, không nhất thiết là Rails, thì Shoes, IronRuby, JRuby, MacRuby và những người khác có thể là lựa chọn tốt để xem xét.

2

Cách mà hầu hết mọi người gửi các chương trình ruby, bao gồm ứng dụng web Rails, như một exe độc ​​lập là thông qua rubyscript2exe. Chúng mô tả cách đóng gói ứng dụng Rails tại số http://www.erikveen.dds.nl/distributingrubyapplications/rails.html. Ruby, Rails và tất cả các thư viện liên quan sẽ được đưa vào tệp EXE.

Như những người khác đã đề cập, Ruby không nhất thiết là Rails và nếu bạn thực sự muốn một cách dễ dàng để viết một ứng dụng GUI phân phối trong Ruby, Shoes là một nơi tuyệt vời để bắt đầu tìm kiếm.

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