2009-09-16 36 views
8

Tôi đang sử dụng để phát triển các ứng dụng web bằng Java (Struts, Spring, JSP ...). Nhưng bây giờ tôi muốn phát triển một máy tính để bàn. Tôi không bao giờ thích thiết kế các cửa sổ trong Java (AWT, Swing, SWT): quá nhiều công việc cho một giao diện xấu xí. Vì vậy, tôi nghĩ rằng nó có thể là một ý tưởng tốt nếu có thể tận dụng các kỹ năng ứng dụng web của tôi. Một tùy chọn là sửa đổi Trình duyệt SWT và thực hiện cuộc gọi đến một hàm Java thay vì các yêu cầu HTTP. Một add-on rất tốt sẽ là sử dụng JSP. Cuối cùng, tôi nghĩ rằng có lẽ có một số khuôn khổ hoặc công cụ cho việc này.Phát triển chế độ xem ứng dụng dành cho máy tính để bàn với HTML, dưới dạng ứng dụng web

Bạn có nghĩ rằng những gì tôi đề xuất là một ý tưởng hay không? Có sẵn một số khung cho việc này?

Tôi cần điều này cho các ứng dụng ánh sáng. Vì vậy, tôi nghĩ rằng việc nhúng một máy chủ Tomcat và sử dụng nó với các yêu cầu HTTP không phải là một ý tưởng hay.

Cảm ơn sự giúp đỡ của bạn.

Chỉnh sửa: Một ứng dụng mẫu có thể là trình so sánh thư mục: bạn chỉ định hai thư mục và ứng dụng hiển thị cho bạn thư mục và tệp khác nhau. Trong trường hợp này, tôi nghĩ rằng việc mở một trình duyệt bên ngoài là xấu. Ứng dụng bloated (với máy chủ, MVC, v.v.) sẽ không phải là lựa chọn tốt nhất.

+0

Vui lòng sử dụng một cái gì đó như Adobe AIR. Cực kỳ tốt. Cực kỳ dễ dàng. Chúng tôi đã thành công rất tốt với nó. –

+0

Bạn cũng có thể thích Titanium. Chúng cũng cho phép bạn chạy Ruby & Python. –

+0

Cảm ơn câu trả lời của bạn. AFAIK, AIR và Titanium không dành cho phát triển Java, vì vậy mã của tôi sẽ không phải là nền tảng closs. Ngoài ra, bạn không nhận được một tập tin thực thi, bạn phải cài đặt các bệ phóng của nó. Nêu tôi sai vui long chân chỉnh tôi. – sinuhepop

Trả lời

1

Tôi sẽ không giảm giá khi nhúng máy chủ web. Tôi đã thực hiện điều này trước đây với một ứng dụng bắt đầu web nhúng Jetty.

Tải xuống khá nhanh, máy chủ khởi động và bạn có thể sử dụng BrowserLauncher để lái xe ngay lập tức trình duyệt của mình đến máy chủ được nhúng và do đó, ứng dụng của bạn. Cầu tàu được thiết kế để có mô-đun và có một dấu chân nhỏ, vì vậy bạn có thể cắt giảm nó xuống những nhu cầu thiết yếu.

+0

Nhúng một máy chủ ánh sáng như Cầu tàu không bị loại trừ hoàn toàn. Có lẽ là những gì tôi sẽ làm là tôi không tìm thấy một cái gì đó như tôi yêu cầu. Cảm ơn. – sinuhepop

1

Có một số tùy chọn: Bạn có thể sử dụng API plugin của Firefox và phát triển ứng dụng của bạn trong đó. Bạn có thể sử dụng HTML, JavaScript, cơ sở dữ liệu có sẵn, tất cả các tính năng của trình duyệt và truy cập vào mức hệ điều hành.

Hoặc bạn có thể thử PyQt (Python và Qt) cho phép viết các ứng dụng đơn giản rất nhanh chóng.

[EDIT] Vấn đề chính bạn đang gặp phải là bảo mật: Vì lý do bảo mật, các ứng dụng JavaScript (chạy trong trang HTML) không thể truy cập tài nguyên hệ điều hành cục bộ. Vì vậy, trừ khi trình duyệt của bạn cho phép bạn viết các plugin bằng JavaScript (chỉ đúng với FF AFAIK), không có cách nào để viết một ứng dụng sử dụng HTML làm "chế độ xem" mà không có sự trợ giúp của một cái gì đó khác.

Hơn nữa, HTML rất hạn chế khi nói đến các tính năng dành cho ứng dụng. HTML được thiết kế để trở thành "chế độ xem tài liệu tĩnh" không phải là "ứng dụng". Bạn có thể làm những việc như GMail nhưng nếu bạn so sánh Gmail với bất kỳ ứng dụng thư thực nào (Outlook, Thunderbird, Ghi chú), bạn sẽ thấy nhanh chóng rằng các ứng dụng máy tính để bàn thực sự cung cấp nhiều tính năng hơn.

+0

Cảm ơn câu trả lời của bạn, nhưng tôi nghĩ rằng đây không phải là chính xác những gì tôi đang tìm kiếm. Tôi muốn tạo một ứng dụng độc lập, và sẽ không cần cài đặt Firefox hoặc bất kỳ ứng dụng nào khác (ngoại trừ Java). PyQt có thể là một cách tốt để làm các ứng dụng máy tính để bàn, nhưng Python không phải là Java và Qt không phải là HTML. Trong thực tế, Qt giống như Swing, vv Chúc mừng. – sinuhepop

+0

Xem chỉnh sửa của tôi: Điều bạn muốn có thể là không thể nếu bạn nhấn mạnh vào tất cả các điểm của mình. –

2

Nếu bạn đã sử dụng thư viện JavaScript - ExtJs - thì bạn có thể sử dụng nó với Adobe AIR để xây dựng ứng dụng web dựa trên máy tính để bàn đẹp mắt.

Ứng dụng xây dựng trong Adobe AIR cũng đơn giản và thanh lịch với ide nhà xây dựng flex.

+0

Tôi thích ExtJS;) Như đã bình luận trước đây, vấn đề là AIR không dành cho lập trình Java và bạn sẽ không nhận được tệp thi hành: người dùng phải cài đặt AIR. Hãy sửa tôi nếu tôi sai. Và cảm ơn! – sinuhepop

+0

Bạn phải thử Aptana với nó. Họ có rất nhiều ví dụ để giúp bạn đi. –

+0

Bạn có thể sử dụng API merapi (mã trong java) và sau đó kết thúc bằng AIR. Kết hợp ứng dụng và trình cài đặt trong một bộ. – techzen

2

Nếu tùy chọn của bạn đi để nhúng máy chủ ánh sáng, hãy kiểm tra winstone không tuân thủ đầy đủ J2EE nhưng phải đủ cho những gì bạn cần. Giới thiệu về trình duyệt, tôi không phải là một fan hâm mộ lớn của bản thân, nó phức tạp triển khai nhiều nền tảng, vì vậy có thể đáng để mắt đến jwebpane, chưa hoàn toàn sẵn sàng, nhưng có lẽ là giải pháp bạn cần.

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