SWT/JFace or Eclipse RCP?

后端 未结 4 1093
慢半拍i
慢半拍i 2021-02-12 15:46

Which are the reasons to choose the Eclipse Rich Client Platform as the base of my application, instead of just using SWT/JFace?

4条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2021-02-12 16:03

    In additions to points that VonC has pointed out (OSGi platform goodies: modularity, classloader isolation, extensible architecture), the Eclipse RCP provides many application level services that might ease the overall development of your final product:

    With Eclipse RCP you'll get:

    • Ready and extensible UI application framework
      • perspectives for separating discrete application areas
      • views and editors for providing reusable blocks of UI with lifecycle of their own
      • Commands abstraction with key bindings, contextual handlers and bindings to toolbars and menus
    • All the goodies of the whole eclipse ecosystem
      • p2 provisioning for managing installation and automatic updates of your application
      • ECF communication framework
      • BIRT reporting tools
      • EMF and modeling tools
      • lots more...

    Of course - the latter part does not necessarily mean you have to use the behemoth that is Eclipse RCP platform to gain the advantages those offer.

    Depending on the scope of your application, you might do well to just use Equinox as an underlying OSGi container and build your own GUI client on top of that.

    Also keep in mind that Eclipse RCP is no more the only game in town when making a decision of GUI frameworks in SWT/JFace land. There are serious contenders that might suite your needs better:

    • Riena Platform Project is quoting their own words "the foundation for building multi-tier enterprise client/server applications"
    • E4 Project project is a work in progress to build the next generation of the eclipse RCP platform with much more modular design in mind.

    Edit: Eclipse e4 project has graduated from being just a work in progress since my original answer was posted and now has become a fully usable rich client application framework/platform of its own. It has matured to the point where it is now being used as an underlying platform for the latest Eclipse 4.2 (Indigo) IDE.

提交回复
热议问题