Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A lot of people don't really feel like Flutter & the towards a modern web stack ideology are "web" apps. None of our extensions will work, our accessibility tools will all be broken.

It's an entirely new stack for apps unlike what the web is. Maybe that can be good for developers, maybe, perhaps, but gee it sure seems like a really bad bargain for users, user agency, and the technical legibility of our online world.



Yes, it's an entirely new stack, that's what the higher level commenter was talking about. I realize we've discussed this same article before but I do believe it is the way forward, for web apps at least, because the current HTML and CSS stack is really not as good as it could be, and as well, we are seeing a lot of new renderers in various languages coming out, so they'd need a new unified API. There is no reason to think that extensions would break once that new API is finished, because at the end of the day, it's all just Skia rendering the content, whether it translates from HTML or WASM.


I spent over a decade being the center of the ecosystem for something akin to web extensions for native Objective-C++ apps on iOS/macOS. I maintained a similar solution for Android/Java, and was starting work on something similar for C#.

The HTML/CSS web isn't some panacea for extensions. The code is minimized to the point of being obfuscated, and JavaScript engines provide almost no introspection into frames or closures. After-the-fact extending these apps is hard.

I would very honestly rather be sitting around in someone else's Flutter app with the goal of making some extension modification to the behavior than in someone's crazy DOM-based app, as at least the rules are clearer.

As it stands, though, HTML/CSS are just too complex. I could--probably alone, but certainly with a small team--build a browser that worked fully if the spec were something like WebAssembly connected directly to something like WebGPU.

The idea of a monopoly on browsers at that point would be laughable: we'd have a hundred of them, made by every company of any decent size, embedded into everything, and that spec would be both stable and would matter.

As it stands, we have like 2.5 web browsers at best, and I'm betting we are going to be down to 1.75 or so in the not-so-distant future. And yet, we continue to make the web MORE complicated to implement, which is simply demoralizing.

We can't even build a partial / limited browser renderer anymore, as progressive enhancement is dead now: if you don't support the full set of features then you'll run into modern React sites just giving up and showing a blank screen: even a browser that was fully capable just a few years ago is now dead in the water as it won't have all the crazy new CSS and JavaScript features you need.

And, why are we making this so hard? Because we think that the web is somehow more transparent than even a native app? It really isn't. There is a reason why we had tons of really invasive app behavior extensions for iOS and you almost never see anything integrated when it comes to web extensions: it is because the web's programming model is actually much more difficult to introspect and modify for anything other than superficial styling or wedged-in buttons that add mostly tacked-on behaviors.

There was someone recently on HN who went and added some feature to Gmail as an extension, and they seriously just bring up their own pane and require the user to have Oauth tokens for Gmail from their app, and the reason was because it is just too difficult to reach into Gmail and massively modify its behavior... but we would do that sort of thing on iOS all the time and it was not just easy, it was fun! Maybe a browser could be built that would give users the same kind of extension ability for the web--by ripping through all of the layers of JavaScript scope optimizations--but no one is going to ever build that as building a browser at all is an impossible task :/.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: