再见,本地应用程序

2020-10-31 14:16:04

混合应用程序正在取代在低端和高端计算机上都能流畅运行的原生应用程序。

十二年前..。我记得我有一台奔腾III电脑,物理内存只有128兆字节。当我开始编程时,我最喜欢的开发工具是Visual Basic 6 IDE(集成开发环境)和Windows XP上的Notepad++。毫无疑问,这两个应用程序的物理内存都非常快,因为我们知道,那时一切都是由C/C++语言驱动的。我们没有将那些伟大的软件归类为本机软件,因为当时还没有所谓的混合应用程序的概念。

我找不到我的旧电脑的真实照片,但它是这样的…。

过了一段时间后,一些流行的软件开始询问几个运行时,比如.NET framework、JRE(Java Runtime Environment)和Adobe AIR。事实上,用C/C++编写软件是很困难的,因为开发人员必须使用不同的操作系统API(应用程序编程接口)。因此,通过为编写桌面应用程序提供结构良好的API,这些类型的运行时为开发人员提供了一个良好的操作系统层抽象层。而128兆字节的物理内存能够通过稍微降低这些类型的应用程序的速度来向我们展示这些运行时的缺点。作为一种解决方案,每个人都升级了他们的物理内存,能够像我们早先一样把一切带回来。

几年前,还有其他类型的应用程序,它们不需要任何运行时间,但是默默地占用了大约十倍于旧软件的存储空间,并且占用了很大一部分物理内存。不幸的是,我们也无法识别,因为与过去不同的是,我们的计算机增加了资源。我们将这些应用程序命名为“混合”,因为它的一部分是原生的,而另一部分只是一个Web应用程序。基本上,通用混合应用程序在Web应用程序中具有业务逻辑和表示层。

此外,当它需要访问文件系统访问等本机功能时,它使用的本机API与以前的基于运行时的软件有点类似。如今,这些混合应用程序比本机软件增长迅速,这主要是由于开发的简便性。每件事都有利有弊,类似地,我们在这里可以看到,混合应用程序的概念创造了一种新的桌面软件开发方式,允许每个人创建令人惊叹的桌面应用程序,但另一方面,混合应用程序通过显示原生外观来欺骗用户,同时也通过在现代功能强大的硬件背后隐藏缺乏性能来欺骗用户。

早些时候,我们有本机应用软件,可以在任何计算机上流畅地运行。这些应用程序是用C/C++之类的语言编写的,这种语言与硬件关系密切。因此,没有像运行时这样的中间层来执行本机应用程序;只有二进制内容在那里。这些原生软件的图形用户界面(GUI)在屏幕上呈现出惊人的性能,与伪造的现代原生GUI不同。

较旧的本机软件以组织良好的方式使用资源,因为我们的物理内存、计算能力和存储空间非常有限。如今,不幸的是,即使是应用程序容器(驱动Web应用程序的本机部分)也比驻留在Web应用程序中的实际混合应用程序逻辑占用大量资源。

我刚刚从一台内存为4 GB的计算机上检查了Visual studio代码(混合)的物理内存使用情况。如图A所示,它占用大约1.2G字节,大约是我的旧奔腾III计算机整个内存的10倍。

技术在发展,这很好。但千万不要低估哪怕是一丁点内存的价值。

如果某个特定的软件超过了预期的资源使用量,我们通常将这类软件称为膨胀型软件。几乎所有这些混合软件都包括用于呈现界面的Web浏览器和用于启用本机功能的运行时。因此,如果使用混合计算器软件,90%以上的存储使用量可能仅用于驱动应用程序。此外,还将为混合应用程序容器分配大量物理内存,特别是每个应用程序的实例!这不是膨胀性器皿吗?

这篇文章更多地讲述了现代浮夸软件(免责声明:我不是说Electronjs框架不好)。

混合软件正显示出超过本机应用程序的快速增长。如果混合软件取代了本机软件,我们将悲哀地经历以下糟糕的事情。

每一个用户都会被认为是原生的混合体所欺骗,我们将永远怀念真正的原生应用程序。

不想要的资源使用将成为一个严重的问题。即使是一些简单的工作,人们也将不得不购买高端计算机。此外,运行这些混合动力车将比本土车耗尽电池的速度更快。

混合概念不是针对用户的解决方案,而是针对跨平台应用程序开发人员所面临的问题的一个很好的解决方案。

开发工作流程将非常简单。早些时候,如果它是一个跨平台的应用程序,开发人员要么为每个平台维护几个代码库,要么维护一个由每个受支持平台的源代码组成的组合代码库。而混合概念使用的是网络技术,所以太简单了!

GUI实现对于HTML和CSS或前端UI库来说就像小菜一碟。因此,开发人员能够轻松创建任何自定义UI元素。

确实是一个削减成本的解决方案(即使是公司的web开发人员也可以作为开发应用程序的资源)。

我们可以清楚地看到,开发人员/供应商可以很容易地说“再见,本地的”,但是我们能做到吗?作为用户。我所做的就是通过帮助他们延长生命周期,尽可能多地使用纯本机软件。还有另一个希望。在某些情况下,无论我们拥有多少计算能力,性能都被确定为关键因素,例如专业视频编辑/动画。本机软件将受到这些情况的保护。

你相信甚至还有混合型的网络浏览器吗?不足为奇的是,混合动力车正在成长..。

早些时候,我们在有特殊需要时购买了一台高端电脑,如游戏、3D建模或视频编辑。但如今,我们迫切需要购买一台高端计算机来运行现代通用软件。现在几乎每个人都有至少4 GB的物理内存,为同时执行几个混合应用程序提供了足够的空间。这听起来像是混合应用程序供应商忽略了低端计算机用户作为少数?

我有一个小房间。但是我买了超大的家具,现在我要扩建房间。-膨胀软件用户。

我希望混合应用程序不应该取代原生软件,但它绝对应该是开发人员/供应商的一种选择。有人可能会争辩说,如果没有混合概念,我们可能会错过一些让我们开心的应用程序。毫无疑问,混合APP的概念带来了一种全新的跨平台应用开发思路,而我们应该理解纯原生应用的真正价值。

至于移动应用生态系统,情况也有些类似。人们经常让现代硬件来解决软件中出现的性能问题,而不是抱怨软件。永远不要说“再见,当地人”而要保存它们..