来自vadodara的技术编辑KhamoshPathak每个月在他的iPhone上花费超过10GB的流量,而这仅仅是为了下载新的应用程序或进行更新。他说,过去几年他消耗的数据量急剧增加。事实上,Pathak的观点代表了越来越多的iPhone和iPad用户的担忧,他们认为AppStore中的应用程序规模越来越大。例如,您可以看到Facebook应用程序和Uber应用程序都超过250MB,而AppStore更新选项中列出的数字往往更糟,Facebook达到了300MB以上。相比之下,在Android手机上下载Facebook只需要70MB的数据,Uber只需要30MB,而且更新文件通常不会超过30MB。在AppStore上,MicrosoftExcel的大小为219MB,但从GooglePlay下载不到60MB。同样,根据AppStore上的显示,《口袋妖怪Go》(PokemonGo)应用程序的大小为244MB,而GooglePlay上的下载量不到100MB。虽然Apple确实为开发人员提供了一些减小应用程序大小的建议,但Apple一直对这个问题守口如瓶,因此我们无法确定Apple是否正在努力解决这个问题,或者它是否认为这是一个问题。但这些说法真的站得住脚吗?gadget360与几位开发者讨论了这个问题。为什么这很重要?更大的应用程序意味着您需要在某个时候消耗更多数据,或者占用更多设备空间。这可能会使苹果公司在印度等新兴市场营销其产品更具挑战性,苹果公司越来越希望在印度获得更多iPhone份额。部分问题在于,当我们下载并检查应用程序的大小时,我们意识到GooglePlay列出了下载该应用程序所需的数据大小,如果您查看应用程序的信息,您会看到显示下载标题的大小。但是,在AppStore上,这个部分叫做“Size”,它似乎是指一个应用程序在你的设备上占用的空间大小,也就是说,当你从AppStore下载的一个应用程序在你的手机或当在平板电脑上打开时,它会被解压缩并最终占用比下载大小更多的空间。当然,这两种方法各有利弊。Google会向您显示获取该应用程序需要使用多少数据,这在印度等数据成本仍然敏感的国家/地区是一个重要因素。Apple的数字会告诉您设备上需要多少空间才能获取该应用程序,如果您担心设备上的存储空间不足,这一点也很重要。问题的根源除了应用程序大小确实存在问题之外,一些开发人员告诉小工具360,如今应用程序的大小越来越大,部分原因当然是开发人员添加了新功能,而且许多用户显然喜欢这样也。“应用程序变得越来越大,因为iOS设备也很强大,开发人员正在他们的应用程序中构建越来越复杂的东西,而没有考虑应用程序的大小对世界的影响”。开发者StephenTroughton-Smith告诉小工具360。史密斯是最著名的iOS开发人员之一。他经常在苹果发布新产品之前,通过挖掘相关设备的固件信息来爆料。然而,史密斯补充说,这也部分是由于开发人员粗心并添加了多个文件。“所以Facebook、Twitter和其他大公司可能有数十或数百人构建他们的iOS应用程序。这些应用程序的许多组件或框架都是独立开发的,如果你要将每个额外的组件集成到应用程序中,就会有是一些开销。一些团队复制或重复其他团队编写的功能,如图像或其他资源等。”开发者需要添加的高分辨率图形资产也会导致应用程序增长,来自印度的两位开发者、PSPDFKit的创始人兼首席执行官彼得·斯坦伯格(PeterSteinberger)告诉小玩意360。苹果可能还需要承担一定的“responsibility”,因为开发者在使用苹果2014年推出的Swift编程语言时,需要在应用中添加若干个组件,这也会让应用变得更“重”。每次使用它的组件,因为它还不是‘ABI稳定的’”。史密斯解释道。这意味着开发人员需要嵌入他们开发的库的版本,而不是依赖于系统上可用的版本。另一位不愿透露姓名的开发者表示:“通常一个用Swift语言构建的应用程序需要在程序中填充多达30个Swift运行时库。此外,你可能还会感到惊讶,有些应用程序使用了很多在GitHub等其他应用程序中找到的通用代码。”“开发人员通常不关心删除与应用程序无关的内容,”他补充道。应用程序大小增长了1,100%,营销和研究公司SensorTower在6月的一篇博客文章中写道:“前10个安装的iPhone应用程序已经从2013年5月的164MB增长到超过100MB。”一个月1.9GB,四年增长12倍,约1100%。”相比之下,iPhone存储容量的变化速度已经远远落后,基本款iPhone的存储容量最近才出现增长。从16GB增加到32GB。根据SensorTower移动主管RandyNelson的说法,iOS应用程序继续包含多个版本的资产(图像、按钮等)以适应不同的屏幕尺寸(iPhone7、iPhone7Plus、iPhoneSE或iPad),这极大地影响了用户的存储空间。Nelson解释说:“它与Android世界的工作方式不同,尽管Android有更多不同的设备,具有不同的规格和屏幕尺寸,但一般来说,资源是按比例放大的或下降。”另一个原因是这些应用程序在iOS和Android上所需的库和SDK的数量和类型。此外,iOS上的应用程序代码是加密的,导致二进制文件远远超过Android上的二进制文件。最终,许多方面都有不同riOS和Android应用程序大小差异的原因。”较大的应用程序对于某些用户来说可能只是轻微的烦恼,或者对于生活在西方市场的用户来说根本不是问题,但它确实对印度这样的市场产生了很大的影响,那里的无线网络不是很发达,或者他们的手机电话数据流量通常是有限的。根据市场研究公司Counterpoint的数据,16GB的iPhone5是去年印度最受欢迎的iPhone机型。可想而知,他们所使用的设备的存储空间,也有着诸多的局限性。在Twitter的iOS应用程序开发团队工作的旧金山开发人员BenSandofsky回应了这样的担忧,他说:“这些(西方)公司的员工生活在互联网和技术最先进的地方,他们拥有充足的LTE数据连接、快速wifi网络、具有64GB存储空间的手机,这导致他们在考虑周围的普通用户时出现盲点。”Sanfordski最近为iPhone开发了流行的第三方Halide相机应用程序,他补充道:“这确实让工程师和管理人员的工作变得更轻松,而且不会给一些用户带来负担。并且它可以在iPhone应用程序之间重复使用。”通用代码比以往任何时候都更容易。只需敲击几下键盘,工程师就可以向应用程序添加数千行代码,这在理论上很棒,因为工程师不需要重复做同样的事情但不幸的是,在过去的几年里,事情变得疯狂了,工程师们在他们的应用程序中添加了巨大的库,这导致应用程序的大小在最初的时候变大了。你可以通过创建更小的程序来做到这一点”但这还不是全部,Sanfordsky说,公司通常会添加A/B测试来推动产品开发。这意味着他们会在应用程序中进行一些小的实验性更改,比如更改按钮的颜色,然后观察分析结果,看看是否有更多人们点击它,这会产生一系列最终不会得到回报的变化。用户为跟踪代码带来任何价值。真正的关键是这一系列被遗弃的实验经常留在代码中。许多公司不'删除它们,这样代码库每天都会随着未使用的代码而增长。“太多的公司使用指标来驱动他们的所有决策。您可以测试是否有更多人点击该按钮,但很难衡量用户放弃应用程序的原因,或者用户从未下载该应用程序的原因。一个应用程序。”
