6 ms·
But why a whole electron app just to store passwords?
by Scarbutt 6y ago
But why a whole electron app just to store passwords?
- Spivak 6y agoWhy a whole GTK or Mono app just to store passwords? Once you’ve decided that you want to make a GUI for something you’ve already made the choice to increase the weight considerably. Electron is still the best cross platform toolkit when you need browser support too.
- Scarbutt 6y agoElectron is still the best cross platform toolkit when you need browser support too. Agree, just though it was too much for something simple as displaying logins/pass but looks like it has lots of features?
- pseudalopex 6y agoThe other versions are native. It's one of the things that sets 1Password apart. Is the Linux version Electron?
- Scarbutt 6y agoYes. Not against Electron but maybe I'm underestimating the ui/ux complexity of a password manager since I have never use one.
- suchire 6y agoMore likely it is the overhead of multiplatform support that motivates them to use Electron. Their support matrix is pretty big now: iOS, Android, Web, Mac, Windows, browser extensions, Chrome OS, and Linux
- pjmlp 6y agoAmiga, Atari, Mac OS, MS-DOS, Windows, UNIX, with teams that reached around 10 maximum. How did we ever managed without Electron?!? Man we were 1337!
- yoz-y 6y agoTbh, not that many programs with exception of games supported all the platforms. And games were built on top of VMs or engines.
- pjmlp 6y ago"Engines" like common logic written in languages like C and C++, using in-house toolkits where RenderButton() or ShowDialog() would do the right thing on each platform. Apparently a forgotten art. As for VMs, I am all for stuff like React Native, not for packing Chrome with each application. Not only it shows laziness where Web == ChromeOS, bloats the applications and is yet another way for turning everyone into Chrome developers, bye bye Web.
- yoz-y 6y agoI understand the sentiment. But I think the best approach is a bespoke app for each platform in the own native toolkit. I have rarely enjoyed using a Gtk or Qt app on macOS because they feel alien. On windows for example there seems to be no rhyme or reason for widgets, mainly due to historical reasons. Games don’t need to be consistent because they take up the whole screen and are immersive. Some very specific programs such as the Godot editor are a good example of a similar usage.
- pjmlp 6y ago> But I think the best approach is a bespoke app for each platform in the own native toolkit. Which is basically the first line of my comment and how we used to do back in the day, with common logic and those in-house "engines".
- nanoha 6y agoThat would only make sense if they use Electron besides Linux.
- pseudalopex 6y agoOr if they plan to.
- guessmyname 6y ago> The other versions are native. It's one of the things that sets 1Password apart. Is the Linux version Electron? Yes, it is very obvious from the screenshot that it’s built on top of Electron [1]. GTK nor Qt have that type of UI elements, they are obviously HTML elements stylized with CSS. Another hint is in the files contained inside the Debian package used during the Linux installation [2]: root@3cb1637b3070:/# apt-get download 1password root@3cb1637b3070:/# dpkg --extract 1password_0.8.0-22506_amd64.deb temp root@3cb1637b3070:/# ls -lia ./temp/opt/1Password/ total 177900 661008 drwxr-xr-x 5 root root 4096 Aug 3 18:23 . 661007 drwxr-xr-x 3 root root 4096 Aug 3 18:23 .. 661011 -rwxr-xr-x 1 root root 129796744 Aug 3 18:21 1password 661010 -rw-r--r-- 1 root root 1060 Aug 3 18:21 LICENSE.electron.txt 661023 -rw-r--r-- 1 root root 4710103 Aug 3 18:21 LICENSES.chromium.html 661021 -rwxr-xr-x 1 root root 6322128 Aug 3 18:21 chrome-sandbox 661017 -rw-r--r-- 1 root root 179981 Aug 3 18:21 chrome_100_percent.pak 661013 -rw-r--r-- 1 root root 321151 Aug 3 18:21 chrome_200_percent.pak 661022 -rw-r--r-- 1 root root 10505952 Aug 3 18:21 icudtl.dat 661012 -rwxr-xr-x 1 root root 243992 Aug 3 18:21 libEGL.so 661014 -rwxr-xr-x 1 root root 8948960 Aug 3 18:21 libGLESv2.so 661024 -rwxr-xr-x 1 root root 3103488 Aug 3 18:21 libffmpeg.so 661020 -rwxr-xr-x 1 root root 4488304 Aug 3 18:21 libvk_swiftshader.so 661018 -rwxr-xr-x 1 root root 8483376 Aug 3 18:21 libvulkan.so 792826 drwxr-xr-x 2 root root 4096 Aug 3 18:23 locales 792824 drwxr-xr-x 2 root root 4096 Aug 3 18:23 resources/app.asar 661015 -rw-r--r-- 1 root root 4791423 Aug 3 18:21 resources.pak 661009 -rw-r--r-- 1 root root 50592 Aug 3 18:21 snapshot_blob.bin 792821 drwxr-xr-x 2 root root 4096 Aug 3 18:23 swiftshader 661019 -rw-r--r-- 1 root root 170903 Aug 3 18:21 v8_context_snapshot.bin 661016 -rw-r--r-- 1 root root 107 Aug 3 18:21 vk_swiftshader_icd.json You can use “npx asar extract /opt/1Password/resources/app.asar source” to access the JavaScript files [3]. [1] https://i.imgur.com/pGJ4Wvd.png https://i.imgur.com/pGJ4Wvd.png [2] https://support.1password.com/cs/getting-started-linux/ https://support.1password.com/cs/getting-started-linux/ [3] https://stackoverflow.com/a/38524534 https://stackoverflow.com/a/38524534
- pseudalopex 6y agoThe native versions don't look native either. You can use a web view without Electron too. Edit: Thanks for adding the package info.
- twblalock 6y agoWhy shouldn't it be Electron? Should it be GTK? Why not QT? Linux doesn't have a standard desktop environment or widget toolkit. Electron doesn't seem like a worse choice than the other options, and it's easy to find engineers who know how to work with it. 1Password doesn't just store passwords. It has a bunch of other features. It's a fairly complex app at this point. It also has fairly similar user experiences in Windows, macOS, Linux, iOS, and Android, and that's pretty hard to pull off. If Electron helps them accomplish that, that's fine.
- andialo 6y agoBecause Electron bundles (light) chrome and nodejs and all deps breaking desktop integration and security (the developers are now responsible for checking vulnerabilities in all bundled libraries and they are not doing it). Those are pretty good reasons not to use electron.
- shaan7 6y ago> Why shouldn't it be Electron? Because every Electron app is inconsistent with the rest of the desktop. I use a dark theme system-wide but Electron won't care [edit: 1Password has custom integration for GTK theme]. Honestly, this isn't something the developer of the app have to put years of research in (Slack for example). The toolkit is supposed to do the integration (GTK, Qt, [Cocoa?]) and clearly Electron doesn't care. > Why not QT? You tell me (assuming you're talking about Qt, not QuickTime) > Electron doesn't seem like a worse choice than the other options Not really. Its just that its lazier/cheaper to just get your web development team pretend to write a desktop app. I get it, business decisions need to factor cost into account and hence the choice. I understand when a business says "we just don't have the funds to use a proper app framework, please do with what we have for now". But instead everyone goes to pretend like Electron apps are perfect even though the reason it was chosen was almost completely based on cost.
- Shacklz 6y agoThere are also advantages for the user. For example, new features arrive for all platforms at the same time; there is no prioritization of platforms or such. Same for bugs - apart from issues stemming from Electron itself, they're likely to appear on all platforms and therefore likelier to get fixed. In essence, the old "only X% of our users use platform Y, it's not worth it to make this feature/fix this bug for them" does not exist anymore with something like Electron, and while this is ultimately also a cost consideration, it does come with benefits for me as a user, especially if I'm on a minority platform.