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
| Element | Idiomatisches Java (Entwurf) | Snake Case |
|---|---|---|
| Typen | WebViewConfiguration | WebView_configuration |
| Methoden | hardwareAccelerated(), loadUrl() | hardware_accelerated(), load_url() |
| Annotation | @JsAccessible | @Js_accessible |
| Konstanten | MINIMAL_UI | MINIMAL_UI |
| Swing- und JDK-Namen | setSize, getenv | setSize, 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.