Desktop-Anwendungsansicht mit HTML als Webanwendung entwickeln

8

Ich bin es gewohnt, Web-Anwendungen in Java zu entwickeln (Struts, Spring, JSP ...). Aber jetzt möchte ich einen Desktop entwickeln. Ich habe es nie gemocht, Windows in Java zu entwerfen (AWT, Swing, SWT): zu viel Arbeit für eine hässliche Schnittstelle. Ich denke also, es könnte eine gute Idee sein, wenn ich meine Web-App-Fähigkeiten nutzen könnte. Eine Möglichkeit besteht darin, den SWT-Browser zu ändern und statt HTTP-Anfragen eine Java-Funktion aufzurufen. Ein sehr gutes Add-on wäre die Verwendung von JSP. Schließlich dachte ich, dass es wahrscheinlich einen Rahmen oder ein Werkzeug dafür gibt.

Glauben Sie, dass das, was ich vorschlage, eine gute Idee ist? Dafür gibt es einen Rahmen?

Ich brauche das für leichte Anwendungen. Ich denke also, dass das Einbetten eines Tomcat-Servers und die Verwendung mit HTTP-Anfragen keine gute Idee ist.

Danke für Ihre Hilfe.

Bearbeiten: Eine Beispielanwendung könnte ein Ordnervergleich sein: Sie geben zwei Ordner an und die App zeigt Ihnen, welche Ordner und Dateien unterschiedlich sind. In diesem Fall denke ich, dass das Öffnen eines externen Browsers hässlich ist. Aufgeblähte Anwendung (mit seinem Server, MVC, usw.) wäre nicht die beste Wahl.

    
sinuhepop 16.09.2009, 15:08
quelle

4 Antworten

1

Ich würde nicht die Einbettung eines Webservers diskriminieren. Ich habe das schon vorher mit einer Web-Start-Applikation gemacht, die Jetty einbettet.

Der Download war ziemlich schnell, der Server startet und Sie können den BrowserLauncher verwenden, um Ihren Browser sofort zum eingebetteten Server zu leiten Daher Ihre Bewerbung. Jetty ist modular aufgebaut und hat eine kleine Stellfläche, so dass Sie es wahrscheinlich auf das Notwendigste reduzieren können.

    
Brian Agnew 16.09.2009, 15:24
quelle
2

Wenn Sie die JavaScript-Bibliothek ExtJs verwendet haben, können Sie sie mit Adobe AIR verwenden, um eine gut aussehende Desktop-basierte Web-App zu erstellen.

Das Erstellen von Apps in Adobe AIR ist auch einfach und elegant mit dem flex builder ide.

    
techzen 16.09.2009 16:58
quelle
2

Wenn Sie einen leichten Server einbetten möchten, prüfen Sie, ob winstone nicht vollständig J2EE-kompatibel ist, aber für Sie ausreichend sein sollte brauchen. Über den Browser, ich bin kein großer Fan von swt selbst, es kompliziert viele plattformübergreifende Bereitstellung, so dass es sich lohnt, ein Auge auf jwebpane , noch nicht ganz fertig, aber wahrscheinlich die Lösung, die du brauchst.

    
pedromarce 19.10.2009 18:09
quelle
1

Es gibt mehrere Möglichkeiten: Sie können die Plugin-API von Firefox verwenden und Ihre App dort entwickeln. Sie können HTML, JavaScript, die integrierte Datenbank und alle Browserfunktionen verwenden und auf die Betriebssystemebene zugreifen.

Oder Sie können versuchen, PyQt (Python und Qt), die es ermöglicht, einfache Anwendungen sehr schnell zu schreiben.

[EDIT] Das Hauptproblem, dem Sie gegenüberstehen, ist die Sicherheit: Aus Sicherheitsgründen können JavaScript-Anwendungen (die auf einer HTML-Seite ausgeführt werden) nicht auf lokale Betriebssystemressourcen zugreifen. Wenn Ihr Browser also nicht erlaubt, Plugins in JavaScript zu schreiben (was nur für FF AFAIK gilt), gibt es keine Möglichkeit, eine Anwendung zu schreiben, die HTML als "View" ohne die Hilfe von etwas anderem verwendet.

Darüber hinaus ist HTML sehr eingeschränkt, wenn es um Funktionen für Anwendungen geht. HTML ist eine "statische Dokumentenansicht" und keine "Anwendung". Sie können Dinge wie Google Mail tun, aber wenn Sie Google Mail mit einer echten E-Mail-Anwendung (Outlook, Thunderbird, Notes) vergleichen, werden Sie schnell feststellen, dass echte Desktop-Apps viel mehr Funktionen bieten.

    
Aaron Digulla 16.09.2009 15:23
quelle