Evalueer webview_flutter_web vervanging (21 maanden stale, zelf-benoemd 'severely limited') #1742
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#1742
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Achtergrond
webview_flutter_web(0.2.3+4) is 21 maanden niet bijgewerkt. De README van het pakket zelf beschrijft het als:Het is een officieel Flutter-team-pakket (flutter.dev, verified), maar het lijkt in de ijskast te staan.
Gebruik in OciDeck
webview_flutter_webwordt gebruikt voor Mermaid-diagram rendering op het web-platform:lib/services/mermaid_render_service.dart(regel 19)lib/services/mermaid_web_renderer.dart(regel 11)Op native platforms (macOS, Linux, Windows) wordt Mermaid gerenderd via een andere route. De
webview_flutter_webis specifiek voor de web-build.Het probleem
evaluateJavascriptofloadHtmlStringnodig, maar de beperkingen kunnen onverwachte problemen gevendependency_overridesnoch als direct dependency — het is een transitive dependency vanwebview_flutterdie we expliciet pinnen metwebview_flutter_web: ^0.2.3+4Alternatieven om te onderzoeken
webview_flutterzonder web-backend — op web een iframe gebruiken met Mermaid via CDN (maakt wel een externe afhankelijkheid, wat botst met de 'geen extern' waarde).index.htmldie Mermaid laadt en renderen viadart:js_interop(geen webview nodig).flutter_inappwebview— actiever onderhouden webview-pakket met betere web-ondersteuning.Wat dit issue moet uitzoeken
webview_flutter_web? Alleen Mermaid, of meer?flutter_inappwebvieween veilig alternatief?Prioriteit
Medium. Het werkt nu, maar 21 maanden zonder updates is een risico voor de web-build op de langere termijn. De bewaker-waarde 'soevereiniteit' speelt hier: we willen niet afhankelijk worden van een CDN voor Mermaid.
Licentie- en taalonderzoek
Huidige package
loadRequestenloadHtmlString.Overwogen alternatieven
Eigen-code alternatief (server-side Mermaid)
Als we Mermaid server-side renderen in plaats van via een webview, hebben we alleen de packages die we al hebben:
Conclusie
De licenties zijn geen obstakel voor welke route dan ook. De keuze hangt af van architectuurvoorkeur: minimaal blijven (eigen bridge) of een volwassen webview-pakket nemen (flutter_inappwebview).
Evaluatie
Gebruik in OciDeck
webview_flutter_webwordt uitsluitend gebruikt voor Mermaid-diagram rendering op web:lib/services/mermaid_render_service.dart(regel 19)lib/services/mermaid_web_renderer.dart(regel 11)Op native platforms (macOS, Linux, Windows) wordt Mermaid via een andere route gerenderd. Het pakket is een transitive dependency van
webview_flutterdie expliciet gepind is.Risico-inschatting
evaluateJavascript/loadHtmlStringnodig, dus de beperkingen zijn momenteel geen probleemAlternatieven
index.htmldie Mermaid laadt viadart:js_interop. Geen webview nodig. Kleinste diff, maar wel een architecturele wijziging.flutter_inappwebview— actiever onderhouden, maar zwaarder en voegt een nieuwe dependency toe.Aanbeveling
Medium prioriteit. Het werkt nu, maar het risico groeit. De beste route is optie 1 (eigen web-bridge via
dart:js_interop) — dit past bij de 'soevereiniteit' waarde en verwijdert de webview-afhankelijkheid voor web. Plan als aparte sessie/PR.