• spikespaz@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    Your argument for "as native as most apps” falls apart pretty quickly though.

    I’m not saying it’s a bad app. I’m just saying it’s a badly made app, because JavaScript was a joke 30 years ago, it’s a joke today. (ThePrimeagen)

    Most apps aren’t native, so being “as native” as the baseline average or better isn’t even saying much at all. They’re all using V8, and I’m slightly less disgruntled if they use something like React Native or whatever instead of Vue and virtual DOM stuff. This was brief but you get the idea.

    Also, Xamarin and Flutter/Skia do exist.

    • boonhet@lemm.ee
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 year ago

      React native, Xamarin, Flutter aren’t REALLY native either. Neither are, like I said, the main languages either mobile platform’s owner wants you to use.

      Mobile apps are rarely native for real these days.

      Voyager uses React so it uses the Virtual DOM much like Vue (which often tends to be faster) or React Native. I can’t see how using React Native instead of React like you suggested is all that much better. It’s all the same shit.

      You want native, there’s Dioxus for Rust or I guess QT for C++. Those will compile into actual binaries rather than some sort of bytecode running in an interpreter. But these take much more time to write complex apps in and in a world where we want all our apps to be free, they’re hard to justify.

      It’s interesting you quote ThePrimeagen about Javascript, because it’s literally the main language he uses/used at Netflix and he often says it’s not a bad language. He’s got a workshop on Javascript coming in November.

      I hate the language as much as any and have avoided using it professionally, but your arguments are pretty weak. Modern Javascript engines are ridiculously fast, which is why a WELL MADE web app can be much faster than a shoddily made “native” app.

      Edit: It’s now available on the app store, making it native by your definition. Which is to say it has direct access to some system APIs, but it still renders a vDOM like any other react native app.