2009-10-01 32 views
19

Những lý do nào để chọn Nền tảng khách phong phú của Eclipse làm nền tảng cho ứng dụng của tôi, thay vì chỉ sử dụng SWT/JFace?SWT/JFace hoặc RCP Eclipse?

Trả lời

23

Eclipse RCP không chỉ là GUI (SWT/JFace), mà là một nền tảng dựa trên nền tảng OSGi.

Vì vậy, bạn sẽ chọn khuôn khổ RCP để:

  • có một định nghĩa tốt hơn của mô-đun khác nhau của bạn
  • quản lý vòng đời của họ, và các phiên bản tương thích
  • cô lập classloader issues.

Nếu ứng dụng của bạn chỉ là một phông chữ GUI nguyên khối, RCP có thể hơi quá mức.

+0

Tôi muốn sửa đổi RCP thêm nhiều hơn chỉ OSGi (xem [Câu trả lời của Roland Tepp] (http://stackoverflow.com/a/2055496/2986905)) là một gánh nặng hay không, depedning về trường hợp sử dụng trong tầm tay. Và SWT/JFace cũng có thể chạy trên OSGi mà không có RCP. –

17

Trong bổ sung vào điểm mà VonC has pointed out (quà tặng OSGi nền tảng: mô đun, cách ly classloader, kiến ​​trúc mở rộng), RCP Eclipse cung cấp nhiều dịch vụ mức ứng dụng mà có thể làm dịu sự phát triển chung của sản phẩm cuối cùng của bạn:

Với Eclipse RCP bạn sẽ nhận được:

  • Ready và có thể mở rộng ứng dụng UI framework
    • quan điểm cho lĩnh vực ứng dụng rời rạc tách
    • xembiên tập cho việc cung cấp khối thể tái sử dụng của giao diện người dùng với vòng đời của
    • Commands riêng trừu tượng của họ với tổ hợp phím, xử lý theo ngữ cảnh và bindings vào thanh công cụ và menu
  • Tất cả các tính năng ưu việt của toàn bộ hệ sinh thái nhật thực

Tất nhiên - phần sau không nhất thiết có nghĩa là bạn phải sử dụng behemoth đó là nền tảng Eclipse RCP để đạt được những ưu điểm đó.

Tùy thuộc vào phạm vi ứng dụng của bạn, bạn có thể làm tốt để chỉ sử dụng Equinox làm vùng chứa OSGi bên dưới và xây dựng ứng dụng khách GUI của riêng bạn trên đó.

Cũng nên nhớ rằng RCP Eclipse không còn là trò chơi duy nhất trong thị trấn khi đưa ra quyết định về khung công tác GUI trong vùng đất SWT/JFace.Có ứng cử viên nghiêm trọng mà có thể phù hợp với nhu cầu của bạn tốt hơn:

  • Riena Platform Project được trích dẫn lời của mình "là nền tảng cho việc xây dựng đa tầng ứng dụng client/server doanh nghiệp"
  • E4 Project dự án là một công việc đang tiến tới xây dựng thế hệ tiếp theo của nền tảng RCP nhật thực với nhiều thiết kế mô-đun hơn trong tâm trí.

Chỉnh sửa: Dự án e4 Eclipse đã tốt nghiệp không chỉ là một công việc đang tiến từ câu trả lời ban đầu của tôi đã được đăng và bây giờ đã trở thành một người giàu khung ứng dụng client hoàn toàn có thể sử dụng/nền tảng của riêng nó. Nó đã trưởng thành đến mức mà nó đang được sử dụng như một nền tảng cơ bản cho IDE Eclipse 4.2 (Indigo) mới nhất.

5

Chỉ cần 2 xu có giá trị của tôi, nhưng vanilla SWT/JFace có thể ít hơn một đường cong học tập. Tôi thích thực tế họ chỉ là GUI đơn giản, bạn không cần phải học "nền tảng" (như trong cách RCP), chỉ cần nắm bắt được với các thành phần SWT và xây dựng GUI của bạn! Nói chung, tôi thấy nó đơn giản hơn (nhưng sau đó tôi không thực sự biết nhiều về RCP!).

0

Eclipse 4 cơ chế dependency injection là một tài sản lớn, để lựa chọn Eclipse RCP, và Bây giờ với E4, nền tảng này có thể rất nhẹ,

Thêm vào đó công cụ e4 với nó mô hình biên tập viên, cho phép bạn lưu một rất nhiều thời gian

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