DeathArrow 6 hours ago

I agree with points about openness and gate keeping. But from my point of view, the web is the worst platform to run apps.

I worked on microcontrollers, system software, desktop software, mobile apps, games and now I am a full stack web developer who mostly does backend and defers most of the front-end tasks to colleagues.

I don't like JS frameworks and it was far more enjoyable for me to use QT, Borland C++Builder, Windows Forms XCode and Android Studio than to use Angular and React and even Vue.

Aside from Web front-end to being a less enjoyable experience for me, the Web was designed for websites, not for apps. Web as an app platform means subpar experience for the users, too.

We tried with Flash and Java applets running in the browser. Those died and now we have the Javascript mess.

When, if ever, Wasm will have full access to browser DOM, maybe we can get rid of the Javascript mess. But then, again, why bother running a binary app in the browser when you can run it on the desktop or phone?

And even if web as an app platform is said to promote openness and impede gatekeeping it still has a terrible downside for the end user: it makes the user rent the software instead of owning it.

  • pjmlp 5 hours ago

    The issue with renting software, is that it will happen even in native apps, because it is the only way most companies can get some money out of their products.

    Piracy doesn't bring any money, and forever licenses don't scale to keep a steady income per month after the user base is settled, and everyone likes to get a steady income for their work.

    • aragilar 5 hours ago

      True, but it's much easier for web apps to alter the deal than native apps, given most of their local state is ephemeral and hard to access, and much of the useful data, and potentially even software, is on the server. How many emulators are there for web apps, compared with emulators for nearly every popular OS/platform in the last 40 years?

      • pjmlp 5 hours ago

        It is just as easy with native apps distributed via app stores, which is why most companies aren't that bothered with gatekeeping, as folks in sites like HN.

        Emulators for Web apps doesn't make sense, that is a browser.

        • aragilar 2 hours ago

          It naturally depends on the app (e.g. an app that simply calls out to an API naturally has the same issues whether it is native or not), but native apps tend to work offline, and you have the binary in a somewhat self-contained form, so you can (with the level of effort varying on platform, and the state of the available emulators) run the app with your data on a different machine/system.

          For local-first web apps, which would be the easiest web apps to do this with, you have to fight the browser to do this, and I'm not sure how you would be able to dump out the state and code of a web app on Android Chrome and load it in Desktop Firefox. That and being able to update/modify the app locally permanently (and maybe even control updates) would I think make the equivalent of a web app emulator.

        • Tarq0n 4 hours ago

          Emulating a client-server application usually entails emulating the server, and only minimally modifying the client.

    • DeathArrow 5 hours ago

      > Piracy doesn't bring any money, and forever licenses don't scale to keep a steady income per month after the user base is settled, and everyone likes to get a steady income for their work.

      How about selling a new version with more features? That used to work in the past. Or sell a new software. That used to work, too.

      • pjmlp 5 hours ago

        Because as I clearly pointed out " forever licenses don't scale to keep a steady income per month after the user base is settled".

        After a tipping point no one is buying new versions in an amount that can keep the salaries of the building rent, employees salaries, company taxes and whatever else is required monthly in a continuous flow that can keep the company going, without starting to cut down business costs.

        The only new feature most will care about is that the version they own doesn't run on the new OS.

        It is exactly the same thing as people stuck in Java 8, Python 2, .NET Framework, C99, C++11,... it works for the purposes of their employeer, and the costs to upgrade doesn't justify the outcome, unless forced by external factors.

        Subscriptions started exactly because that model doesn't scale.

        Anyone that starts a business quickly discovers how "easy" these things are in practice.

  • jbjohns an hour ago

    The founder of Leptos makes a pretty good argument [1] that the bottleneck for WASM isn't really the DOM and that they are already faster than some popular JS frameworks even with the current constraints.

    [1] https://youtu.be/4KtotxNAwME?si=IEZ5kRHR_W2o9i_k

    • pjmlp an hour ago

      Just tried the site, and already the first problem is isn't as interactive as the Websites for any JavaScript framework, because naturally there is a whole contraption to make the code run into the browser.

skybrian 14 hours ago

I'm looking at the list of top websites and thinking "when have I ever wanted to install the mobile app?" The only one I see that I use is Spotify. Maybe the time spent on mobile is in other apps?

But I'm probably an outlier because I spend most of my time on websites, even on phone and tablet.

It would be nice to see this broken down by market segment. I don't see any banks in the list. I use my bank's app for certain reasons like depositing checks and Zelle.

  • gruez 13 hours ago

    >But I'm probably an outlier because I spend most of my time on websites, even on phone and tablet.

    Meanwhile our users are clamoring for app version of our web app, even though it's just a web wrapper. I guess some people just have a "there's an app for that" mentality.

  • tonyhart7 2 hours ago

    because western especially people got to tech has more chance to comfortable being on the web than the app

    example of Gen Z and alpha social media addict that used to use Tiktok,Snaps etc You cant deny that the use of web is dying and I still not mentioning Asia market where mobile is the first choice

  • nchmy 13 hours ago

    I think what youre missing is that most of these are just websites, not "apps". And they suck

pards 2 hours ago

What does the OP mean by "web" in this context?

- UI running in browsers?

- TCP/IP?

- HTTP(S)?

I personally think ReST APIs accessed over HTTP + TCP/IP have a lot of utility but I think we can do better on the UI front. Maybe we need an alternative to the web browser that can run a different (or variety of) languages other than Javascript, with a better presentation option than the DOM.

  • crabmusket 2 hours ago

    This is a lengthy quote from TFA but I think it best describes what the author means by "the web" in practical terms:

    <quote>

    As I see it, the web is the only generational software platform that has a reasonable shot at delivering a potent set of benefits to users:

    - Fresh

    - Frictionless

    - Safe by default

    - Portable and interoperable

    - Gatekeeper-free (no prior restraint on publication)

    - Standards-based, and therefore...

    - User-mediated (extensions, browser settings, etc.)

    - Open Source compatible

    No other successful platform provides all of these today and others that could are too small to matter.

    Platforms like Android and Flutter deliver subsets of these properties but capitulate to capture by the host OS agenda, allowing their developers to be taxed through app stores and proprietary API lock-in. Most treat user mediation like a bug to be fixed.

    </quote>

    The DOM seems critical to the user mediation goal, and user mediation is IMO a critical differentiator with other platforms.

    E.g. the web would be way less cool if I couldn't have "reader mode".

devjab 16 hours ago

This is a very good article and I agree with most of it. I never really understood why React and Angular became big for the general web. They have a lot of usage in enterprise applications, where you typically access them from a “pc”, but even then they suck on the tablets your employees drive around with. At least for the most part they don’t suck that much worse than the terrible native clients that came before (and still do in the rare case that a supplier actually build a native mobile app). Why that spread to the wider web is beyond me though. I get why you would use it for personal projects if it’s your day time job anyway, but a page reload never hurt anyone.

I personally think that the most responsible “father” is finance. The article states that there is more money with the web, but in my experience it’s far easier to lock down payments through apps. I agree that part of this is because native apps are better on mobile, but they are also much easier to work with and consume. It’s not easy to make payments function well on the web while in a native app it’s just a click with well powered api behind it. Serving both users and developers. Now, it probably could be easier on the web, but who would deliver it? The article calls out Apple and to some degree Google as guilty of not making browsers competitive with mobile apps, but why would they? If anything it’s in their best interest to keep the web shitty on mobile.

  • righthand an hour ago

    They became big because those companies paid for tech evangelism. People got excited and adopted, which in turn created more evangelists (unpaid) for those frameworks.

    Compare them to HTMX that only has unpaid evangelists, each time it is brought up on HN, people compare it to React because of the strong base around React, creates a lens of how people see the world. Even though HTMX is a completely different framework with different intents.

  • gruez 13 hours ago

    >I never really understood why React and Angular became big for the general web.

    As opposed to what? Server side rendered pages with random jquery snippets sprinkled around for interactivity? I prefer the reactive model far more than manually trying to update the page myself.

    • pjmlp 5 hours ago

      Apparently SSR is quite hot in JS frameworks, after a new generation rediscovered how we oldies do Web development in .NET, Java, Ruby, Python, Go, PHP....

    • devjab 7 hours ago

      You could just do page reloads. Of course if you don’t really need very advanced authentication with role-based access control there is also HTMX which is around 10kb.

ickelbawd 16 hours ago

I have some sympathy for this viewpoint. And I think Alex’s heart is in the right place—Nextjs is a dumpster fire and react server components are when react finally jumped the shark for me.

Maybe if we had HTML6 we wouldn’t be in this scenario. HTML5 was great but form building on the web (without JS) is a second-rate experience. And it’s even more miserable once JS is in the mix, but hey developers can provide a much better UX for end users than HTML and CSS alone could possibly provide.

Sorry Alex, but without JS the web would have died a decade ago as phones took over. It’s only JS that keeps us in the ring.

  • Devasta 16 hours ago

    HTML can never be improved, that is at the very foundation of its current form. We are 20 years into the takeover from the W3C and still can't even do a PUT request without JS, nevermind anything approaching even one tenth of the functionality of XForms.

    The web of semantic documents died years ago, it's an application platform now and that means JS. HTML is naught but a payload carrier.

    • pjmlp 5 hours ago

      I was really disappointed that XHTML effort was killed by the HTML5 folks, we could be so much better, but it is as it is.

      • Devasta 38 minutes ago

        The founding members of the WHATWG really are the Thomas Midgley's of the software world. The world will spend the next century of software development trying to repair their screwups.

    • forgetfreeman 9 hours ago

      All true, but an error doesn't become a mistake until you refuse to correct it. Perhaps it is finally time to let the web-as-an-application-layer paradigm die?

  • andrewflnr 14 hours ago

    He's not opposed to JS entirely (he specifically praises a handful of JS-based tech like ServiceWorkers), more so the all-JS single page type of app. To be fair he definitely could have been more clear about what he's talking about and what lines he's drawing.

    • nchmy 13 hours ago

      He has dozens of other exceptional essays on his site, and plenty on social media and conference talks. Check them out.

    • ec109685 13 hours ago

      All the desktop apps he cited that are a threat to native are SPA’s so it doesn’t seem like he hates them everywhere.

      I agree though it’s very odd that desktop web apps are serviceable, while they universally are horrible on mobile.

      • andrewflnr 13 hours ago

        Because their performance falls below acceptable levels specifically on (relatively slower) mobile devices. It takes a looong time for him to get around to it, but performance (specifically UI latency) is the crux of the whole article, as I read it at least.

        • marcus_holmes 12 hours ago

          Yeah, I read this (and some of his linked articles) as pointing out that Apple are specifically killing browser performance and features so that PWAs cannot compete with apps on iOS.

          Specifically because they can't claim 30% of revenue from web apps.

          • JimDabell 4 hours ago

            It’s wishful thinking. Apple is being used as a scapegoat for the web’s failings here. PWAs would be so successful if it weren’t for Apple! is the easy but wrong answer.

            It’s possible to deploy a PWA to Google Play so that it’s installed on Android just like a native Android app. If PWAs were as good as native apps, why would anybody build web + iOS + Android instead of just building web + iOS? Even if opening a PWA made an iPhone explode into flames, it would still be worth deploying the PWA to Google Play to eliminate Android development effort. But plenty of native Android apps are still being built every day. That’s not because of Apple. That’s because users prefer native.

            I am a huge fan of the architecture of the WWW. I think it’s the most successful API and platform in history for a reason. But there are a lot of reasons why people genuinely prefer native apps, and it doesn’t just boil down to mean old Apple refusing to support things or users being brainwashed. People still choose native over web when Apple is not a factor at all. Every single native Android app is a testament to that. So when people also choose native over web on iOS, why should we think that this is down to Apple and not for the same reasons they choose native over web on Android?

            It doesn’t help that the web platform veered off into web components either. When front-end developers were jumping on board React, Vue, Angular, etc., architecture astronauts working on the web platform spat out an unholy mess full of footguns. I prefer to work as close to the web platform as possible, so every so often I try again with web components before remembering how painful they are.

            The people working on web components should take a long hard look at why front-end developers keep choosing frameworks that either eschew web components altogether or abstract them so far away the user doesn’t have to think about them. Telling quote from the Svelte 5 announcement last week:

            > Equally, component composition is more awkward in Svelte 4 than it should be […] This is because in 2019 it seemed likely that web components would become the primary distribution mechanism for components, and we wanted to align with the platform. This was a mistake.

            https://svelte.dev/blog/svelte-5-is-alive

            I really hope the web does better, but in order for it to do so we need to be more honest about its failings. If you are a front-end developer and you feel optimistic about the future of web development, I invite you to try writing something reasonably complex using web components instead of your normal framework.

            • pjmlp an hour ago

              Not only Google, Microsoft is also a big pusher of PWAs, or used to be.

          • photonthug 7 hours ago

            > Specifically because they can't claim 30% of revenue from web apps.

            This feels true, but it’s just one horn of the dilemma. The other is where websites wreck their own UX intentionally to herd users towards apps, presumably because pushing ads isn’t as lucrative as grabbing location data, contact lists, or whatever else can be legally exfiltrated and sold.

            It’s weird to frame this problem as if it were all the fault of whatever trends in js development or browser development (even though I agree those trends often seem foolish and messy, at least to the outsider). The whole situation the author bemoans just looks like another symptom of surveillance capitalism, enshittification, etc, call it what you will. Even with a perfect web, users will still get pushed towards apps if apps are the best way to exploit the user. There’s no other calculus of platform aesthetics or excellence going on here

            • marcus_holmes 5 hours ago

              Agree. I think it's entirely possible that both Apple and other businesses are pushing people to apps (by destroying their website productivity), for different reasons.

  • aragilar 5 hours ago

    I doubt he's opposed to JS, given the number of new JS APIs he pushed Chrome to implement as part of Project Fugu, he seems more opposed to specific frameworks.

  • amadeuspagel 14 hours ago

    The author actually links to the NextJS page for server components as "a tacit acknowledgement that their shit stinks". I guess this is how you acknowledge progress if you want to write an article in the tone that is expected on HN and mastodon now.

  • DeathArrow 6 hours ago

    >Sorry Alex, but without JS the web would have died a decade ago as phones took over. It’s only JS that keeps us in the ring.

    Not really. Web would still be there but for websites not web apps. The web was designed for hypertext, a medium that is just supposed to deliver information not build apps upon.

DeathArrow 6 hours ago

How bad will it be if we will run apps on desktop and phones instead of the web?

Does the Facebook app provide a worse experience on the phone than the web app? Is Gmail phone app worse than Gmail web app?

forgetfreeman 9 hours ago

Pretty solid take on a roiling shitstorm that's been brewing for at least the last 15 years. One thing I strongly disagree with the author about is wanting the web to win. Of all possible outcomes the web coming out on top of the platform wars is the worst available. Simple fact of the matter is the web wasn't built for any of this shit as our bloated and still wildly insecure browsers demonstrate rather vividly. The web defaulting back to a largely static information display medium would free up so much client budget and development hours it's hard to imagine that multi-OS support for native apps wouldn't be a net savings over the long haul. Hell, just imagine the kinds of resources that would free up if forced migration of highly dynamic websites was a thing of the past (yeah I'm looking at you Drupal).

  • crabmusket an hour ago

    What are you suggesting complex Drupal sites be migrated to?

    • forgetfreeman 9 minutes ago

      Most would get migrated into the void where they belong. A small handful that have real use cases would have their interactive services ported to native app. Solutions already exist for commerce and donations features, remote data entry and retrieval would need a rethink I'm guessing. As with any massive paradigm shift there'd be a cull. I strongly doubt much of value would be lost.