Essenzialmente, quando usi Swing, devi impostare tutto manualmente: definisci la Finestra, ogni area e controllo, all'interno di quello che definisci ogni controllo. Per ogni controllo e area definisci i gestori che gestiscono le modifiche e le azioni degli utenti, ecc. È necessario farlo perché nulla funzionerà a meno che tu non lo definisca e implementalo esplicitamente.
Anche l'RCP consente questo, ma viene fornito con una serie di componenti di livello superiore che fanno un sacco di cose comuni. Ad esempio, sono solo pochi passaggi di configurazione per definire un'interfaccia di più documenti (MDI) o per aggiungere barre degli strumenti con icone che lanciano plug-in esterni quando fai clic su di essi.
Poiché l'RCP è ciò che alimenta Eclipse, i blocchi di base tendono a concentrarsi su applicazioni che hanno esigenze simili a un ambiente di sviluppo: ampia modifica del testo in tutti i tipi di finestre, utilizzando tutti i tipi di menu contestuali / barre degli strumenti / operazioni / ecc.
Quindi, se vuoi creare una piccola applicazione personalizzata con un sacco di cose non standard (come un client Twitter appariscente che ha tutti i tipi di controlli personalizzati o personalizzabili), non c'è un vero punto nell'utilizzo di RCP. Infatti, trascinerà 5 + MB di plug-in nella tua applicazione senza alcun vantaggio reale.
Se si desidera creare un'applicazione che visualizza pagine Web, richiede un sistema di guida completo, deve eseguire l'auto-aggiornamento su Internet e quel tipo di funzionalità dell'applicazione desktop su larga scala, quindi RCP sarà perfetto.