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
Edit: Thanks for adding the package info.
I love this. It was my first reaction when I used MS Teams ... shit, it's electron and the I got the horrible user experience as usual. And in MS Teams even the font and its rendering is hardcoded and the devs are refusing to do anything about this! So when I use MS Teams I need to look at blurry text.
EDIT: And they bundle libffmpeg.so too .... let's have a look at what version, though I guess 1password is not a good attack vendor as it'd be hard for the attacker to control input data, right.
I want my security critical apps to be as small as possible, not a huge pile of everything and the kitchen sink.
How did we ever managed without Electron?!?
Man we were 1337!
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.
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.
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".