如何确定使用哪个框架构建桌面应用程序的 (Zoom) UI?

问题描述

我想知道使用哪个框架来构建 Zoom(windows & mac) 的 UI。

这有可能吗?反编译会有帮助吗?

Zoom's desktop application

解决方法

您可以下载 Zoom's Linux client 并从下拉菜单中选择Other Linux OS。然后在 Linux 终端中运行以下命令:

$ tar -xf zoom_x86_64.tar.xz

执行该命令会创建一个名为 zoom 的目录,当您使用此命令列出其内容时:

$ ls zoom

您得到以下输出:

audio                  libQt5DBus.so.5                 libQt5QuickTemplates2.so.5.12.9  libturbojpeg.so
dingdong1.pcm          libQt5DBus.so.5.12              libQt5QuickWidgets.so            meeting_chat_chime.pcm
dingdong.pcm           libQt5DBus.so.5.12.9            libQt5QuickWidgets.so.5          meeting_raisehand_chime.pcm
double_beep.pcm        libQt5Gui.so                    libQt5QuickWidgets.so.5.12       platforminputcontexts
Droplet.pcm            libQt5Gui.so.5                  libQt5QuickWidgets.so.5.12.9     platforms
egldeviceintegrations  libQt5Gui.so.5.12               libQt5Script.so                  platformthemes
Embedded.properties    libQt5Gui.so.5.12.9             libQt5Script.so.5                Qt
generic                libQt5Network.so                libQt5Script.so.5.12             qt.conf
getbssid.sh            libQt5Network.so.5              libQt5Script.so.5.12.9           QtGraphicalEffects
getmem.sh              libQt5Network.so.5.12           libQt5Svg.so                     QtQml
iconengines            libQt5Network.so.5.12.9         libQt5Svg.so.5                   QtQuick
imageformats           libQt5OpenGL.so                 libQt5Svg.so.5.12                QtQuick.2
json                   libQt5OpenGL.so.5               libQt5Svg.so.5.12.9              QtWayland
leave.pcm              libQt5OpenGL.so.5.12            libQt5WaylandClient.so           record_start.pcm
libfdkaac2.so          libQt5OpenGL.so.5.12.9          libQt5WaylandClient.so.5         record_stop.pcm
libicudata.so          libQt5Qml.so                    libQt5WaylandClient.so.5.12      ring.pcm
libicudata.so.56       libQt5Qml.so.5                  libQt5WaylandClient.so.5.12.9    ringtone
libicudata.so.56.1     libQt5Qml.so.5.12               libQt5Widgets.so                 sip
libicui18n.so          libQt5Qml.so.5.12.9             libQt5Widgets.so.5               timezones
libicui18n.so.56       libQt5QuickControls2.so         libQt5Widgets.so.5.12            translations
libicui18n.so.56.1     libQt5QuickControls2.so.5       libQt5Widgets.so.5.12.9          version.txt
libicuuc.so            libQt5QuickControls2.so.5.12    libQt5X11Extras.so               wayland-decoration-client
libicuuc.so.56         libQt5QuickControls2.so.5.12.9  libQt5X11Extras.so.5             wayland-graphics-integration-client
libicuuc.so.56.1       libQt5Quick.so                  libQt5X11Extras.so.5.12          wayland-graphics-integration-server
libmpg123.so           libQt5Quick.so.5                libQt5X11Extras.so.5.12.9        wayland-shell-integration
libQt5Core.so          libQt5Quick.so.5.12             libQt5XcbQpa.so                  wr_ding.pcm
libQt5Core.so.5        libQt5Quick.so.5.12.9           libQt5XcbQpa.so.5                xcbglintegrations
libQt5Core.so.5.12     libQt5QuickTemplates2.so        libQt5XcbQpa.so.5.12             zoom
libQt5Core.so.5.12.9   libQt5QuickTemplates2.so.5      libQt5XcbQpa.so.5.12.9           ZoomLauncher
libQt5DBus.so          libQt5QuickTemplates2.so.5.12   libquazip.so                     zopen

如您所见,许多文件名以 libQt5Qt 开头,因此我假设用于开发 Linux 桌面客户端的框架是 Qt Framework。并且由于 Linux 客户端和 Windows 客户端共享相同的用户界面,因此它们可能都使用 Qt。