• Chewy@discuss.tchncs.de
    link
    fedilink
    arrow-up
    20
    arrow-down
    2
    ·
    9 months ago

    Our Xamarin app is a bit sluggish and uses a lot more resources on your device than you might expect.

    Especially on my slower phone, the Bitwarden UI feels like it would shortly freeze. And some actions take longer than expected.

    The new native apps with a new UI look great and should be better to use.

  • merthyr1831@lemmy.world
    link
    fedilink
    arrow-up
    7
    arrow-down
    1
    ·
    edit-2
    9 months ago

    Eh. Crossplatform isnt the problem here; Xamirin is. There’s a host of next gen cross platform frameworks like Flutter, React Native, Blazor that save you having to maintain two distinct apps; something that’s only going to add a bunch of developer burden

    • moritz@l.deltaa.xyz
      link
      fedilink
      arrow-up
      7
      arrow-down
      2
      ·
      9 months ago

      I always recognize Flutter apps on Android as being non-native and avoid them because of this.

      I think it is because they seem to never use the system font but Quicksand instead and all the animations feel slightly off.

      • merthyr1831@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        9 months ago

        Personally, beyond a few material-like components I always prefer it when an app goes for its own system-agnostic design language like Spotify does. On desktop I’m definitely more picky if I can get away with it; Qt dor KDE and GTK for GNOME etc

      • deadcream@sopuli.xyz
        link
        fedilink
        arrow-up
        2
        ·
        9 months ago

        Same with Compose even though it’s ironically considered native in the Android dev community.

        The easiest way to tell that the app is not native is tooltips (those that appear when you long press on a button in a toolbar). For some reason UI frameworks just can’t agree to display them in the same way, even if they use material design. Compose’s ones are especially bad (some apps like Play store actually have different kinds of tooltips on different screens, meaning they use multiple UI frameworks in the same app).

    • fmstrat@lemmy.nowsci.com
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      edit-2
      9 months ago

      Agree. Will it be as performant as native? No. But will it be plenty performant for a password manager, yes.

      The only thing I wish RN and Flutter would figure out is bloat. File sizes are huge compared to native. A shame there can’t be a shared model in mobile apps for the core system.

      • AMDIsOurLord@lemmy.ml
        link
        fedilink
        arrow-up
        2
        arrow-down
        2
        ·
        9 months ago

        Flutter is native. It gets compiled to an executable, it just takes a render plane from the underlying OS and renders everything in it’s own engine. They’re working on a new render system that will make it go even faster.

        React Native is just a fancy web browser wrapping with some helper APIs.

        • aeharding@lemmy.world
          link
          fedilink
          arrow-up
          3
          ·
          9 months ago

          React Native is just a fancy web browser wrapping with some helper APIs.

          React native is not a browser. It uses native components.

        • merthyr1831@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          9 months ago

          RN is native too I think, at least it advertises itself as a way to compile some kind of XML syntax into native widgets on either platform. An improvement to PWAs even if I despise typescript

          • hruzgar@feddit.de
            link
            fedilink
            arrow-up
            1
            arrow-down
            1
            ·
            9 months ago

            yeah, it displays native widgets but there is still a js engine (browser) running in the background. So the basically made a layer between native components and Javascript. But the code which is running is js and js is slow.

            • deadcream@sopuli.xyz
              link
              fedilink
              arrow-up
              2
              arrow-down
              1
              ·
              9 months ago

              JS by itself is very fast (it’s one of the fastest dynamic languages). It’s interop with platforms APIs that is slow, at the fact that each React app spins up its own instance of Chromium also doesn’t help.

  • subtext@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    9 months ago

    Very exciting news… I’m the tech support for the family and I just can’t yet recommend argon as the hashing algorithm for everyone yet because they’ve said there’s a few potential hiccups. Looking forward to something snappier.

  • Nix@merv.news
    link
    fedilink
    English
    arrow-up
    1
    ·
    9 months ago

    This is great news! I might switch back over from proton pass if the email Alias generation is also as good as Proton’s

    • glibg10b@lemmy.ml
      link
      fedilink
      arrow-up
      11
      ·
      9 months ago

      I chose Xamarin in the early days of Bitwarden because it was a technology that I was proficient at (.NET and C#) and it afforded me the time to maintain a mobile app along with all the other apps I was building for Bitwarden. Xamarin is a real time saver, for sure and it has served us well over the past 8 years, but it comes with some downsides as well: …

  • aeharding@lemmy.world
    link
    fedilink
    arrow-up
    3
    arrow-down
    20
    ·
    9 months ago

    So you’re going to maintain two separate code bases with two separate teams as a knee jerk reaction to using one of the worst cross platform frameworks out there…

    For an app that does little more than display encrypted text in a list…

    weird flex but ok ¯\_(ツ)_/¯

    • NeatNit@discuss.tchncs.de
      link
      fedilink
      arrow-up
      25
      ·
      9 months ago

      I don’t get what you’re saying. It’s not a knee-jerk reaction for one thing, it’s a thought-out conclusion. They already maintain multiple codebases (server, browser extensions, mobile client…), they’re big enough that it’s not a bad idea, aren’t they? And it does do more than display encrypted text, notably implementing auto-fill and eventually passkeys.

      I also don’t see this as a ‘flex’ in any way, just transparency and sharing their process and conclusions with the community.

    • theherk@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      9 months ago

      Recognizing you as a PWA developer; and a damn fine one, I get your take. But surely you are aware there are limitations to using PWA’s or other cross platform libraries. Sometimes maintaining multiple UI’s is the right choice. Especially if very little of your code is actually the front end. For you, Voyager is pretty much 100% front end, so that’s 100% of your code. But for Bitwarden, the interface is a much smaller proportion.

      • aeharding@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        9 months ago

        But for Bitwarden, the interface is a much smaller proportion.

        Can you elaborate on that? Bitwarden’s apps use Bitwarden public API, similar to how the Voyager app uses Lemmy’s public API.