开发者谈 AppStore“大问题”:应用体积越来越大

移动开发
来自vadodara的技术编辑Khamosh Pathak每个月在iPhone上花费的流量数据达到了10GB以上,而这只是他为了下载新的应用程序或者进行更新。他说,在过去的几年里,他所消耗的数据流量已经大大增加了。

来自vadodara的技术编辑Khamosh Pathak每个月在iPhone上花费的流量数据达到了10GB以上,而这只是他为了下载新的应用程序或者进行更新。他说,在过去的几年里,他所消耗的数据流量已经大大增加了。

事实上,Pathak的观点代表了越来越多的iPhone和iPad用户的担忧,他们认为现在App Store里的应用程序体积正在变得越来越大。例如,你可以看到,Facebook应用和Uber应用的体积都在250MB以上,而在App Store更新选项上列出的数字往往更糟,比如Facebook就达到了300MB以上。

[[200172]]

相反,在Android手机上下载Facebook只需使用70MB的数据,Uber只需30MB,而更新文件通常不超过30MB。在App Store上,微软Excel的大小为219MB,但是从Google Play下载不到60MB。同样,根据App Store上的显示,《口袋妖怪Go》(Pokemon Go)应用的大小为244MB,而在Google Play下载则在100MB以下。

尽管苹果确实为开发者提供了一些减少应用程序大小的建议,但苹果对于这个问题的更多信息依然守口如瓶,因此我们并不能确定苹果是否正在努力解决这个问题,或者它是否把它视为一个问题。

但这些说法真的站得住脚吗?gadget 360就与几个开发人员对这个问题进行了交流。

[[200173]]

为什么这很重要?

更大的应用程序意味着某些时候你需要消耗更多的数据流量,或者占用你的设备更多的空间。这可能会使得苹果公司在印度等新兴市场推广其产品具有更大的挑战性,毕竟苹果正越来越希望iPhone能在这些国家和地区占领更多的市场。

一部分的问题在于,当我们下载和检查应用程序的大小时,我们意识到Google Play列出了下载这个应用所需要的的流量大小,如果你查看一个应用程序的信息,你会看到一个显示下载大小的标题。然而,在App Store上,这一部分被称为“体积”,它似乎是指应用程序在你的设备上所占用的空间大小,也就是说,当你从App Store下载的应用在你的手机或平板电脑上打开时是经过解压缩的,最终占据的空间大小要比下载的大小要多。

当然,这两种方法各有利弊。谷歌向你展示了你需要使用多少数据流量来获得这个应用,这在印度等国家是一个重要因素,因为这些国家对数据成本仍然很敏感。而苹果的数据则告诉你,你要获得这个应用需要占用设备的多少空间,如果你担心你的设备存储空间不够,这同样很重要。

问题的根源

除此之外,应用程序大小还存在一个真正的问题,一些开发人员告诉gadget 360,现在的应用程序规模大小正越来越大,部分原因在于开发人员添加了新功能,当然,许多用户显然也喜欢这一点。

“应用程序正变得越来越大,因为iOS设备同样也在强大,开发者们正在为他们的应用程序构建越来越复杂的东西,而不考虑这样的程序规模会对世界有什么影响”。开发者斯蒂芬·特劳顿-史密斯(Stephen troughton - smith)告诉gadget 360。史密斯是最知名的iOS开发人员之一,他经常在苹果发布新产品之前,通过挖掘相关设备的固件信息进行爆料,比如最近通过HomePod固件挖掘iPhone 8新特性的不少消息,就是出自他手。

但是,也有部分原因是由于开发人员不小心,并添加了多个文件造成的,史密斯补充道。“因此,Facebook、Twitter和其他大公司也许有数十或数百人在构建他们的iOS应用程序。这些应用程序的许多组件或框架都是独立开发的,如果你要把每一个额外的组件都整合到一个应用程序上,就会产生一些开销。有些团队会重复或复制其他团队所写的功能,比如图像或其他资源等等”。

开发人员需要添加的高分辨率图像资源同样也会造成应用程序的增大,两个来自印度的开发者以及PSPDFKit的创始人兼首席执行官彼得·斯坦伯格(Peter Steinberger)告诉gadget 360。

苹果或许也需要承担一定的“责任”,因为开发者在使用苹果于2014年推出的Swift编程语言时,需要他们在应用程序中添加几个组件,这同样会使得应用程序变得更“重”。

“例如,苹果的新Swift语言需要在每次使用时都嵌入一堆组件,因为它还没有达到‘ABI稳定’”。史密斯解释道。这意味着开发人员需要嵌入他们开发的库版本,而不是依赖于系统上可用的版本。

另一个不愿意透露姓名的开发人员称:“通常一个使用Swift语言构建的应用程序需要在程序中填充多达30个Swift运行时库。除此之外,你可能还会惊讶于一些应用程序里使用了不少在其它应用中(比如GitHub)找到的通用代码。”

“开发人员往往不关心是否去删除与应用程序无关的内容,”他补充道。

[[200174]]

应用程序的大小增长了1100%

营销和研究公司Sensor Tower在6月份发表的一篇博客文章中写道:“安装量排在前十的iPhone应用程序已从2013年5月的164 MB增长到了上个月的大约1.9 GB,短短四年间就增加了12倍或约1,100%。”而反观iPhone的存储容量改变速度却被远远甩开,基础款的iPhone存储容量在最近才从16GB上升到了32GB。

Sensor Tower的移动负责人兰迪·尼尔森(Randy Nelson)表示,iOS应用程序仍在继续包含多个版本的资源(图像,按钮等),以满足不同屏幕尺寸的需求(iPhone 7,iPhone 7 Plus,iPhone SE或iPad),这极大地影响了用户的存储空间。

尼尔森解释说“这与Android世界的工作方式不同,即便安卓也有更多不同种类的设备,拥有不同的规格和屏幕尺寸,但通常来说,其资源都是会按比例放大或缩小的。”

“另一个原因在于这些应用程序在iOS与Android上所需的库和SDK的数量和类型。此外,iOS上的应用程式代码是加密的,并且造成的二进制文件大大超过了Android。最终,是许多方面不同的原因导致了iOS与Android应用程序之间产生的大小差异。”

较大的应用程序可能会对一些用户只造成轻微的烦恼,或者对于居住在西方市场的用户根本不成问题,但它确实会在像印度这样的市场带来不小的影响,因为这些地方无线网络并不是很发达,又或者他们手机的数据流量往往很有限。而根据市场研究公司Counterpoint的数据,16GB iPhone 5是去年在印度最受欢迎的iPhone型号,可想而知,他们所用设备的存储空间也存在着不少限制。

[[200175]]

来自旧金山的开发人员本·桑福德斯基(Ben Sandofsky)是Twitter的iOS应用程序开发团队的一员,他对于这样的担忧产生了共鸣,并表示:“这些(西方)公司的员工生活在一个互联网和科技都最先进的地方,他们有充足的LTE数据连接,快速的wifi网络,64GB存储空间的手机,这导致了他们在考虑周边普通用户时产生了盲点。”

桑福德斯基最近为iPhone开发了流行的第三方Halide相机应用,他补充说:“在不考虑一些用户负担的情况下,确实可以让工程师和经理们的工作变得更轻松。而且在iPhone应用程序之间重复使用通用代码比以往任何时候都要容易。只要敲击几下键盘,工程师就可以在应用程序中添加数千行代码,理论上这很好,因为工程师不需要重复工作做同样的事情。但不幸的是,在过去的几年里,事情已经变得越来越疯狂了,工程师们在他们的应用程序里添加了庞大的库,这也导致了应用程序的体积越来越庞大,而原本他们就可以通过创建更小的程序来完成这个任务。”

但这也不是全部,桑福德斯基说道,公司经常增加A / B测试来推动产品开发。这意味着他们会在一个应用程序中进行小的实验性更改,比如改变一个按钮的颜色,然后观察分析,看看是否有更多的人点击它,这也就产生了一系列不会为最终用户带来任何价值的跟踪代码。而真正的关键还在于这一系列废弃的实验常常在代码中被搁置。许多公司都没有删除它们,所以代码库每天未使用的代码都在增长。

“太多的公司使用指标来推动所有的决策了,你可以测试出有没有更多的人点击了这个按钮,但你很难衡量一个用户为什么放弃了一个应用程序,或者为什么用户从来没有下载过一个应用程序。”

责任编辑:未丽燕 来源: 威锋网
相关推荐

2012-05-04 11:13:57

社交应用

2017-12-26 15:34:55

2009-04-25 08:55:05

智能手机应用移动OS

2021-03-03 14:23:06

微信小程序互联网

2022-12-27 19:05:54

建筑能源人工智能

2019-03-07 14:40:37

前端开发React

2020-12-14 13:18:20

微信空间清理文件

2018-09-25 08:58:50

技术能力效率

2022-02-11 23:49:16

稳定币加密货币金融

2021-11-17 11:09:53

比特币美联储货币

2023-09-22 13:44:34

2022-07-19 10:14:53

勒索软件网络攻击

2023-12-04 16:02:13

2018-11-28 10:52:45

云计算阿里云微软

2020-03-02 14:55:30

手机屏幕UX设计设计

2021-11-08 14:15:34

物联网安全技术

2020-09-09 09:17:48

影子物联网网络安全物联网安全

2020-04-07 12:10:08

人工智能技术医药

2020-05-13 11:59:30

物联网新冠病毒IOT

2022-07-27 16:13:07

APP微信体积
点赞
收藏

51CTO技术栈公众号