10

Có ai biết về một khung phát triển phần mềm tốt hay tương tự có các thuộc tính sau đây không?Có bất kỳ khung thanh công cụ chạy trên nền tảng USB, không cài đặt, nền tảng chéo nào (với GUI) không?

  • Nền tảng chéo: nên chạy trên XP, Vista, OSX và các phiên bản phổ biến của Linux (như Ubuntu và Kubuntu).
  • Không cài đặt: Có thể chạy phần mềm từ thanh USB mà không phải sao chép bất kỳ thứ gì vào máy chủ.
  • Hỗ trợ GUI tốt (đây là lý do tại sao this question không đưa ra câu trả lời phù hợp, theo như tôi có thể biết).
  • Cấp phép cho phép như LGPL hoặc BSD hoặc tương tự.

Trong số các yêu cầu nhẹ nhàng hơn có tập hợp trừu tượng cho chức năng phụ trợ phổ biến nhất, chẳng hạn như ổ cắm, tệp IO, v.v. (Thường có một số thích ứng nền tảng cần thiết) và hỗ trợ ngôn ngữ tốt như Python hoặc C++, mặc dù nó thường là thú vị để tìm hiểu một cái mới (tức là không phải perl). Tôi nghĩ các ứng viên có thể là Qt 4.5 hoặc cao hơn (nhưng phần mềm IFAIK Qt sẽ không chạy trên Vista mà không cần cài đặt (?)), Một số wxWidgets hoặc có thể là giải pháp wxPython, có lẽ là gtkmm. Các ví dụ tôi đã tìm thấy đã thất bại trên một hoặc một trong các yêu cầu. Điều này không có nghĩa là không có ví dụ như vậy tồn tại, nó chỉ có nghĩa là tôi đã không tìm thấy bất kỳ ví dụ nào. Vì vậy, tôi đã tự hỏi nếu có ai biết có bất kỳ giải pháp hiện có cho điều này?

Một số làm rõ;

  • Bằng "khung", tôi có nghĩa là một cái gì đó như Qt hoặc gtkmm hoặc python với gói tiện ích.
  • Đây là về việc có thể chạy thành phẩm trên nhiều nền tảng, từ một thanh, mà không cần cài đặt, nó không phải là về việc có một môi trường phát triển di động.
  • Nó không phải là một thanh khởi động.
  • Bạn có thể xây dựng phần mềm đặc biệt cho các mục tiêu khác nhau, nếu cần.

Các trường hợp sử dụng tôi nhìn thấy là bạn có một số phần mềm mà bạn dựa vào (như quy hoạch dự án, quản lý thông tin, các công cụ phân tích hoặc tương tự) rằng:

  • không dựa vào việc có kết nối internet.
  • được chạy trên các máy chủ lưu trữ khác nhau, nơi không thực sự ok để cài đặt bất kỳ thứ gì.
  • được di chuyển bởi người dùng qua phương tiện vật lý (chẳng hạn như thanh USB).
  • được chạy trên các hệ điều hành khác nhau, chẳng hạn như Windows, Vista, Ubuntu, OSX.
  • hoạt động trên cùng một dữ liệu trên các máy chủ khác nhau này (dữ liệu có thể được lưu trữ trên máy chủ hoặc trên thanh).
  • không thực sự bị hạn chế trong khung lớn đi kèm bao nhiêu (trừ khi nó là vài gigabyte, điều này không thực sự thực tế).

Bạn cũng có thể cài đặt song song trên thanh miễn là phần mềm hoạt động giống nhau và có thể hoạt động trên cùng một dữ liệu khi chạy trên các mục tiêu khác nhau.

Một quan điểm khác về trường hợp sử dụng sẽ là tôi có năm máy mới được cài đặt với Vista, XP, OSX, Ubuntu và Kubuntu tương ứng trước mặt mình. Tôi muốn, mà không cần phải cài đặt bất cứ điều gì mới trên máy, có thể chạy cùng một phần mềm từ một thanh USB duy nhất (đáp ứng các yêu cầu GUI trên và vv) trên mỗi năm máy này (mặc dù, nếu cần thiết từ khác nhau bó trên thanh).

Điều này có khả thi không?

Chỉnh sửa: Tôi đã thử nghiệm một chút với ứng dụng Qt sử dụng một số tiện ích con và cơ sở dữ liệu sqlite. Nó đã được dễ dàng để làm cho nó hoạt động trên một ubuntu dist và trên osx. Đối với windows xp và vista tôi đã phải sao chép QtCored4.dll, QtGuid4.dll, QtSqld4.dll và mingwm10.dll vào thư mục phân phối (đây là mã gỡ lỗi) và tôi đã sao chép qsqlited4.dll vào thư mục có tên là "sqldrivers" trong bản phân phối danh mục.

+0

Last.FM sử dụng QT và nó chạy trên Vista tốt. – Fowl

+0

Không cần cài đặt? – FeatureCreep

Trả lời

4

Bạn đề cập đến wxWidgets nhưng loại bỏ nó khi không đạt được ít nhất một trong các yêu cầu.

Tôi không biết những gì yêu cầu của bạn đang có và những gì wxWidgets cách sẽ không làm việc cho bạn, nhưng IMO nó thực hiện chúng:

nền tảng chéo: nó phải được Runnable trên XP, Vista, OSX và các phiên bản phổ biến của Linux.

Nó chạy trên các nền tảng đó, nhưng "phiên bản phổ biến của Linux" không đủ tốt, vì bạn không bao giờ có thể chắc chắn rằng các thư viện GUI cần thiết cho wxGTK (không được liên kết với tĩnh) Cài đặt. Tuy nhiên, đây cũng là vấn đề đối với các giải pháp khác, trừ khi bạn dự định đặt mọi thứ vào thanh.

Không cài đặt: Có thể chạy phần mềm từ thanh USB mà không phải sao chép bất kỳ thứ gì vào máy chủ.

Xem điểm trước đó, bạn cần chỉ định thư viện nào cần thiết trên Linux. Ngoài ra, bạn có thể chỉ định tại thời gian xây dựng không sử dụng một số thư viện do hệ thống cung cấp (ví dụ: đồ họa, nén, regex) nhưng để sử dụng các thư viện nội bộ wxWidgets thay thế.

Có hỗ trợ giao diện đồ họa tốt

Kiểm tra.

Cấp phép cho phép như LGPL hoặc BSD hoặc tương tự.

Kiểm tra. Bạn có thể liên kết tĩnh wxWidgets vào ứng dụng của bạn.

hỗ trợ một ngôn ngữ tốt như Python hay C++

Hỗ trợ cả, và có những cam kết ràng buộc với các ngôn ngữ khác nữa.

có một tập hợp các khái niệm trừu tượng cho các chức năng phụ trợ phổ biến nhất, chẳng hạn như ổ cắm, tập tin IO, và vân vân

Nó có một số trừu tượng như vậy, nhưng bạn có thể liên kết đến chéo khác các thư viện nền tảng.

Chúng tôi sử dụng wxWidgets cho FlameRobin, một chương trình quản trị đồ họa cho máy chủ SQL Firebird. Nó có các cổng hoạt động cho Windows, Linux và Mac OS X, và đã được biên dịch cho ít nhất một số biến thể BSD và Solaris. Nó chắc chắn chạy từ một thanh trên Windows, tôi đã không thử với Linux hoặc Mac OS X, nhưng tôi không thấy lý do tại sao nó không nên có quá.

+0

Cảm ơn. Thông tin tốt. Trên thực tế, tôi không ngại có gói "khổng lồ" trên thanh vì chúng khá rẻ trong những ngày này. Tôi đang cố gắng giảm thiểu nhu cầu/rủi ro phải cài đặt bất cứ thứ gì lên mục tiêu. Tôi sẽ thêm một số trường hợp sử dụng cho câu hỏi. – FeatureCreep

+0

Tôi vẫn không thấy bất kỳ điều gì trong yêu cầu của bạn sẽ loại bỏ giải pháp wxWidgets. Những gì tôi đã đề cập như là các lĩnh vực có vấn đề trong câu trả lời của tôi là rất có thể có vấn đề với các giải pháp khác là tốt, nếu bạn có ý định tích hợp với máy tính để bàn Linux. Với mọi giải pháp, bạn sẽ phải xác định một số yêu cầu cơ sở cho hệ điều hành đích để chạy. – mghie

+0

Tôi hiểu. Bạn có nghĩ rằng nó có thể bó các thư viện wxGTK để tránh vấn đề cài đặt? Hay tôi hiểu lầm lập luận của bạn? – FeatureCreep

0

Vâng, điều đó tùy thuộc vào ý nghĩa của từ 'gói'. Kylix đã gần như là một điều như vậy. Nó dựa trên QT, và nó cho phép bạn viết một lần và biên dịch cho Windows + Linux. Tuy nhiên, nó không phải là một giải pháp nguồn mở.

+0

Ok, tôi có nghĩa là "gói" như trong "khuôn khổ", tôi nghĩ. Tôi sẽ thay đổi nó. – FeatureCreep

1

này có thể không được crossplatform, nhưng thậm chí có thể tốt hơn, nó dont thậm chí sử dụng nền tảng: Linux trên một cây gậy :-)

Phụ đề là

Hãy Java của bạn không gian làm việc bất cứ nơi nào bạn đi trên khóa USB

Ở đây với java và nhật thực, nhưng không có gì ngăn bạn ở đó.

http://knol.google.com/k/inderjeet-singh/installing-a-ubuntu-hardy-heron-java/1j9pj7d01g86i/2#

+0

Cảm ơn. Tôi đã thêm một số giải thích cho câu hỏi. – FeatureCreep

2

Bạn có thể nhìn vào Mono nó chéo nền tảng, có giao diện đồ họa (GTK +, hoặc Winforms 2.0) và tôi có thể thực thi mã mà không cần cài đặt.

+0

Cảm ơn. Bạn có biết bất kỳ ví dụ nào về phần mềm không cài đặt này không? I E. mà không cần một thời gian chạy đơn để được cài đặt trên mục tiêu và không liên kết thời gian chạy tĩnh (vì điều này dường như yêu cầu cấp giấy phép khác nhau)? – FeatureCreep

+0

Lý do tôi hỏi là tôi đã googling nhưng không tìm thấy bất kỳ ví dụ. – FeatureCreep

+1

Thực tế, bây giờ tôi đã tìm thấy một số ví dụ: http://cocoa-sharp.com/index.php?option=com_content&task=view&id=4&Itemid=1 – FeatureCreep

4

Java.

  • Nó có hỗ trợ GUI.

  • Nó cung cấp mạng/tệp của bạn/v.v. trừu tượng.

  • Đây là nền tảng đa nền tảng. Hầu hết các nền tảng mà bạn có thể nghĩ là có sẵn JRE.

  • Không cần cài đặt JRE. Hầu hết người dùng có thể đã có, và nếu không, bạn có thể chạy JRE thích hợp ngay trên thanh.

  • Bạn có thể cung cấp một số tập lệnh khởi động cho các nền tảng khác nhau để chạy ứng dụng theo JRE thích hợp.

+0

Cảm ơn, điều này đáng xem xét. – FeatureCreep

+0

+1. Chỉ có tùy chọn tôi mới có thể nghĩ đến. Mono có một số vấn đề nhỏ đôi khi (dunno nếu điều này áp dụng nếu bạn thực sự phát triển các ứng dụng trong mono) – WhyNotHugo

+0

Tôi đã không chơi với Mono, nhưng tôi cảnh giác về cách "tương thích" nó thực sự là. –

3

Một điều khác cần xem xét là HTML + Javascript. : D

+0

Bạn có nghĩa là một số loại thực thi không máy chủ tôi chỉ trình duyệt? – FeatureCreep

+0

Có. Nó là * rất * hỗ trợ rộng rãi (nếu đa dạng) nền tảng, nhưng bạn có thể sẽ gặp khó khăn khi sống bên trong sandbox. Bạn có thể làm rất nhiều mặc dù không có máy chủ. Một máy chủ giúp mặc dù: D – Fowl

+0

Rất nhiều chương trình yêu cầu, nhưng thực sự 100% nền tảng. Tốt nhất. – WhyNotHugo

0

Tôi đã hỏi một câu hỏi tương tự trong liên kết này http://www.24hsoftware.com/DevelopersForum/CrossPlatform-C-Library.html và asnswer tốt nhất có vẻ là QT.

Tôi đã bắt đầu sử dụng QT, nhưng nó không dễ dàng như tôi mong đợi chủ yếu do vấn đề triển khai do địa ngục DLL, địa ngục Winsx và địa ngục biểu hiện.

+1

Tôi cũng đã thử Qt và trải nghiệm của tôi ngược lại. Đối với các cửa sổ tôi chỉ plopped dts Qt có liên quan vào cùng một thư mục như các ứng dụng và plugin sqlite mà tôi cần phải được đặt trong một thư mục plugin. Điều này làm việc trên osx, ubuntu, xp và vista. Tôi sẽ cập nhật các câu hỏi với một số chi tiết hơn khi tôi nhận được thời gian. – FeatureCreep

0

Tclkit là một hệ thống Tcl/Tk độc lập. Phiên bản mac tôi có là khoảng 3,8 megs. Bạn có thể tải phiên bản cho mọi hệ điều hành hiện đại. Tôi mang theo một ổ USB có mac, windows và linux nhị phân để tôi có thể chạy các kịch bản của mình trên bất kỳ nền tảng nào. Không cần cài đặt, chỉ cần sao chép một tập tin bất cứ nơi nào bạn muốn.

Các phiên bản gần đây nhất của tcklit sử dụng bản địa, các widget theo chủ đề (mặc dù, trên * nix có thực sự không phải là một đơn "bản địa" tập hợp các widget ...)

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