开发者谈AppStore“大问题”:应用体积越来越大_最新动态_新闻资讯_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 新闻资讯 > 最新动态 > 开发者谈AppStore“大问题”:应用体积越来越大

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

 2017/8/14 14:31:19    程序员俱乐部  我要评论(0)
  • 摘要:来自vadodara的技术编辑KhamoshPathak每个月在iPhone上花费的流量数据达到了10GB以上,而这只是他为了下载新的应用程序或者进行更新。他说,在过去的几年里,他所消耗的数据流量已经大大增加了。事实上,Pathak的观点代表了越来越多的iPhone和iPad用户的担忧,他们认为现在AppStore里的应用程序体积正在变得越来越大。例如,你可以看到,Facebook应用和Uber应用的体积都在250MB以上,而在AppStore更新选项上列出的数字往往更糟
  • 标签:问题 应用 开发 开发者 APP
class="topic_img" alt=""/>

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

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

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

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

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

  为什么这很重要?

  更大的应用程序意味着某些时候你需要消耗更多的数据流量,或者占用你的设备更多的空间。这可能会使得苹果公司在印度等新兴市场推广其产品具有更大的挑战性,毕竟苹果正越来越希望 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)找到的通用代码。”

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

  应用程序的大小增长了 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 型号,可想而知,他们所用设备的存储空间也存在着不少限制

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

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

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

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

发表评论
用户名: 匿名