桌面应用程序死了吗?

桌面应用程序死了吗?

在过去的几年里,镇上到处流传着这样的消息。他们说桌面应用程序已经死了。他们说网络已经消耗了整个桌面空间。他们说剩下的桌面应用程序最终会转移到网络上。一些极端主义者说,任何仍在为桌面平台开发或仍在使用桌面应用程序的人都是等待发生的恐龙。其他极端主义者说,有一天我们会在系统上安装的唯一桌面应用程序将是我们的网络浏览器,而其他所有应用程序都将在网络上运行。一些人还说,Web-Assembly 将成为桌面应用程序棺材的最后一颗钉子。在本文中,我将分解这些陈述与现实相距一百万英里的原因。桌面应用程序并没有消亡,并且会在 100 年后继续存在。

你看,在 90 年代和 2000 年代初期,网络非常不成熟。许多复杂的应用程序无法正常运行,并且在 Web 上构建相当复杂的应用程序的工具也基本上不存在。 PDF 转换器、记事本、降价应用程序和音乐播放器等基本实用软件都必须在桌面上运行才能获得良好的用户体验。甚至一些与桌面应用无关的应用仍然是桌面应用。我们使用 java swing 和 JDBC 构建的那些 CRUD 应用程序。用户将打开他们的桌面应用程序,登录他们的帐户并访问他们的帐户允许他们使用的功能。当网络最终成熟到今天的样子时,这些“桌面”应用程序被消费并成为成熟的网络应用程序也就不足为奇了。事实是,这些应用程序一开始就与桌面无关。他们只是在等待网络成熟,在网络上占据应有的位置。

有些人甚至会争辩说,像 Figma 这样的软件证明了网络可以吞噬所有桌面应用程序这一事实。在外面,这似乎是一个实际的争论,直到你仔细观察并且一切都崩溃了。 Figma 是一个应该在网络上运行的软件,而且 Figma 也不是资源要求高的软件。如果您发现自己需要通过购买新的 RAM 或显卡来运行像 Figma 这样的桌面软件来增强您的笔记本电脑/PC,那么也许您应该将那台计算机扔进垃圾箱并买一台现代的。

绝大多数基于桌面的专业工具永远不会转移到网络上。专家使用的工具,其中一些是实时的(每秒运行多个帧而不是等待事件),其中一些需要完全直接访问您的计算机资源而不被沙盒化。我说的是 Xcode、Visual Studio、Adobe after effect、Cubase、Maya、3D max、Zmax、Houdini、Nuke、Unreal Engine、Ableton、Blender 之类的。还有像身份证打印机这样的软件,它使用网络摄像头为学生拍照,然后将信息发送到打印机打印并生成身份证。我可以举出更多的例子。

除了网络应用程序永远无法接近桌面应用程序的性能(当我说桌面应用程序时,我指的是我列出的复杂应用程序),它们可能非常不方便,并且它们通常提供较差的用户体验。用户将永远没有机会拥有他们的软件,因为他们将是永久租户。一旦有人不支付掠夺性订阅费,他们将不再有权访问您的应用程序,该用户是否在过去 10 年一直为该软件付费也无关紧要。错过一天的付款,就是这样!您被踢出自己的帐户。另外,如果不需要,我为什么希望我的应用程序依赖于网络?老实说,想象一下,如果您是一名图形设计师,并且您必须始终连接到互联网才能使用 Photoshop。如果您的互联网连接出现任何问题,您将无法工作一天。即使您的连接很好,并且您已经支付了订阅费,服务器仍然可能关闭。想象一下,您有 3 天的最后期限,并且有很多工作要做,但服务器一直处于停机状态。如果它是桌面应用程序,这将永远不会成为问题。另请注意,在屏幕尺寸方面,您将被限制在 Web 浏览器的页面视图中,我认为这会影响具有非常复杂 UI 的应用程序的用户体验(如下所示)。

我可以继续,谈论为什么我总是选择桌面应用程序而不是他们的网络同行的多种原因。我会拥有我的软件,我会拥有更好的性能,我会在全屏屏幕上使用该应用程序,我不需要互联网访问,我会支付一次并终身拥有该软件,我不必处理服务器停机时间,我会有更好的用户体验。更不用说现在大多数笔记本电脑/台式机都配备了 1TB 或更多,而大多数桌面应用程序几乎没有划伤 1GB 或更多。

Web 应用程序非常适合……

Web 非常适合性能不密集的应用程序和持续需要网络访问和数据库的应用程序。以 Youtube 桌面、netflix 桌面应用、Facebook 等为例。我宁愿访问 Youtube.com,也不愿下载 youtube 桌面应用来使用,与 facebook 和 Netflix 相同。此外,当我们谈论轻量级实用程序(如日历、计算器、PDF 转换器、降价应用程序等)时,Web 应用程序会更好。

归根结底,如果可以的话,用户仍然希望拥有自己的软件。如果我使用的软件不依赖于来自服务器的信息,那么考虑到网络技术的所有限制,我为什么要在我的网络浏览器上运行它。唯一能从这一举措中获利的人是软件公司,他们会让用户每月支付 20 美元来购买本应以 100 美元终生出售的软件。

那么我应该学习桌面开发吗?

桌面开发作为一个领域真的很小众,这就是我同意桌面应用程序正在消亡的说法的地方;听我说。在过去,您可以找到一份具有 Java swing 和 JDBC 技能的工作。公司正在寻找桌面开发技能。这些天来,这些软件已经转移到网络上,正如我之前解释的那样。仍在为桌面构建软件的公司并不是在寻找桌面开发人员。这些公司正在寻找他们所从事的软件领域的专家。 DaVinci Resolve 软件背后的公司 BlackMagic Design 正在寻找视频编码/解码、视频编辑算法等方面的专家。 Soundparticles,几个音频插件背后的公司正在寻找音频编程专家。微软将对那些使用数据分析/可视化软件开发 PowerBI 桌面应用程序的人更感兴趣。这些公司使用几个桌面 GUI 库,其中一些甚至是内部产品,不向公众提供。因此,一般学习桌面开发不会像一般学习 Web 开发那样有用。仍然雇用具有 WPF、Swing、Java FX 或 Electron 技能的通用桌面开发人员的公司并不多。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/23476/15131000

posted @   哈哈哈来了啊啊啊  阅读(82)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示