JWebView von levlabs · In Entwicklung

API-Stil und Benennung

Die geplante JWebView-Java-API lässt sich in zwei Schreibweisen darstellen. Beide Beispiele zeigen dieselben Schritte mit denselben Werten. Alle Namen sind vorläufig.

Stand: Entwurf

Nichts von dem, was hier beschrieben ist, ist bereits verfügbar. Die Schreibweise Snake Case folgt dem aktuellen schriftlichen API-Entwurf. Die Schreibweise Idiomatisches Java ist ein Vorschlag. Es wird eine stabile Java-Schreibweise gewählt; beide hier gezeigten Varianten dienen der Bewertung. Zu Aliasen oder Kompatibilität zwischen ihnen machen wir keine Aussage.

Dasselbe Beispiel in beiden Schreibweisen

Idiomatisches Java (Entwurf der Schreibweise)

Folgt den üblichen Java-Konventionen: Typen in PascalCase wie WebViewConfiguration, Methoden in camelCase wie hardwareAccelerated() und loadUrl(). Das würde sich lesen wie der JDK- und Swing-Code drumherum.

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 (aktueller API-Entwurf)

Typen werden Pascal_case geschrieben, zum Beispiel WebView_configuration. Methoden und Felder sind snake_case, zum Beispiel hardware_accelerated() und load_url(). Konstanten stehen in ALL_CAPS. Überschreibungen von Swing- und JDK-Methoden wie setSize behalten ihr eigenes camelCase.

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);

Was sich unterscheidet

ElementIdiomatisches Java (Entwurf)Snake Case
TypenWebViewConfigurationWebView_configuration
MethodenhardwareAccelerated(), loadUrl()hardware_accelerated(), load_url()
Annotation@JsAccessible@Js_accessible
KonstantenMINIMAL_UIMINIMAL_UI
Swing- und JDK-NamensetSize, getenvsetSize, getenv

Was sich nicht unterscheidet: die Reihenfolge der Aufrufe, die Argumente, die Werte und das, wofür jeder Name steht.

Welche Schreibweise würden Sie bevorzugen? Sagen Sie es uns in einem Gespräch zur Produktvorstellung.

Demo vereinbaren Zurück zum Codebeispiel