I salute you for this effort, it won’t be trivial! For example, WKWebView doesn’t allow use of service workers… unless the domain you’re loading is included in the WKAppBoundDomains key of your app’s Info.plist file. Would be great to have all this info in one centralized place though!
Would be nice to have webkitgtk.
We have been shipping a Tauri app for the past couple years and while the idea of not shipping a chromium seems nice in practice it is very hard to have a nice experience across all OS. Linux being the hardest because webkitgtk is really not that great to be polite.
Hi Niklas here. I'm the other Co-Chair of the W3C WebView Community group that built this site. We took heavy inspiration and code from caniemail.com and are still discussing and working on building up this site. It's a very early stage with very little content. If you want to help us feel free to check out the GitHub repository: https://github.com/WebView-CG/Compatibility-Data-Project
Ben here, one of the co-chairs for the WebView CG. Super chuffed to see this pop up on hackernews today!
For a little context, our group is currently focusing our efforts this year on improving WebView compatibility data. The project is still very young and we’ll keep chipping away at it but please feel free to reach out and engage! You can find the repository here:
https://github.com/WebView-CG/Compatibility-Data-Project/tre...
One feature I look for in any webview is the ability to make parts of the UI transparent while still allowing mouse events over transparent pixels to seamlessly fall through to the window below while those events (not just clicking but hovering) over non-transparent pixels be intercepted as usual.
IMO the old ActiceX IE browser control had an exceptionally good (most performant
and natural) implementation of this feature. Unfortunately replicating it in chromium based webviews appears to be a lot trickier.
I wouldn't say it's a necessary feature, but it's particularly important for frameless & partially transparent apps with irregularly shaped UI components that interact with the mouse (see example here [1]; need to click the play button). Having an invisible rectangle around the component where mouse clicks mysteriously disappear can feel inelegant. This feature is also especially important for my own use case where I'm trying to make an app where the UI is essentially a "frame" around the screen, rather than a traditional window. It's much easier (& surprisingly efficient via the IE browser control) to simply use a single webview the size of the entire screen, render in the border regions and let mouse events fall through the transparent pixels.
I imagine the OP is layering views on top of each other and wants them to all respond to clicks. I could imagine a sticky “please log in” banner at the top of a view, something like that.
what is the webview here, is it the webview librariers on each platform instead of the browser?
I tried to do some UIs with OS specific webviews and it's kind of lacking, so I ended up with EletronJS in the end which contains a full blown browser, but it's resource hungry.
https://github.com/webui-dev/webui is another light weight option, it is a thin layer to provide you with a cross platform UI, and invokes browser to render everything, it's small yet has all the features of a true browser.
Additionally, not all in app browsers are custom things. Good apps use the system-provided SFSafariViewController on iOS and Custom Chrome Tabs on Android which are “real” instances of Safari and Chrome respectively and don’t allow app devs to snoop on browsing activity in the same way custom in-app browsers built with webviews do (though SFSafariViewController is better in this respect, since sessions are isolated per-app which bars cookie-based tracking whereas Custom Chrome Tabs seem to share the same browser’s session. Google also surfaces some light “engagement”APIs in theirs).
Thanks for the feedback! This is indeed something we discussed in the community group maintaining this site. We need have some definitions for WebViews and it's capabilities and are planning to put them on the site. There will be a glossary explaining everything at some point.
replying to your question from there: yes, I'm using SmartGit since 2014, and it's really good. there are others, 'more' free, or more paid -- depends on what you'd like. I'm sure you'll find logs of YT vids on this
SourceTree I think it's still the most popular 'as free as it gets' UI for git.
How timely. I was just trying to figure out how Webviews handled browser notifications yesterday (they don't which is obvious in hindsight I guess). That one doesn't yet resolve on this site, but I've bookmarked it
This is great. I want to add WebWebView to the list and show 100% compatibility, because we run Chrome on the server and open a portal to it via an iframe. You can see it running here: https://browse.cloudtabs.net/signupless_sessions and code here: https://github.com/BrowserBox/BrowserBox - But we have yet to release a developer API. Seeing this, we will double our efforts!
User submitted topics, people can submit which platform they were censored. So on the page “Covid vaccines are unsafe” - there’d be a grid and Facebook, YouTube, etc would have red marks.
Yet another person who does not understand what free speech means.
Proprietary platforms moderating user content on themselves is not an infringement of the users free speech rights. Proprietary platforms are not public spaces, they are private property and guests (users) have to abide by the house rules or be kicked out.
This is not true. It's quite a complicated topic that SCOTUS still has to fully adjudicate[1]. Regardless of what side you land on, the argument that "moderating user content on themselves is not an infringement of the users free speech rights" is not straightforward, given current legal debate[2][3].
The main issue is that there seem to be two competing claims to the First Amendment: users expressing their views on what some might deem the new "digital public square," and social media companies having the right to allow (or disallow) certain content on their private platforms.
Cool idea. Seems a little lacking. All of the following resolve on caniuse, but return nothing on this: quic, http3, webrtc, nesting (css), :not
edit... I see this page seems to include everything that is supported ( https://caniwebview.com/features/ ). Looks like a total of 7 pages. Hope to see this page evolve over time.
From that page.. A language for in browsing testing (because of the webassembly support)? But there’s some component features, so that doesn’t appear to be the case.
I’m an avid reader of HN and this is the first time I’ve seen this tool/language/lib mentioned on the front page. So I know nothing.
How did this make it to the top? I can’t be the only one guessing.
The Web has a lot of features, but not all of them are implemented by all browsers. The website (caniuse.com) provides you the info about which features are implemented by which browsers. So now you as a webdev can consider which features you want to use in your web apps.
Caniuse is a database listing browser support for all kind of web development features, i.e. what version of what browser supports what features of HTML, CSS, Javascript.
It helps web developers to determine what language features to use in order to be compatible with the browsers most of their users use.
If someone is unclear about what something does and the about page is more informative, then.. provide the link to the about page instead of the ambiguous feature page.
It is a website that you can type in some web technology such as "
CookieStore API" and know at a glance which browsers support it and which browser versions.
you search a feature and it tells you what browsers support what features, such as this for CSS Grid[0] highlights which browsers support the CSS Grid specification. You can search for individual sub features as well.
Agree. The web these days just assumes you know. Being detached from the internet for 10 years would probably have more drastic consequences than people realize.
There’s a middle ground to be struck here. CanIUse is a very frequently cited web development tool, if you’re not a web developer you might not know of it and that’s absolutely fine. I don’t think every web site has to assume the user has been offline for ten years before getting to the meat of their purpose.
familiarity with tools being assumed given the HN audience I don't think is a big issue. No issue with asking I've found if one isn't sure, usually someone will answer!
A webview is an embedded browser view within a native application. As an end user, you typically encounter them during the login, "pay with credit card" and "terms of service" sections of mobile apps.