Gran parte delle ragioni per cui esiste una pagina Web è consentire l'incorporazione di contenuto non attendibile all'interno dell'applicazione. Se si leggono i casi d'uso per la visualizzazione Web, molti di essi indicano il fatto che BrowserWindow, per impostazione predefinita, ha accesso completo alle API del nodo. Ospitare contenuti non fidati al suo interno sta consegnando ai contenuti un accesso significativo al tuo sistema e presenta un problema di sicurezza. La visualizzazione Web, tuttavia, non ha l'integrazione Node attivata per impostazione predefinita, quindi protegge l'applicazione e la piattaforma dal contenuto ospitato.
Tuttavia, questa distinzione è un po 'una falsa pista poiché l'integrazione del nodo può essere disabilitata su BrowserWindow e può essere abilitata su un elemento webview. Vale a dire, dovresti essere in grado di ospitare in modo sicuro contenuti non affidabili in una BrowserWindow togliendo l'accesso a Node e ospitando contenuti attendibili in una visualizzazione web e fornendogli l'accesso al Nodo.
La chiave per la WebView è che permette l'embedding di contenuti non attendibile su una pagina web/view nell'applicazione. Se, all'interno della stessa vista/pagina, si desidera disporre di contenuto attendibile con accesso completo alle API del nodo e alcuni contenuti non attendibili e con accesso limitato o nullo alle API dei nodi, ciò può essere ottenuto solo con l'elemento webview . È un modo per separare e bloccare una parte di una pagina Web ospitata in una BrowserWindows e consentire al resto di essere aperta.
A parte l'incorporamento di contenuto non attendibile, l'unico altro caso a cui posso pensare di utilizzare le visualizzazioni Web su BrowserWindows è se si desidera aprire e visualizzare più processi separati in un'unica finestra. Un'applicazione potrebbe scegliere di creare 10 finestre differenti per 10 processi diversi e avere la piattaforma per gestire il layout, la messa a fuoco, ecc. Oppure aprire 1 finestra con 10 Webviews per 10 diversi processi e gestire il layout, il focus, ecc stesso all'interno di quella finestra.
(Edit) Per affrontare la modifica alla domanda:
Per entrambi i casi vi suggerirei di usare un WebView.
Nel primo scenario, un browser, hai menzionato "schede".Non esiste un metodo semplice e multipiattaforma che conosca per la creazione di applicazioni a schede che utilizzano più BrowserWindows perché le finestre sono create dal sistema operativo nativo. Tuttavia, è possibile ottenere questo risultato creando un'applicazione a schede in un'unica pagina Web, ciascuna scheda contenente una visualizzazione Web. In questo caso, è necessario assicurarsi che l'integrazione del nodo sia disabilitata nella visualizzazione Web (dovrebbe essere predefinita), poiché il caricamento del contenuto dal Web è generalmente non attendibile.
Il secondo scenario, un editor con HTML reso, non è così chiaro. Potresti usare una webview, un iframe o renderizzare il contenuto direttamente a un div. Il rendering diretto su un div può essere l'opzione migliore per qualcosa come Markdown o piccoli snippet di HTML, a patto che non sia necessario il css personalizzato o che si desideri eseguire JavaScript. In ogni caso, ha senso usare una webview o un iframe. La differenza è che una webview inizia in un processo separato e può avere l'integrazione del nodo o la sicurezza flessa mentre un iframe viene caricato nello stesso processo di BrowserWindow e, penso, ha bloccato la sicurezza. Indipendentemente da ciò, per ottenere un look side-by-side senza un'altra finestra è necessario utilizzare un elemento HTML come una webview e non una BrowserWindow.
Cosa stai cercando di realizzare? BrowserWindows e s sono piuttosto diversi, il che rende questa una domanda difficile a cui rispondere. Se aggiungi ciò che stai cercando di fare in modo specifico, potrei essere in grado di aiutarti. –
ccnokes