Domanda

Sto lavorando alla progettazione e alla realizzazione di un'applicazione desktop.Sto pensando di utilizzare Eclipse o NetBeans come base di questa applicazione.Tuttavia, non ho mai costruito su nessuna di queste piattaforme.Personalmente mi propongo di utilizzare netbeans perché sembra che quella piattaforma sia una curva di apprendimento più semplice.Ma volevo chiedere alle persone che hanno effettivamente sviluppato su queste piattaforme, quale è più facile da usare?

La mia personale definizione di facilitatore è la seguente:

  • Facile da iniziare

  • API coerente e logica

  • Buona documentazione

  • Facile da costruire e distribuire

Grazie mille,

Josh

È stato utile?

Soluzione

Non posso che elogiare la piattaforma Eclipse RCP.Lo consiglierei per qualsiasi sviluppo di app desktop Java.

È gratuito, include ottimi tutorial e consente lo sviluppo multipiattaforma di ricche applicazioni desktop che utilizzano il toolkit di finestre del sistema operativo nativo, il che significa che la tua applicazione apparirà nativa in qualsiasi piattaforma.Ha anche un'API pulita che non ti disturba e rende la distribuzione su qualsiasi piattaforma un gioco da ragazzi.

Se sei interessato dai un'occhiata a questo libro: http://www.amazon.com/Eclipse-Rich-Client-Platform-Applications/dp/0321334612

Altri suggerimenti

  • Facile da usare:Ho esperienza nello sviluppo su Eclipse e devo dire che non è facile comprenderne il modello di sviluppo.Sicuramente per le cose di base ha alcune procedure guidate che lo rendono più semplice, ma per qualcosa di un po' più complesso è semplicemente difficile.Non conosco Netbeans, ma ho sentito che è più facile.
  • API coerente:Penso che Eclipse vinca in questo aspetto.Funziona su OSGI (porta però una certa complessità) e ha estensioni di plugin praticamente per tutto.Sembra essere la piattaforma preferita per lo sviluppo di plugin, quindi posso presumere che sia affidabile.
  • Documentazione:Eclipse vince di gran lunga.L'aiuto del sito Eclipse è eccellente e la mailing list contiene numerose domande degli utenti.

Ho utilizzato Eclipse come base del framework, ma per lo più utilizzavo solo SWT: in realtà non utilizzavamo gran parte dell'RCP.

Dipende davvero da cosa stai scrivendo, ma da quello che ho imparato dall'uso di Eclipse è adatto solo per scrivere un'app che prevede la modifica dei dati utilizzando varie visualizzazioni (proprio come la modifica del codice).

Qualcosa di più casuale che possa farti iniziare a spingere il framework in una direzione che non è stata progettata e causare un enorme fallimento.

Utilizzerai Swing per sviluppare la tua applicazione perché qualsiasi altro framework a finestre è utile solo se hai una conoscenza precedente o il background appropriato.

Puoi contare su http://www.javadocking.com/ per semplificare la tua richiesta.

Se i requisiti della tua applicazione sono fortemente focalizzati sull'interfaccia utente, forse puoi guardare in un'altra direzione come Adobe Air.

RCP ha una curva di apprendimento più ampia, ma una volta apprese le nozioni di base, l'IDE Eclipse stesso supporta molto bene la creazione di applicazioni RCP.Ho creato solo un plug-in per NetBeans (non un'applicazione completa) e la curva di apprendimento è stata inferiore rispetto all'applicazione RCP.Il libro Piattaforma Rich Client Eclipse:Progettazione, codifica e confezionamento di applicazioni Java(TM). fornisce un'introduzione dettagliata alla creazione di applicazioni RCP.

Consulta alcune delle applicazioni open source all'indirizzo http://www.eclipse.org/community/rcp.php prima di affermare che RCP serve solo per creare un editor di testo.Grazie.

Ho un compito simile e sto considerando anche quadri diversi.Ho una certa esperienza con Eclipse (~4 mesi di sviluppo RCP) e ora Netbeans (ci ho giocato per un paio di giorni).IMHO questi framework sono troppo complicati.Finisci semplicemente per eseguire il debug nei caricatori di plug-in specifici di Eclipse cercando di capire perché ottieni una ClassNotFoundException o un NullPointer.La stessa storia con NetBeans:in qualche modo da qualche parte legge i file di configurazione xml e crea l'interfaccia utente da quello, interessante, purché segui il tutorial.E ovviamente non puoi sviluppare un RCP basato su Eclipse usando qualche altro IDE, NB è anche molto geloso del suo utilizzo (a meno che tu non faccia qualche hack come ho fatto io).Ciò che mi manca è un modo chiaro per eseguire il debug dei miei thread dal principale all'azione eseguita.Invece mi viene sempre detto cosa devo fare per evitare eccezioni.E quindi devo tenere le dita incrociate ogni volta che provo a realizzare qualcosa di nuovo.E non funziona mai la prima volta.Ora ho pensato alle funzionalità di cui avevo bisogno e ho cercato progetti più piccoli che mirassero a funzionalità specifiche come la gestione dei plugin, ad es.E ce ne sono molti.Compila semplicemente un elenco delle funzionalità di cui hai bisogno e inizia ad aggiungere framework più piccoli integrandoli nel tuo progetto.Anche questo ha senso poiché alla fine il tuo progetto dovrebbe consumare meno RAM.

Ho lavorato un po' con entrambi, ma solo su applicazioni relativamente semplici.Entrambi sembrano avere più o meno le stesse capacità.Personalmente preferisco la piattaforma Netbeans perché per me ha più senso.

Dovresti anche considerare JSR-296, Swing Application Framework.Fornisce un framework di base per la creazione di applicazioni Swing, la gestione delle risorse dell'applicazione, lo stato, ecc., ma senza tanto "bagaglio" quanto Netbeans ed Eclipse.L'IDE Netbeans dispone di una serie di strumenti per la creazione di applicazioni su SAF.Vedere https://appframework.dev.java.net/ per maggiori informazioni.

Senza sapere di più sulla tua applicazione, è difficile indicarti i punti di forza/debolezza appropriati delle due piattaforme.

Se vuoi davvero evitare la manutenzione multipiattaforma, lavora con Swing.Questo ti compra tutte le piattaforme.RCP richiede librerie native per ciascuna piattaforma.

Abbiamo avuto buone esperienze con Swing.

Utilizzerei Eclipse RCP quando hai davvero bisogno di una piattaforma su cui costruire, non solo "widgetery" come swing o swt.RCP è solido e coerente, modulare e molto flessibile.Una volta padroneggiato, otterrai enormi vantaggi.Essendo una piattaforma ti offre le cose più comunemente usate: preferenze, configurazioni, aggiornamenti automatici, gestione del layout, branding e cose del genere.Costruisci un prodotto, non un'app.Ma la curva di apprendimento è piuttosto ripida all’inizio.

Lo swing invece non è una piattaforma, reinventerai la ruota scrivendo le tue cose di cui ho parlato sopra.Ma sì, lo swing è più veloce da imparare e iniziare.Penso che sia più adatto per applicazioni più piccole con una durata di vita più breve.

Guarda alcune delle applicazioni open source su http://www.eclipse.org/community/rcp.php prima di aprire quell'RCP serve solo per costruire qualcosa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top