È necessaria la conoscenza di Swing dai programmatori Java? [chiuso]

2

Swing è parte integrante dell'API Java. È anche il framework GUI più popolare per Java. Mi chiedo ancora, se ogni programmatore Java sapesse ancora, o almeno che sia abbastanza familiare, Swing (possibilmente escludendo gli sviluppatori web)? Ci sono alternative (ad esempio SWT), ma non sono molto usate (rispetto a Swing).

Che cosa ne pensi di richiedere la conoscenza di Swing dai programmatori Java? Se tale conoscenza è importante, fino a che punto? Le basi sono sufficienti o no?

La ragione per cui mi chiedo è perché in realtà non mi piace Swing, ma mi chiedo se devo ancora rispolverare le mie capacità. Sono in grado di creare semplici interfacce grafiche, ma non direi che conosco bene Swing.

    
posta Anto 01.03.2011 - 22:51
fonte

8 risposte

11

È necessario solo per le persone che eseguono GUI Java Desktop e ora ci sono alternative. Ho trascorso alcuni anni a fare app JavaEE e app basate su console. Non ho mai avuto bisogno di toccare Swing e sono stato uno sviluppatore JavaEE di successo.

    
risposta data 01.03.2011 - 22:56
fonte
6

Direi che lo sviluppatore Java ogni non ha bisogno di saperlo. Hai già stabilito che gli sviluppatori web potrebbero non averne bisogno.

Scrivete applicazioni GUI? Le possibilità che il framework utilizzato sia swing alto? Avete in programma di ottenere un lavoro scrivendo una GUI basata su Swing? Se sì, allora dovresti saperlo. Altrimenti, probabilmente non ha importanza.

Lo stesso ragionamento può essere applicato praticamente a qualsiasi framework o tecnologia.

    
risposta data 01.03.2011 - 22:57
fonte
6

Non vedo lo swing come parte fondamentale di java nello stesso modo in cui penso a flussi, threading, raccolte, ecc. Faccio un sacco di interviste ed è abbastanza raro per me imbattersi in swing su qualcuno riprendere.

aneddoticamente, sia mia moglie che io siamo stati sviluppatori Java da oltre 10 anni, e nessuno di noi ha mai scritto una riga di codice swing.

    
risposta data 01.03.2011 - 23:08
fonte
5

Come con qualsiasi libreria, se impari profondamente lo Swing probabilmente ne dimenticherai la maggior parte nel momento in cui ne avrai più bisogno. La mia raccomandazione sarebbe quella di aumentare l'ampiezza dell'apprendimento fino a quando non sarà necessario utilizzare Swing.

Ci sono anche MOLTE informazioni di swing là fuori (molto male, purtroppo), quindi se hai una conoscenza superficiale della libreria e quando è opportuno usarla, dovresti essere in grado di google ciò che devi sapere.

Se pubblicizzassi Swing come prerequisito per una posizione di sviluppatore Java, mi sarei certamente aspettato che tu fossi in anticipo su ciò che sai e possibilmente rispondi a un paio di domande più complicate per vedere se hai esperienza a livello di produzione. Tuttavia non squalificare nessuno senza esperienza di swing per una posizione JEE casuale.

    
risposta data 01.03.2011 - 23:01
fonte
3

Dipende davvero da cosa vuoi fare. Swing è un'ottima API per il lavoro con la GUI. Puoi creare alcuni widget piuttosto potenti, ma ha una grande curva di apprendimento, per non dire altro. Direi che la maggior parte degli sviluppatori Java che si concentrano sullo sviluppo web non avranno mai bisogno di swing, quindi potresti tranquillamente ignorarlo se lo desideri.

Una cosa che Swing ti darà che lo sviluppo web non sarà una comprensione più completa dello sviluppo di GUI al di fuori di un ambiente web, ma ciò è vero con qualsiasi ricca API della GUI.

    
risposta data 01.03.2011 - 23:04
fonte
3

Non l'ho mai toccato. La mia esperienza con ExtJS è stata molto più preziosa. Le app Swing che ho usato sono state tremendamente lente. Ad ogni modo, se ho bisogno di imparare Swing, lo farò, proprio come ho imparato X / Motif e Tcl / Tk e .NET e ExtJS. Se non riesco a convincere un potenziale datore di lavoro che posso farlo, allora non ho gestito bene l'intervista.

    
risposta data 01.03.2011 - 23:38
fonte
2

Penso che se il tuo prodotto non lo usa e probabilmente non lo userà mai, non c'è motivo di aspettarsi che la conoscenza di Swing sia una base per "cosa rende uno sviluppatore Java". Proprio come qualsiasi altra abilità lavorativa, penso che sia necessario cercare sempre il giusto mix per la posizione, e se la posizione non userà Swing, perché preoccuparsi di aspettarsi che il candidato lo sappia?

Detto questo, penso che si inserisca in una linea di base per ciò che ci si può aspettare da uno sviluppatore Java per sapere di . Sarei piuttosto non contento di incontrare qualcuno con 3 anni di esperienza in Java che non ha potuto rispondere alla domanda "cosa è Swing?" con "Un'API per la codifica di una GUI". Ma è probabile che non mi preoccuperei nemmeno di chiedere se stavo intervistando per le capacità di JEE.

    
risposta data 01.03.2011 - 23:06
fonte
2

Swing è un ottimo framework GUI, probabilmente il più puramente framework OO GUI, quindi anche se non è una parte fondamentale di Java, è una cosa eccellente da imparare se vuoi creare applicazioni di qualità. Ci sono molte possibilità per implementare modelli di progettazione come decorator, MVC ecc. Le alternative sono SWT e C #.

    
risposta data 13.12.2012 - 11:54
fonte

Leggi altre domande sui tag