Quando utilizzare RCP?


9

Mi piace scrivere piccole applicazioni GUI usando Java e Swing, qualcosa come un client per il sito Web sociale Tumblr

Dovrei usare Eclipse RCP o la piattaforma Netbeans?

E quali vantaggi ottengo dall'uso di uno dei due rispetto all'utilizzo di swing / SWT normale?

Le applicazioni RCP richiedono più dipendenze rispetto a quelle sviluppate utilizzando Swing o SWT?

Risposte:


6

Deckard ha avuto una risposta abbastanza buona. Vorrei aggiungere che vale la pena considerare come questo progetto verrà mantenuto lungo la strada. Considera quanti dei tuoi colleghi (o sviluppatori in generale) hanno familiarità con Swing et al. Vs. quanti hanno familiarità con RCP. La mia organizzazione aveva qualche mal di testa quando volevamo rispolverare una vecchia applicazione RCP. Si scopre che la maggior parte delle persone coinvolte nella progettazione del progetto aveva lasciato l'azienda o si era trasferita in ruoli non evolutivi. La nostra competenza interna era più in Swing, quindi questo ha reso le cose più difficili di quanto dovessero essere. Desideravamo anche integrare parti di essa con un'applicazione separata basata su Swing, e ancora una volta il fatto che la vecchia app fosse un'applicazione RCP rendeva le cose difficili.

Non sto dicendo che non dovresti creare un'app RCP, ma queste sono alcune cose che potresti voler considerare prima.


7

Fondamentalmente, quando usi Swing, devi impostare tutto manualmente: tu definisci la Finestra, ogni area e controllo, al suo interno definisci di nuovo ogni controllo. Per ogni controllo e area definiti dai gestori per gestire le modifiche e le azioni dell'utente, ecc. È necessario farlo perché nulla funzionerà a meno che non venga definito e implementato esplicitamente.

L'RCP lo consente anche, ma viene fornito con un sacco di componenti di livello superiore che fanno molte cose comuni. Ad esempio, è solo un paio di passaggi di configurazione per definire un'interfaccia a più documenti (MDI) o per aggiungere barre degli strumenti con icone che avviano plug-in esterni quando si fa 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 / barre degli strumenti / operazioni / ecc. Sensibili al contesto.

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 ha senso usare RCP. In effetti, 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 ampio sistema di guida, è necessario eseguire l'aggiornamento automatico su Internet e quel tipo di funzionalità di applicazione desktop su larga scala, allora RCP sarà perfetto.


0

Sono un ingegnere del software Java professionale con grande esperienza sia su Eclipse RCP che su piattaforma Netbeans.

"Dovrei usare Eclipse RCP o la piattaforma Netbeans?"

Risposta: dipende dai seguenti fattori:

  • La tua esperienza in Java.
  • Lo sforzo richiesto per implementare qualcosa in entrambi i RCP.
  • La chiarezza della documentazione di ciascun RCP.
  • L'aspetto preferito che desideri fornire agli utenti finali.

Ecco i vantaggi e gli svantaggi di ciascuno di questi RCP in base ai fattori sopra menzionati:

La piattaforma Netbeans:

Professionisti:

  • La chiarezza e l'organizzazione della documentazione è ECCELLENTE! Ma la comunità attiva è piccola rispetto a quella degli sviluppatori RCP di Eclipse.

Contro:

  • Richiede una grande esperienza nel linguaggio Java.
  • Richiede molto più codice da scrivere rispetto all'RCP di Eclipse per fare la stessa cosa.
  • L'aspetto non è nativo. La piattaforma Netbeans si basa su Swing, quindi ottieni lo stesso Java Swing Look & Feel su tutte le piattaforme target!

Eclipse RCP:

Professionisti:

  • Richiede solo una buona conoscenza di Java con una buona conoscenza dell'iniezione di dipendenza (in altre parole, non sono richieste cose Kung Fu: P)!
  • L'aspetto risultante è molto più nativo di quello di Netbean. Questo perché Eclipse RCP è basato su SWT. (Questo è un truffatore per me, solo perché non sono un fan di SWT, personalmente)

Contro:

  • La chiarezza e l'organizzazione della documentazione non è così buona! Cons.

La mia preferenza personale è la piattaforma Netbeans solo perché mi piace avere un controllo completo di ciò che sto facendo con il mio codice e perché penso che l'interfaccia utente basata su Swing sia molto più stabile rispetto a SWT (sono solita avere alcune interruzioni dell'interfaccia utente nel mio IDE Eclipse mentre sto codificando: P)!

"Le applicazioni RCP richiedono più dipendenze rispetto a quelle sviluppate utilizzando Swing o SWT?"

Risposta: le dipendenze sono ciò che fa rotolare questi 2 bambini. Altrimenti, sarebbe inutile che fossero chiamati RCP. RCP sta per Rich Client Platform, nel senso che è un ecosistema (un ampio set di API) che aiuta a costruire applicazioni "Rich" fornendo i mezzi per farlo (tramite API). ;-). Quindi, la risposta qui è "SÌ, MODO PIÙ DIPENDENZE"!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.