Domanda

Sono abituato a sviluppare applicazioni web in Java (Struts, Spring, JSP ...). Ma ora voglio svilupparne uno desktop. Non mi è mai piaciuto progettare windows in Java (AWT, Swing, SWT): troppo lavoro per un'interfaccia brutta. Quindi penso che potrebbe essere una buona idea sfruttare le mie capacità di app web. Un'opzione è modificare il browser SWT ed effettuare chiamate a una funzione Java invece di richieste HTTP. Un ottimo componente aggiuntivo sarebbe l'uso di JSP. Infine, ho pensato che probabilmente esiste un framework o uno strumento per questo.

Pensi che ciò che propongo sia una buona idea? È disponibile un framework per questo?

Ho bisogno di questo per applicazioni leggere. Quindi penso che incorporare un server Tomcat e usarlo con richieste HTTP non sia una buona idea.

Grazie per il tuo aiuto.

Modifica: un'applicazione di esempio potrebbe essere un comparatore di cartelle: si specificano due cartelle e l'app mostra quali cartelle e file sono diversi. In questo caso, penso che aprire un browser esterno sia brutto. L'applicazione gonfiata (con il suo server, MVC, ecc.) Non sarebbe la scelta migliore.

È stato utile?

Soluzione

Non vorrei scartare l'incorporamento di un web server. L'ho già fatto in precedenza con un'applicazione per l'avvio web che incorpora Jetty .

Il download è stato piuttosto veloce, il server si avvia e puoi utilizzare BrowserLauncher per guidare immediatamente il tuo browser al server incorporato e quindi alla tua applicazione. Jetty è progettato per essere modulare e avere un ingombro ridotto, quindi probabilmente puoi ridurlo alle necessità primarie.

Altri suggerimenti

Se hai utilizzato la libreria JavaScript - ExtJs - puoi usarla con Adobe AIR per creare un'app Web desktop di bell'aspetto.

La creazione di app in Adobe AIR è anche semplice ed elegante con l'ide flex builder.

Se l'opzione va a incorporare un server leggero, controllare winstone non è completamente conforme a J2EE ma dovrebbe essere sufficiente per quello che ti serve. Per quanto riguarda il browser, non sono un grande fan di SWT, complicando molto la distribuzione multipiattaforma, quindi probabilmente vale la pena tenere d'occhio jwebpane , non ancora del tutto pronto, ma probabilmente la soluzione di cui avrai bisogno.

Esistono diverse opzioni: puoi utilizzare l'API del plug-in di Firefox e sviluppare la tua app. Puoi utilizzare HTML, JavaScript, il database integrato, tutte le funzionalità del browser e accedere al livello del sistema operativo.

Oppure puoi provare PyQt (Python e Qt) che consente di scrivere applicazioni semplici molto rapidamente.

[EDIT] Il problema principale che stai affrontando è la sicurezza: per motivi di sicurezza, le app JavaScript (in esecuzione in una pagina HTML) non possono accedere alle risorse del sistema operativo locale. Quindi, a meno che il tuo browser non ti permetta di scrivere plugin in JavaScript (il che è vero solo per FF AFAIK), non c'è modo di scrivere un'applicazione che usi HTML come "view" " senza l'aiuto di qualcos'altro.

Inoltre, l'HTML è molto limitato quando si tratta di funzionalità per le applicazioni. HTML è progettato per essere una "visualizzazione di documenti statici" non una "domanda". Puoi fare cose come GMail ma se confronti GMail con qualsiasi app di posta reale (Outlook, Thunderbird, Note), vedrai rapidamente che le app desktop reali offrono molte più funzionalità.

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