JWebView von levlabs · In Entwicklung
Chromium für Java.
Betten Sie Chromium mit einer umfassenden Browser-API in Ihre Java-Anwendungen ein. Steuern Sie Navigation, JavaScript, DOM, Netzwerkanfragen, Profile, Downloads und mehr.
Demo vereinbaren Frühen Zugang sichern
Eine Produktvorstellung ist ein Gespräch über das Produktkonzept und die geplante Architektur. Es gibt noch keine Demo.
Die API auf einen Blick.
Geschrieben gegen den API-Vertrag. Namen und Details können sich ändern.
Idiomatisches Java · Entwurf der Schreibweise, nicht Teil der dokumentierten API
WebViewConfiguration configuration =
WebViewConfiguration.hardwareAccelerated()
.licenseKey(System.getenv("JWEBVIEW_LICENSE"));
JWebView page = new JWebView(configuration);
page.navigation().loadUrl("https://example.com");
JFrame frame = new JFrame("My application");
frame.add(page);
frame.setSize(1100, 720);
frame.setVisible(true);
Snake Case · wie im aktuellen API-Entwurf
WebView_configuration configuration =
WebView_configuration.hardware_accelerated()
.license_key(System.getenv("JWEBVIEW_LICENSE"));
JWebView page = new JWebView(configuration);
page.navigation().load_url("https://example.com");
JFrame frame = new JFrame("My application");
frame.add(page);
frame.setSize(1100, 720);
frame.setVisible(true);
Idiomatisches Java · Entwurf der Schreibweise, nicht Teil der dokumentierten API
// Tabs, address field and toolbar, one JWebView per tab.
WebViewConfiguration configuration =
WebViewConfiguration.hardwareAccelerated()
.licenseKey(System.getenv("JWEBVIEW_LICENSE"));
BrowserView view = new BrowserView(configuration);
view.displayMode(DisplayMode.MINIMAL_UI);
view.loadUrl("https://example.com");
Snake Case · wie im aktuellen API-Entwurf
// Tabs, address field and toolbar, one JWebView per tab.
WebView_configuration configuration =
WebView_configuration.hardware_accelerated()
.license_key(System.getenv("JWEBVIEW_LICENSE"));
Browser_view view = new Browser_view(configuration);
view.display_mode(Display_mode.MINIMAL_UI);
view.load_url("https://example.com");
Idiomatisches Java · Entwurf der Schreibweise, nicht Teil der dokumentierten API
public class Greeter
{
@JsAccessible
public String greet (String name)
{
return "Hello, " + name;
}
}
// The page can now call app.greet("Ada").
page.mainFrame()
.executeJavaScript("window")
.putProperty("app", new Greeter());
Snake Case · wie im aktuellen API-Entwurf
public class Greeter
{
@Js_accessible
public String greet (String name)
{
return "Hello, " + name;
}
}
// The page can now call app.greet("Ada").
page.main_frame()
.execute_java_script("window")
.put_property("app", new Greeter());
Eine umfassende Browser-API.
Geplante Fähigkeiten. Nichts davon ist bereits verfügbar.
Browser
- Navigation und VerlaufURLs und HTML laden, im Verlauf blättern, neu laden und stoppen.
- Frames und DOMDas geladene Dokument lesen und ändern, auch iframes.
- JavaScript ausführenJavaScript aus Java aufrufen und die Seite zurückrufen lassen.
- Profile und SitzungenGetrennte Cookie-, Cache- und Passwortbereiche, auch private Sitzungen.
Netzwerk
- Anfragen abfangenAnfragen prüfen und ändern, Header setzen.
- Cookies und AuthentifizierungCookies verwalten und HTTP- und Proxy-Anmeldung beantworten.
- Proxy-KonfigurationDatenverkehr über einen Proxy Ihrer Wahl leiten.
- Eigene SchemataEigene URL-Schemata registrieren und aus Java beantworten.
Desktop
- Downloads und DialogeZielort für Dateien wählen, Dialoge behandeln oder ersetzen.
- Drucken und PDFEine Seite drucken oder als PDF-Datei schreiben.
- DevToolsDie Entwicklerwerkzeuge oder einen Remote-Inspektor öffnen.
- Hardware- und Off-Screen-RenderingMit Hardwarebeschleunigung oder in einen Puffer zeichnen.
Wie Sie JWebView einsetzen können.
Wo ein eingebetteter Browser in einer Java-Desktopanwendung typischerweise seinen Platz hat.
Hybride Desktop-Oberflächen
Teile der Oberfläche mit Webtechnik bauen und mit Ihrem Java-Code verbinden.
Unternehmens-Desktopsoftware
Interne Portale und Webanwendungen im Client zeigen statt in einem getrennten Browser.
Finanz- und Versicherungsanwendungen
Webbasierte Formulare, Dokumente und Berichte in einen bestehenden Desktop-Ablauf holen.
Industriesoftware
Eine webbasierte Bedien- oder Konfigurationsansicht neben die Werkzeuge stellen, die sie brauchen.
Entwicklerwerkzeuge
Dokumentation, Vorschauen und webbasierte Editoren in ein Werkzeug oder eine IDE einbetten.
So greift es ineinander.
Ihr Java-Prozess
Eigener Browserprozess
- Chromium läuft im eigenen Prozess; die JVM lädt keine CEF-Bibliothek.
- Java-API und Host sprechen über ein versioniertes IPC-Protokoll (Thrift).
- Keine Abhängigkeit von der JetBrains Runtime.
Eine Prozessgrenze trennt Zuständigkeiten. Sie garantiert nicht für sich allein, dass ein Browserabsturz die Anwendung nicht beeinflusst oder dass sich jeder Fehler sauber beheben lässt.
JWebView ist in Entwicklung.
Wir bauen JWebView, damit sich Chromium-Integration in Java-Desktopanwendungen leichter einführen und pflegen lässt, und sprechen mit Entwicklern und Softwarehäusern, um das erste Release zu priorisieren.
- Die Architektur steht: Chromium im eigenen Prozess, ein versioniertes Protokoll zur Java-Schicht.
- Die Java-API liegt als schriftlicher Vertrag im Entwurf vor.
- Es gibt keinen öffentlichen Build und keinen Veröffentlichungstermin.
Zielplattformen: Windows x64 / ARM64, macOS Intel / Apple Silicon, Linux x64 / ARM64, mit Java 17 oder neuer. Noch keine ist als geprüft erklärt.
Sprechen wir über Ihre Java-Anwendung.
Sie prüfen eingebettetes Chromium für eine bestehende oder geplante Java-Desktopanwendung? Wir möchten Ihre Anforderungen verstehen.
In Entwicklung · Kein öffentlicher Veröffentlichungstermin angekündigt
Einfache Lizenzierung für Java-Entwickler.
Lizenzoptionen für Open-Source-Projekte, unabhängige Entwickler und Softwareteams.
Open-Source-Projekte
Kostenlos
Für Open-Source-Anwendungen. Proprietäre Anwendungen benötigen eine Indie- oder Business-Lizenz.
- Vollständige Browser-API
- Weitergabe des proprietären JWebView-Binär-JARs
- Keine zeitliche Begrenzung
- JWebView selbst bleibt proprietär; der Quellcode ist nicht enthalten
Indie
Wird bekannt gegeben
Für unabhängige Entwickler.
- Kommerzielle Anwendungsentwicklung
- Vollständige Browser-API
- Kommerzielle Weitergabe unter Lizenz
- Optionen für Wartung und Updates
Business
Auf Anfrage
Für Unternehmen, die Java-Anwendungen entwickeln und vertreiben.
- Vollständige Browser-API
- Kommerzielle Weitergabe unter Lizenz
- Team- und Produktlizenzen
- Optionen für Wartung und Support
JWebView ist in Entwicklung. Lizenzbedingungen, Preise und Verfügbarkeit werden kurz vor der Veröffentlichung bekannt gegeben.
Auf die Warteliste für den frühen Zugang.
Tragen Sie sich in die Warteliste ein. Eine E-Mail-Adresse, sonst nichts, und eine Nachricht von uns, sobald es etwas zum Ausprobieren gibt.
Wird auf unserem eigenen Server gespeichert und nur für diese Ankündigung verwendet.
JWebView ist ein Produkt in Entwicklung; Name, Umfang und Verfügbarkeit können sich ändern. Chromium, Java und alle weiteren Produktnamen sind Marken ihrer jeweiligen Inhaber. levlabs steht in keiner Verbindung zu ihnen.