2011-06-22 32 views
10

Tôi đang sử dụng ứng dụng dành cho máy tính để bàn có giao diện UI được tạo bằng Qt được liên kết với thư viện đang thực hiện tất cả các công cụ tính toán. Giá trị từ giao diện người dùng được thực hiện và chuyển đến API trong DLL để có được đầu ra được hiển thị trên Màn hình.Lưu trữ ứng dụng máy tính để bàn C++ trên trang web

Bây giờ tôi muốn làm điều tương tự bằng cách chuyển giao ứng dụng của tôi sang trang web để mọi người có thể truy cập công cụ từ mọi nơi mà không cần bất kỳ quá trình cài đặt nào.

Tôi muốn giữ lại mã C++ DLL của mình vì vậy tôi không phải làm nhiều việc. Tôi đang nghĩ đến việc chỉ chuyển đổi DLL này thành một máy chủ C++ bằng bất kỳ Quy trình giao tiếp nào (Sockets). Tôi muốn lưu trữ ứng dụng này trên trang web của công ty tôi. (Chúng tôi phải làm cho trang web cũng vì vậy chúng tôi đang mở cho bất kỳ bộ công cụ).

Tôi muốn biết điều gì sẽ là bộ công cụ tốt nhất để thực hiện công cụ này. Ngoài ra sẽ có rất nhiều trao đổi dữ liệu giữa các trang web và máy chủ để wholething cũng nên được tối ưu hóa. Tôi goggled một chút và tìm thấy những thứ như silverlight và ASP.NET, Nhưng tôi vẫn không rõ ràng tùy chọn nào sẽ phù hợp hơn.

Tôi là lập trình viên C++ không có trải nghiệm phát triển ứng dụng web. Tôi mở cửa để tìm hiểu bất kỳ công nghệ mới nào.

Cảm ơn

+0

xem xét lưu trữ ứng dụng trên máy chủ đám mây và mở rộng theo yêu cầu. Điều này khá rẻ; Bạn có thể kết hợp nó với máy chủ Citrix/Terminal như truy cập (FreeNX hoặc VNC với XDM trên Unix). Tôi tự tin rằng Azureus sẽ có các dịch vụ tốt – sehe

+0

Silverlight 5 có thể có khả năng giúp đỡ, nhưng tôi không biết liệu chúng có cho phép P/Invoke trên các thư viện được đóng gói trong XAP hay không. Nếu không Silverlight không phải là công nghệ bạn đang tìm kiếm. – Denis

Trả lời

1

Tại sao không sử dụng trực tiếp trên web? Có một số dự án như thế này: http://qtwui.sourceforge.net/

+1

Điều đó trông khá non nớt. [Google gears] (http://gears.google.com) hoặc [Pyjamas] (http: // pyjs.org) sẽ có vẻ nhiều hơn cho công việc; Đó là, nếu Flex/Silverlight là vì lý do nào đó không áp dụng – sehe

+0

@sehe Nó chỉ là một trong số đó, tôi không có chúng đánh dấu, nhưng tôi thấy một số trông rất có ích. Cộng với việc viết lại một ứng dụng trong một khung công tác mới thường sẽ gây ra nhiều vấn đề hơn mà một khuôn khổ chưa trưởng thành. –

+0

thậm chí quên rằng không ai trong số này là câu hỏi của OP :) – sehe

0

netscape plugin sẽ lưu trữ ứng dụng QT và ActiveX control wrapper trên trang web QT. Bạn có thể sử dụng một trong số đó để gói ứng dụng của bạn. Lưu ý rằng phương pháp này sẽ yêu cầu người dùng (hoặc quản trị viên của họ) tải xuống và cài đặt plugin.

Một cách tiếp cận khác có thể là chạy ứng dụng của bạn thông qua một máy tính từ xa như XVNC, NX hoặc một lớp dựa trên RDP. Trình duyệt máy khách từ xa dựa trên trình duyệt IIRC có sẵn cho hầu hết các giao thức như vậy.

0

Một vài lựa chọn:

Tôi sẽ không để lộ triển khai trên internet. Đủ để có một tràn bộ đệm đơn giản và máy có thể được thực hiện một cách nhanh chóng. Thêm lớp giữa ứng dụng và web cung cấp cách dễ dàng để xác thực nhập, truy cập, số liệu thống kê ...

0

Bạn có thể sử dụng DLL của mình từ ứng dụng wt hoặc cppcms. Sau đó, bạn không phải học cái gì mới và chỉ có thể sử dụng C++.

+0

Tôi cũng đã kiểm tra ngày hôm qua và thấy nó khá tốt. Tôi sẽ thử cái này trước. – Maverick

0

Cách tôi hiện đang thực hiện việc này là với Boost.Python + django

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