Quando utilizzare RCP?

9

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

Devo usare Eclipse RCP o la piattaforma Netbeans?

E quali benefici ottengo dall'usare l'uno o l'altro usando swing normale / SWT?

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

    
posta Mahmoud Hossam 07.05.2011 - 14:17
fonte

3 risposte

6

Deckard ha avuto una buona risposta. Vorrei aggiungere che vale la pena considerare come questo progetto verrà mantenuto in futuro. Considera quanti dei tuoi colleghi (o sviluppatori in generale) hanno familiarità con Swing e altri contro quanti hanno familiarità con RCP. La mia organizzazione ha avuto grattacapi quando volevamo rispolverare una vecchia applicazione RCP. Risulta che la maggior parte delle persone coinvolte nella progettazione del progetto ha lasciato l'azienda o si è trasferita in ruoli non di sviluppo. La nostra esperienza interna era maggiore in Swing, quindi questo ha reso le cose più difficili di quanto dovessero essere. Avevamo anche il desiderio di integrare parti di esso con un'applicazione separata basata su Swing, e ancora una volta il fatto che la vecchia app fosse un'applicazione RCP ha reso le cose difficili.

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

    
risposta data 08.05.2011 - 03:00
fonte
7

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.

    
risposta data 08.05.2011 - 02:32
fonte
0

Sono un ingegnere software Java professionista con grande esperienza sia su Eclipse RCP & Netbeans Platform.

"Should I use Eclipse RCP or the Netbeans platform?"

Risposta: Dipende dai seguenti fattori:

  • La tua esperienza in Java.
  • Lo sforzo richiesto per implementare qualcosa in entrambi gli RCP.
  • La chiarezza della documentazione di ciascun RCP.
  • L'aspetto e l'aspetto preferiti senti che vuoi fornire ai tuoi utenti finali.

Ecco i pro e amp; Contro per ciascuno di questi RCP in base ai fattori che ho citato sopra:

La piattaforma Netbeans:

Pro:

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

Contro:

  • Richiede una grande esperienza nel linguaggio Java.
  • Richiede molto più codice da scrivere rispetto a Eclipse RCP per fare la stessa cosa.
  • Il look & sentire non è nativo. La piattaforma Netbeans è basata su Swing, quindi ottieni lo stesso Java Swing Look & Senti su tutte le piattaforme di destinazione!

Eclipse RCP:

Pro:

  • Richiede una buona conoscenza di Java con anche una buona conoscenza di Dipendenza Iniezione (in altre parole, non sono richieste cose di Kung Fu: P)!
  • L'aspetto e il risultato risultanti il tatto è molto più nativo di quello di Netbean. Questo perché Eclipse RCP è basato su SWT. (questo è un problema per me - solo perché non sono un divertimento di SWT, personalissimo)

Contro:

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

La mia preferenza personale è la piattaforma Netbeans solo perché mi piace avere un controllo completo di quello che sto facendo con il mio codice, e perché penso che l'interfaccia utente basata su Swing sia molto più stabile del SWT (io sono ho avuto alcuni arresti anomali dell'interfaccia utente nel mio IDE Eclipse mentre sto codificando: P)!

"Do RCP applications require more dependencies than those developed using Swing or SWT?"

Risposta: Le dipendenze sono ciò che rende questi 2 bambini rotolare. Altrimenti, sarebbe inutile che si chiamassero RCP. RCP è l'acronimo di Rich Client Platform, ovvero un ecosistema (un grande insieme di API) che aiuta a creare applicazioni "Rich" fornendo i mezzi per farlo (attraverso le API). ;-). Quindi, la risposta qui è "SÌ, MODO DI PIÙ DIPENDENZE"!

    
risposta data 23.08.2018 - 01:51
fonte

Leggi altre domande sui tag