The web is great because people kept pushing its limits and weren't arbitrarily held back by bureaucrats. Even though Apple and Google have spent untold billions to push the "there's an app for that" line of thinking, the web has survived.
1. Youtube is just a generic video hoster, of which many came before, during, and will come after. As for the whole "pretend Youtube is a thing" thing, I can't remember one actual good video from a "content creator" ever. It's all circle jerking and quick videos on a topic based on least effort.
2. <video> tag has never had a single good implementation. They are all bugged and 100x slower/clunkier than using the built in menu on a CRT TV from the early 90s.
3. Yes, the web would be better if it was just static content. Even without <video> tag. The primary use of a <video> tag is clickbait (actually, almost nobody uses a <video> tag because they don't want to host video, and instead use a youtube embed, so <video> is not even used in practice). For anything else, like movies, porn, etc, it's 1000x more convenient to just download the video and watch it offline in a real video player like MPV. Web browsers still cannot even turn off that stupid "you are now in full screen" banner at the top of the screen, which fortifies my point that <video> is not good for what it is intended for: short one-off clips scattered throughout web pages.
4. The whole idea that it's hard to have a video tag is a product of licesnsing braindamage and the clusterfuck of video encoding standards.
5. The web is not great, and I try to avoid it as much as possible. Using a god damn terminal emulator (the most braindamaged obsolete shit in the world) is 1000x more pleasant than using a web browser.
<rant>
Is it not instead the case that today's hipster developers simply want to ignore that platforms exist beside their fancy McBooks? Is it not the case that today's developers prefer a bizarre interpreted untyped language simply because that's what they learned for building websites and they don't want to put up the effort to understand what a type system is? Is it not true that the same developers pull in dependencies reflexivly and never consider long-term maintenance, let alone such weird concepts like supply chain security? And finally did not some hip leaders invent the microservice architecture to cater to these idiots? Because it's nowadays simpler to have a huge, inefficient, pile of services that hides all complexity in the communication between these services than to have one well-designed, efficient system?
</rant>
Sorry for the rant, but sometimes I feel like the industry is actually regressing because many developers are simply lazy morons that hide behind buzzwords.
* is only for those two (and sometimes only one of those) platforms
* the preferred "version" on those platforms in an app, rather than web-based
It's clear from the scope of the mobile app market that there's a huge marketplace for a kind of application that essentially never existed on desktops. It seems a little bold to insist that the same x-platform toolkit must service mobile and desktop contexts, when so much is different between them, in particular display size and interaction style. Even more so when the evidence seems to be that not even the web has really managed to do this."Qt for Application Development is dual-licensed under commercial and open source licenses. The commercial Qt license gives you the full rights to create and distribute software on your own terms without any open source license obligations." https://www.qt.io/licensing/
But since you're such a boi genius, make something that can match and get ahead of it and i'm sure everyone will jump on your boat. Until then, your opinion will remain objectively useless.
I say we are the arch phase of the web, we understand the arch and it has served us well and it does save a little bit on materials. What we want to do is create bigger and better engineered structures like the pyramids.
It's been a long time since I used a cross-platform framework so maybe things have gotten better but what used to happen was that I'd run across something in them that didn't work right and then I'd have to do one of:
1. Just not use that in my application,
2. Implement that thing outside the framework which required me to (1) know how to do that thing natively and (2) figure out how to make my implementation work with the rest of the app that was using the framework, or
3. Figure out how to fix the bug in the framework which required me to (1) dive into the framework's internals and (2) probably required me to know how to do the thing natively.
Framework internals are complicated. This complexity is expected--when you are writing a native application you only need the complexity that is inherent in doing whatever it is that application is doing whereas a framework has to be flexible and general enough to serve the needs of a wide variety of applications.
If the framework is going to make me dive into its internals to get it to work there is a good chance that the total effort of making my app run on two or three platforms via the framework will be more than writing separate native apps for those platforms.
Any replacement technology/protocol which does the same "write once, use everywhere" thing and manages to perform better would still need to achieve wide adoption. And I feel like users would still want that to be able to play seamlessly with everything in their lives that they have online.
They've worked pretty closely with the folks who designed java bytecode, to try to learn from their institutional knowledge (repeating what they felt they did well, but learning from their perceived mistakes).
It hopefully will end up really nice, because it could provide us with a machine-agnostic IR that will work everywhere, have high performance, and if it becomes popular on the web, I could it leaking into the desktop space and starting to become a standard there as well.