2009-06-02 34 views
10

Có cách nào khác ngoài Giày để phát triển và phân phối các ứng dụng GUI trên nền tảng chéo được viết bằng Ruby không?Phân phối các ứng dụng máy tính để bàn Ruby/Python

Tôi đến để tin rằng lỗi chung của các ứng dụng của _why là đặc biệt làm tê liệt trong trường hợp giày, và bất cứ điều gì phức tạp hơn so với một hình thức hai nút là một nỗi đau để duy trì.

RubyGTK, wxRuby, v.v. dường như hứa hẹn, nhưng chúng không giải quyết được vấn đề phân phối ứng dụng theo cách không yêu cầu Ruby cài đặt sẵn trên máy tính của người dùng - và các thư viện như ruby2exe có vẻ khủng khiếp lỗi thời và không đầy đủ.

Nói chung - mốt hiện tại là gì?

BTW: nếu có một giải pháp thực sự dễ dàng với điều này trong Python, tôi có thể xem xét làm lại nội dung tôi đang cập nhật bằng Python.

+0

@ Bluebird75 tại sao bạn xóa thẻ Python? Hầu hết các câu trả lời đều liên quan đến python. –

+0

@dex Rollback'd. – apostlion

Trả lời

11

Tôi không biết về ruby2exe, nhưng py2exe hoạt động tốt. Ngay cả với librairies như wxWidgets. Chỉnh sửa: bạn thậm chí không phải yêu cầu người dùng cài đặt wxWidgets, nó đi kèm với ứng dụng (cùng với py2app)

Tôi sử dụng nó cho dự án rất nhỏ của tôi here.

Đối với đám đông Mac, py2app cũng hoạt động tốt với wxWidgets.

+1

Vâng, tôi đã không sử dụng py2app, nhưng py2exe là tuyệt vời. – Pesto

+0

Đã không thực sự chạm vào nó như là một nhà phát triển, nhưng sử dụng các ứng dụng gói py2exe nhiều lần, và việc cài đặt/sử dụng/gỡ bỏ cài đặt kinh nghiệm là khá liền mạch. – apostlion

+0

Tôi cũng sử dụng py2exe + wxPython. Các tài liệu py2exe không phải là tốt nhất nhưng tôi đã luôn luôn có nó để làm những gì tôi muốn. – FogleBird

2

Trạng thái công việc khá tệ. Phương pháp đáng tin cậy nhất hiện nay có lẽ là sử dụng JRuby. Tôi biết đó có lẽ không phải là câu trả lời bạn muốn nghe, nhưng, như bạn nói, ruby2exe không đáng tin cậy, và Giày là một chặng đường dài (và thậm chí không có ý định trở thành ứng dụng toàn diện). Cá nhân, tôi không thích buộc người dùng cài đặt GTK hoặc Qt hoặc wxWidgets, nhưng JVM khá phổ biến.

+1

Đó thực sự không chính xác là loại câu trả lời tôi muốn nghe, nhưng tôi không có nhiều lựa chọn, và trong số đó JRuby là xa là tồi tệ nhất. – apostlion

6

Tôi không biết về Ruby, nhưng tiêu chuẩn cho Python là py2exe để tạo Windows nhị phân. Đối với tôi, biểu mẫu chéo pyinstaller đã hoạt động tốt, một lần. Đối với GUI của bạn, TkInter là tiêu chuẩn. Rất nhiều người thích wxPython. Tất cả những thứ đó đều được phát triển khá tích cực. Tôi đề nghị chơi một chút xung quanh với các tùy chọn này để quyết định xem Python là sự lựa chọn tốt hơn.

1

Tùy thuộc vào mức độ phát triển của bạn, Shoes là khá tốt. Về cơ bản nó là Ruby Distribution của riêng nó. Nó có thể là một chút ẩn (trong menu tệp), nhưng nó cho phép bạn đóng gói ứng dụng của bạn cho tất cả 3 nền tảng mà không có màn hình khởi động giày đó.

Công cụ hiển thị đằng sau nó là Cairo.

+2

Phẩm chất đóng gói của Giày dép thực sự khá tốt. Tuy nhiên, khung chính nó là xa lý tưởng - bắt đầu làm việc với IO/hệ thống tập tin rất nhiều, và bạn sẽ thấy những gì tôi có ý nghĩa. – apostlion

+2

Tôi hoàn toàn đề cập đến việc đóng gói, nhờ làm rõ. – Skade

8

Đối với Ruby, One-Click Ruby Application Builder (OCRA) đang nổi lên là người kế thừa RubyScript2Exe.

Ocra hoạt động với cả Ruby 1.8.6 và 1.9.1 và với wxRuby. Hỗ trợ nén LZMA cho các tập tin thực thi tương đối nhỏ gọn.

+0

Cảm ơn bạn đã đề xuất! – apostlion

+1

chỉ định dạng .exe, thay vì x-platform. Ít nhất bạn có thể phụ thuộc vào Ruby/Python đang được cài đặt trên máy Mac, nhưng bạn vẫn cần đóng gói ứng dụng của bạn như một gói để nó được nhận diện. – JulesLt

-2

Tôi đã đọc về (nhưng không được sử dụng) Wilson của Seattlerb, mô tả chính nó như là một bộ hợp x86 thuần túy, nhưng nó không có vẻ như là nền tảng chéo hay GUI.

0

Tôi không nghĩ rằng có ai thực sự trả lời câu hỏi của anh ấy.

Đối với tôi, tôi sử dụng VB để thực hiện các cuộc gọi Shell() tới Ocra đã biên dịch tập lệnh Ruby. Nó hoạt động khá tốt và cho phép tôi tạo các ứng dụng chạy trong tất cả các hệ điều hành hiện đại.

Thử nghiệm Linux được thực hiện bằng cách sử dụng Wine để chạy và đảm bảo rằng tôi sử dụng phiên bản .NET trước của .NET để biên dịch .exe.

+0

Tôi không thực sự tuân theo câu cuối cùng - tức là tại sao Wine lại tham gia chứ không phải là việc thực thi bản địa thẳng trên Linux? Có thực sự cần thiết? – JulesLt

+0

Đó là từ 6 năm đi nhưng yea nó không có ý nghĩa với tôi quá ... –

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