这是一个我无法正确回答的移动开发助理职位的面试问题。有人能把这件事弄清楚吗?
整个问题都是这样提出的:在iOS7发布后,许多应用程序需要升级,才能使它们与iOS7协同工作。当一个新的Android/iOS操作系统发布时,我们需要升级我们的应用程序,会发生什么样的变化?为什么在iOS7 5/6上运行的应用程序不能在iOS7上正常工作?不需要对iOS7做具体说明。我想要一个通用的答案,解释过去和将来在任何平台上升级的兼容性问题。
我的回答更倾向于UI/UX兼容性,但面试官对答案并不满意。我还能说些什么呢?
发布于 2014-02-28 00:35:09
在大多数情况下,大多数操作系统更新都设计为向后兼容。这意味着,为在操作系统的特定版本上运行而编写和优化的应用程序应该在下一个版本上运行时不会出现任何问题。
向后兼容性通常会保留几代人。运行在操作系统1.0版上的应用程序很可能在2.0版上运行,可能在3.0版上运行,但在4.0版或更高版本上可能不会运行。
新API旨在实现新技术,旧API被标记为过时。过时的API仍然是较新的OS版本的一部分,但是对于新的开发,它们的使用是不被鼓励的。
“为什么在iOS7 5/6上运行的应用程序不能在iOS7上正常运行?”这项声明过于笼统,我想说的是,只有一小部分申请受到这方面的影响。
有一些技术上的变化可能比其他的影响更大。例如,设备上的硬件升级比算法更改要激烈得多。
这显然是商业原因,对于苹果这样的品牌来说,这可能是影响向后兼容性的最大原因。在苹果的例子中,向后兼容性也受到Apple策略的限制。要将应用程序上传到商店,您需要遵守某些指导原则,这些准则隐含地迫使您升级或重写部分代码,有时它迫使您购买只在最新机器上运行的最新开发工具。
https://stackoverflow.com/questions/22083654
复制相似问题