Domanda

Le risposte a questa mia domanda correlata mi porta a scegliere Java per la maggior parte dei miei servizi di back-end (è un sistema multicomponente). Ora, non sono sicuro che sarebbe una buona scelta anche per le app GUI desktop multipiattaforma. Le applicazioni desktop Java che ricordo di usare hanno quell'aspetto non nativo che non mi piace, ma non sono sicuro che ciò dipenda dalla scelta del toolkit GUI piuttosto che dalla lingua.

La maggior parte delle mie GUI saranno basate sul Web e quelle desktop avranno un pubblico relativamente piccolo (amministratori, sviluppatori e tester), quindi posso fare solo una piccola parte del mio budget per farlo. Tuttavia, voglio l'aspetto nativo ed evitare un sacco di dipendenze.

Probabilmente è più appropriato iniziare con il toolkit GUI che voglio usare e quindi scegliere una lingua che lo supporti. Quelli multipiattaforma che conosco sono:

  • GTK
  • qt
  • AIR (quando arriva su Linux)

Quindi, per esempio, potrei usare GTK # con .Net / Mono. Che tipo di problemi di dipendenza ho intenzione di affrontare? Consiglieresti di separare la GUI effettiva dal resto dell'applicazione e di utilizzare GTK su Linux e qualcosa di nativo su Windows, come Windows Forms, evitando così di dover installare GTK su Windows?

È stato utile?

Soluzione

Bruce Eckel è un grande sponsor di Flex come interfaccia utente multipiattaforma, sia per i servizi Java che Python. Ne ha scritto parecchio, su Artima:

Altri suggerimenti

SWT è la tua risposta. Ho lavorato a un progetto che utilizzava SWT ed è perfetto per qualsiasi cosa tu ci provi. Se lavori con Java, probabilmente hai usato il miglior esempio di SWT: Eclipse. Funziona con GTK, WinForms, Cocoa, Qt e anche Tk. Oh! Ed è molto facile una volta che hai iniziato tutte le basi. Inoltre, la maggior parte dei componenti è pronta. Un'altra cosa, GTK e C # non sono indipendenti dalla piattaforma come si potrebbe immaginare.

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