Live data from Hacker News

WebWindow, a cross-platform webview library for .NET Core

blog.stevensanderson.com

11–20 of 55 posts

Re: WebWindow, a cross-platform webview library for .NET Core

#11
post #9

this is really interesting! i'm wondering if there's a variant of this project out there that still uses node/javascript, but similarly avoids the chromium packaging and leans on the OS's rendering engine.

There was Electrino a couple of years ago but it looks dead. https://github.com/pojala/electrino

Re: WebWindow, a cross-platform webview library for .NET Core

#12
post #8

Has anyone experience with Blazor in production? I would like to jump into it but it still feels a little immature to me.

It does not require Blazor. As the article says, you can use anything you want and the demo has vue.js

Re: WebWindow, a cross-platform webview library for .NET Core

#13
post #8

Has anyone experience with Blazor in production? I would like to jump into it but it still feels a little immature to me.

It does not require Blazor. As the article says, you can use anything you want and the demo has vue.js

Currently I'm also using VueJs, but there are benefits of having one language for both the front and backend.

With Blazor you can also share your models and other code if needed.

Re: WebWindow, a cross-platform webview library for .NET Core

#15
I'm potentially the only one being skeptical. Don't get me wrong, it's nicely done (for an experiment), but we also did similar experiments several years ago.

At the fundamental level such an approach works, but it brings several issues that are not addressed with it (in contrast to, e.g., Electron). The most pressing one being "I don't want any browser - I want a browser that I know is capable of doing what I want".

Re: WebWindow, a cross-platform webview library for .NET Core

#16
post #9

this is really interesting! i'm wondering if there's a variant of this project out there that still uses node/javascript, but similarly avoids the chromium packaging and leans on the OS's rendering engine.

it seems that this could support node, just not directly like electron (i.e. you'd have to start a separate node server and point webwindow to that).

Re: WebWindow, a cross-platform webview library for .NET Core

#17

I'm potentially the only one being skeptical. Don't get me wrong, it's nicely done (for an experiment), but we also did similar experiments several years ago. At the fundamental level such an approach works, but it brings several issues that are not addressed with it (in contrast to, e.g., Electron). The most pressing one being "I don't want any browser - I want a browser that I know is capable of doing what I want".

So most of these techniques used to have the problem that on Windows "any browser" was always "Internet Explorer"; but while I don't disagree that this is still an issue, it is much much much less of an issue now that Internet Explorer is Edge and Edge is Chromium (which I am not saying is a good state of affairs for the web as a whole, but makes this use case not fall as easily to this complaint).

Re: WebWindow, a cross-platform webview library for .NET Core

#18
This looks like a nice solution to save some time for cross-platform developers on .NET Core. I'm sure we're going to see a lot more of this once the new Chromium version of Edge is released mid Jan 2020 (which will include the new webview2 component).

If you don't want to add an external library to do this, or your source is already platform dependent, just use the default web view component of each operating system (WebBrowser for Windows, WKWebView for macOS and WebKitGTK+2 for Linux) like this library does.

To work around some of the ugliness of the old IE rendering engine used in the current WebBrowser control on Windows, just add this meta tag to the HTML file to ensure it uses the new versions of IE to render the UI:

You can disable most non-native app behavior in JS (like scrolling or the default right click context menu using javascript). You're then free to use whatever front end framework you want and pass data between the web-app and native code using JSON.

Post reply on HN