TL; DR:APP商店存在,以提供适量的且易受滥用的本机应用程序平台的安全性。当更好的答案Weren'可用时,出版前盖茨是有价值的,但评论员应该更新他们的前锋,以考虑过去13年的硬件和软件进度。为不同的时代而建造的政策今天是有道理的,我们不再需要以安全名称接受扫描限制。防止浏览器创新是亲用户的想法特别是可戏剧性的,导致开发人员和用户的完全可以避免的Catch-22场景。如果我们'重新开始从iSs上的商店提供更好的结果,没有商店的多样性或侧重装载,它值得重新接地我们对商店的理解。
关于App Stores的当代辩论从可以使用审查的场所开始。这篇帖子从技术角度审查这些问题。对于业务方面,本帖子由本汤普森是有用的上下文。
SOSE在如何"应用程序&#34的细节中广泛不同;建造和交付。差异指向核心真理:在技术上,"一个应用程序"仅仅会符合一组任意和更改的操作系统约定。
一个看起来更接近,&#34的定义越少; Appiness"可以固定到特定技术。偶数"玩具"在构建在每个oS在优选堆栈时,具有相同功能的应用程序非常不同。为什么iOS应用程序"直接金属" android应用程序使用Java Runtimes时,二进制文件?是其中一个(或更少)"一个应用程序&#34 ;?缺乏可移植性突出了对&#34意味着什么的清晰技术支撑;是app"
可以肯定的是,由任何OS&#39的框架团队[1]判断,有柏拉图式技术理想,但实际的需求和行为普遍地背叛这些理想。 [2]本机平台始终提供从网络动态加载代码和内容的方法,本地或通过WebView和Code Platform的选择在识别且#34的经验时不分性关系。
固定地定义"一个应用程序"最好通过UI要求来沟通" appiness"到最终用户:元数据识别出版商并提供应用程序品牌,以及引导码呈现初始屏幕。商店供应商可能希望通过从他们的商店乘坐的二进制提供完整的用户体验,但是这不是事情在实践中的工作。
行业评论员常常写得虽然过渡到移动刚性对齐的对与特定技术平台的同步。在技术水平,这是不正确的。
自第一天以来,iOS支持具有专有元数据的网站的应用程序,而Android具有类似的功能。 " appiness"是一种幻觉,一个任意行绘制,包括内置于某些平台上但不是其他平台的程序,以及今天的所有程序,允许多个平台公开"真实的应用程序。"
Apple可以在无需App Store的情况下为Web应用程序提供支持,因为Web应用程序默认是安全的。大约39; 07,那些Web应用程序比本机代码略微慢。世界没有逆转多过程浏览器沙箱,JS JITS或金属速二进制隔离。他们到来,例如,通过WASM,在平台(Web)上开辟了一个新的应用程序,这些应用程序要求内存安全和默认行为作为90s浏览器战斗的遗留。
在' 07,安全隐含了一个带有128mib的慢速单核设备的不可接受的性能。如果使用当天的工具,则在需要严格的保护时,许多应用程序无法交付。这种具有挑战性的情况提升了应用商店:OS供应商了解,足够快的游戏需要危险的折衷。如何防止糟糕的Windows安全体验?发布允许的供应商的先验抑制快速设置和实施策略。
快进十年,软件和硬件情况都发生了巨大的变化。新的低端设备是4比8核心,2GHz系统,具有2GiB的RAM。 Sandboxing现在是普遍的(质量可能有所不同),我们在保持内存安全的同时,我们共同地对运行代码进行了精通。运行时许可授权的智慧(Web'模型)已经被广泛接受。
对于需要峰值计算性能的应用,出色的运行时安全的有效税率现在在5-10%的范围内,而不是十年前的数量级。安全是在我们的预算范围内,假设平台Don' t为所有程序提供异国情调和危险的API - 更多的是在一秒钟内。
所以和#39;'他们'重新操作系统所说的,那个定义可以随时改变,并且合理约束和超级驱动的程序可以"是应用程序。"如果只有oisse允许允许它,可移植性非常有可能[3]。
由于App Stores在无法使用运行时卫队无法承受良好安全的平台上升到突出,因此安全是商店的核心价值主张。在效率效率上申请效率申请不可禁情的政策时,储存筛查对每个人来说都是看不见的。商店扮演的其他角色可能对用户有价值,但主要用于在商品(或轻微可分辨率)专有的垂直整合平台上建立专有的护城河。
亚马逊和搜索引擎展示既不支付也不需要商店。如果用户在App商店中了解安全性,则在违规中'例如,例如,半偶尔文章记录了糟糕的应用程序。避孕的所需效果是确保商店中发现的一切都是安全的,尽管是在Dole出过广泛的权限的原生平台上建立。它非常难以说服人们在很大程度上使用设备,如果应用程序可以将设备绘制或漏油银行账户,则批量使用设备。 [4]
值得注意的是,这一前瞻整合对所涉及的每个人都有巨大的利益。虽然Apple假装像互联网一样从未存在作为分销渠道,但事实是一个对很多用户来说并不伟大的频道:人们害怕安装应用程序,确信他们会弄乱他们的电脑,扯掉,或者意外安装病毒。
将应用程序放入沙箱中,他们只能做苹果允许的事情,并且不能要求(或说服或技巧)用户允许执行“危险”的东西,这意味着应用程序变得完全安全。一个星座应用程序无法打破您的计算机,或者淤填充,或向下浏览电池,或观看您的网络浏览器并窃取您的银行详细信息。
App Store是分发软件的更好方法。用户不必乱用安装人员和文件管理,将程序放在他们的计算机上 - 他们只是按“GET”。如果您(或您的客户)技术似乎并不像一个问题,但对于其他15份安装人员的其他人的下载文件夹,令人困惑的是,这是一个巨大的前进。
要求一张信用卡购买App Online创建了摩擦障碍和安全障碍 - “我可以用我的卡相信这家公司吗?'Apple增加了无摩擦,安全的付款。
这些需要突出安全的价值,但跳过延迟桌面体验:我们在勃起软件分布扼流点积分而在窗口上主要实现安全性。相反,我们通过决定不下载(不安全)应用程序来获得保护,将计算移动到安全默认的平台:Web。 [5]
与网络相比,本土对象历史上祝福所有具有太多环境权威的程序。它们提供过度广泛的访问可预见地可怕的误操作(每设备标识符,长时间运行的背景代码执行和位置报告,完全访问联系人,读取所有SMS消息的能力,普遍访问剪贴板状态等)。
具有功能的本机平台慷慨可确保每个本机应用程序都是滥用潜力的广阔海洋。 Pervasive" SDK"不当行为将这种潜力转化为美元。可用于SDK开发人员的数据使Web隐私看起来很担忧。由于本机应用程序不是基于可移植或标准的,所以常用的交换浏览器或安装扩展的Web-ERA解决方案不可用。接受原生应用的任何部分生态系统命题是为了购买整件事。
Don' t喜欢后果?改变一个'现在的成本现在是几百美元。专有的API和分销的护城河,用于保护效用和保护(分别)出售的硬件边距(分别)是防止用户离开的原因,如果结果侧面,应该离开用户。同时,目前,只要眼睛可以看到,跨越陆地的保护延伸。保证安全保证时,Moats ann' t必需品。
这种追索情况的违约措施普罗旺斯正在改善,通常以富裕的人的硬件替代的步伐。 [6]与开发人员暗示以OS供应商的利益更具Web-ISH合同的冰川。原生平台Haven' t重置开发人员合同默认要求安全性,因为它们会回忆在Windows上发生的事情。当网上达到足够的领域时,对专有平台的兴趣取得了专业的利基(例如,AAA游戏,CAD)。便携式安全的应用程序向不再需要LARP作为Systems Administrators的用户返回了大量优势。
Web' S安全转换了软件分布,如此彻底的是,许多人停止思考应用。没有任何东西可以恐吓垂直集成的硬件供应商,因为开发人员可能将其围墙花园留给占地面积,以较低的税率管辖权为主。
安全性使得能够低摩擦,数据和通过商店获取应用程序的剩余成本表示不是安全性,而是他们守卫的专有平台的固有风险。 Windows,Android和Chromeos允许在他们的商店中的Web应用程序,只要应用程序符合内容策略。今天,开发人员可以从单个代码库上的所有这些设备到达所有这些设备的用户。只有一个供应商阻止开发人员通过开放技术满足用户需求。
这种对开放式,裸体的安全替代方案的偏见,以实现差异化的集成。为什么?保留生态系统的差异化,即,在设备上的寿命比硬件质量的差异可能是合理的。现在接受审查的缺点是对用户和开发人员进行这种战略税的直接后果。限制,一旦需要维持安全,现在是古董。如果今天制造,开发商明知是如何接受这样的单面报价的?
它是唯一的,即这些策略确保IOS上的网络只能作为Apple允许的开发人员那样能够竞争,安全和有吸引力。
是苹果制作了一个明显的现代和能力的浏览器,它可能不是危机,而是苹果浏览器和他们强迫其他人使用的发动机是几年的。
尽管IOS'适度的覆盖范围,但仍然存在对Safari和WebKit的投资不足的持续选择具有生态系统的影响。 iOS开发人员试图将Apple乘坐慷慨的优惠通过网络到达用户直接受到伤害。 Apple' S浏览器中的低进展速率,但保证任何尝试的开发人员都会失败。
但是,这不是最大的影响。因为Web' s的优势是可移植性,Web开发人员查看不可用的功能和#34;到处"完全无法使用。最低的公共指党者在开发人员野心上设定了一个帽子,Apple知道它。存储有意义的浏览器竞赛的商店策略确保盖子设置在一个不竞争力的寄存器中。
Apple不需要大多数Web使用来来自浏览器,没有关键的功能,以防止能力持怀疑态度;他们只需要让他们脱离手中的10%的用户。如果无法察觉或经历提供巨大经历的用户是富裕开发人员和用户的用户,那么更好。有钱能使鬼推磨。
Apple在竞争激烈的移动网络中发出了十三年的不合情感,正如我们免费的硬件枷锁一样,这是一个危机。限制合法化的App Store控件的体系结构消失,但规则没有改变。该网站是Windows XP用户的本机应用程序的救生艇。救生艇赢得了iPhone所有者,因为Apple' t允许它。合法地让用户'首先是良好的营销,但租金提取可怕。
扩展Web功能以达到最低移动活力的论据有时会从抛弃反隐私机构应用程序平台的各方包装以亲密的语言[8]。这些索赔是可疑的。批评者(可能无意地)混淆宽阔,狭隘的许可。浏览器可以授予某些站点的想法当然,当然不等同于将超级大国提供给具有低摩擦力的所有网站。没有人建议制作本土'错误。
无论如何,一致的虚假陈述是有效的恐惧。毕竟,本机应用程序是如此危险,他们需要App Store Gatekeers。不仔细观察细节,它很容易相信Web能力的扩展相似广泛。周到,有限的敞篷队伍的巨大舱室能力需要时间和精力来解释。仔细安全设计的细微差别是粉丝吊索战斗中的常见伤亡。
愤世嫉俗者可能表明,这些歪曲陈述了关于苹果公司设计的网络的机会令人震惊的赎回权 - 以及直接福利的问题。
浏览器对现代操作系统至关重要,因此iOS包含一个很好的浏览器。保持"一个好的浏览器,"它不断增加和销售新功能。
浏览器是疯狂不安全的,因为它们加载不受信任的代码,因此,他们必须仅使用Apple' s(安全?)发动机。 [9]
Apple并不允许Web应用程序在商店中,因为它们可能会在运行时更改为颠覆策略。
孤立拍摄,最后两个呈现简单,连贯的解决方案:禁止浏览器,包括Safari。此外,WebViews和其他系统,用于将代码动态推送给客户端(例如,反应本地)。没有广告' t与二进制文件预先包装,谢谢。没有网页内容 - 你永远不会告诉哪里,如果网页可能会来自哪里,毕竟!该解决方案还与当前的反韦斯特策略对齐。
如果一个人忽略了最后十年的软件和硬件进步,前两点是连贯的。他们还讲述了iOS'历史的故事:13年前,智能手机是利基,并且访问Web语料库很重要。在母语移动首次开发之前,Web是时代的关键桥梁。强大的浏览器沙盒仅成为一件事(TM),资源限制了延迟移动浏览器提供多过程保护。 OS生根在低记忆中,1-2核心计数时代可能已确认Cupertino' S怀疑。 [10]
时间,软件和硬件现实都搬家了。最近的堤坝旨在证明这一老龄化政策是在现代浏览器中对JIT的需求。如果浏览器供应商可能很乐意居住在少规则下 - 技术是广泛可用的 - 又替代发动机仍禁止禁止。为什么?
毫无疑问,Web引擎面临来自不受信任的第三方内容的升高风险。减轻这些风险在不断发展的浏览器中发挥了定义作用,超过二十年。
浏览器竞争用户的安全,隐私和其他敏感方面'体验。该竞争在不诉诸先前克制的内心的情况下推动了二十年的令人难以置信的安全创新。 iOS上的WebKit-Wrapper浏览器与其他应用程序一样超级驱动。它们可以轻松颠覆用户意图和泄漏敏感信息(例如,银行密码)。可靠性不是苹果公司的限制'每个操作系统上的安全浏览器的成功显示了这种情况。这些浏览器为用户和开发人员提供了更多的权力,同时维持比IOS上的任何浏览器更具激进的安全性姿势。
但是,让' s说出"驾驶" Web内容访问扩展功能不稳定的Apple,因此他们希望设置策略以防止强大的功能在Mere Tabs中可用于网站。他们吗?当然。 Apple' s添加到主屏幕功能将已安装的网站放入与用户' s主浏览上下文不同的小监狱。苹果可以琐碎的政策,只有在完成安装仪式后才能解锁强大的功能,以安全的知识安全,他们不会进入"常规"网上使用。 [11]我们设计了Web API,以适应关于暴露功能的多样性,以及开发人员对变量支持的保护。
此外,如果它们被网站滥用,它不会想象于撤销功能。像所有最近旧的浏览器一样,Safari包括一个可扩展的列出的滥用缓解系统。
更好的iOS浏览器铰接不透明度的缩销。从开发人员策略控制驱动器,而不是用户可见的限制,渲染浏览器切换实用。浏览器制造商可以将他们的品牌借给他们没有想到的产品和#34;真正的浏览器"或者从世界上切断了富裕的用户。没有其他操作系统强迫这种选择。但是戏剧藏在窗帘后面,苹果的偏好也是如此。
大多数人aren' t技术足以理解他们永远不会离开Hotel Cupertino,而且没有替代浏览器,他们甚至告诉他们他们'重新被困。一个更有能力的,更具竞争力的网络可能允许用户远离本机应用程序,离开Apple,没有能够将开发人员持有桶。谁排除了这种可能性?苹果,自然。
缺乏与后缘发动机耦合的真实浏览器竞争会产生多重损失,并且这些损失且#39; t约束到网络。 Apple'在过时的政策上的创造性依赖明确地利用开放,沿途伤害消费者的专有。
假设Apple希望我们相信他们的App Store政策公平,同时声称网络是一个类别的应用程序,他们不希望在他们的商店举办。在这种情况下,我们的Pundit类至少应该查询为什么Apple将(独特地)既不允许也不为iOS用户建立一个可信的现代版本。
柏拉图语理想" app"总是使用系统'首选的UI工具包,并构建为自包含。这些应用程序往往比玩具更大,但比你可能被视为最终开发人员;认为系统提供的计算器。 ↩︎
从商店下载的比特很少约束应用程序行为,抗议商店'尽管店主。在Android动态应用程序到达之前,许多顶级应用程序使用略带阴暗的技术在运行时动态加载JAR,绕过DEX并签署限制。它'据符合需要撰写经验的常识,以动态地正式支持这一点。 ↩︎
可移植性在能力/安全讨论中频繁折衷。 Java和Kotlin Android应用程序默认比NDK二进制文件更安全,更便携,需要担心Endianness和其他低级系统属性。
为可移植性支付的价格是一个受理论最大绩效的击中。 TH.
......