iOS应用程序将如何在Mac上运行?这里有更多的细节

www.hulan0318.cn编者按:在今年的WWDC大会上,因为大家都比较关注iOS 12,所以有一个细节并没有引发太多人的关注:苹果宣布,将在一年后推行iOS和macOS的通用应用程序,这会怎么实现呢?日前,苹果软件工程高级副总裁克雷格·费德里奇接受《连线》杂志的记者Lanren Goode的采访时,透露了一些相关的细节。文章由36氪编译,希望能够为你带来帮助。 在WWDC的主题演讲接近尾声时,苹果软件工程高级副总裁克雷格·费德里奇(Craig Federighi),就人们一直在询问的苹果是否会合并 iPhone 和 Mac 操作系统的问题给出了答案——“No”这个词出现在他身后巨大的屏幕上。几分钟之内,这个“No”的截图就出现在了Twitter上。 除此之外,“No”后面应该有星号,因为尽管苹果仍计划推出两个不同的操作系统——一个用于移动平台,一个用于笔记本平台。但该公司一直致力于将iOS应用程序引入到Mac硬件中。费德里奇在接受《连线》专访时说,将iPhone和iPad应用程序移植到Mac的框架中已经开发两年了。他透露了一些有关这将如何工作的技术细节,并分享了一些他认为在Mac上有意义的iOS应用程序。费德里奇对触屏笔记本电脑不屑一顾,也不认为一旦笔记本电脑开始运行触屏手机应用程序,这种产品类别似乎自然会成为苹果产品线的一部分。 费德里奇说,这并不是要创建一个统一的操作系统。但事实上,苹果公开谈论了一个可能会在一年之后出现的计划,清楚地表明了这个科技巨头如何看待应用程序的未来。计划中还谈到了Mac应用商店的运营状况,它拥有数万个应用程序,但与拥有数百万个应用程序的移动应用商店相比,仍然相形见绌。 在WWDC上,苹果公司表示,一些官方的iOS应用程序,包括家庭(Home)、股票(Stocks)、新闻(News)和语音备忘录(Voice Memos),将于今年晚些时候在macOS Mojave(macOS的下一个版本)上推出。从表面上看,苹果似乎可以让自己的一些应用程序在不同的平台上使用。但在幕后,苹果一直在开发工具,让第三方开发者最终可以使用这些工具将自己的应用程序从iOS移植到MacOS,费德里奇坚称这是最少的努力。苹果公司大约在两年前就开始了这项计划,内部软件工程师一直在测试这些工具。这四个用于Mac的iOS应用程序就是进行测试的产品。 关于这些工作,以前就有传言了。彭博社去年年底报道,苹果公司正在研究某种解决方案,让应用程序开发者能够开发可以同时运行在iOS和macOS平台上的应用程序。但对于这些多平台的应用程序将如何开发,以及某些交互将如何工作仍然存在疑问;例如,使用iPhone触摸屏与在 Mac 上使用鼠标的交互逻辑是不同的。 在一个较高的层次上,费德里奇描述了苹果正在做的事情:将iPhone软件框架移植到Mac上,并使其“本土化”,而不是使用某种模拟器或仿真器。iOS和macOS都有一个共同的内核,并且有图形、音频和布局显示等方面的通用框架集。但随着时间的推移,各个平台的演变方向出现了不同。最大和最著名的框架是UIKit,但它是从一开始就为iOS构建的,并不是为解决鼠标和键盘控制而设计的。借助macOS Mojave,UIKit将得到更新。就像开发人员目前能够将iPhone或Apple TV作为应用程序运行的设备一样,他们很快也能够将Mac作为目标。 对于应用程序开发者来说,应用程序移植的某些方面将是自动化的,而其他方面将需要写额外的代码。使用运行在Mac上的苹果应用程序制作软件Xcode时,如果开发人员表明他们希望为macOS编写一个iOS应用程序的变体。某些交互界面会自动生成,比如将iOS上的长按变为Mac上的双击。不过,应用程序开发者可能不得不围绕应用程序中的菜单和侧边栏写一些额外的代码,例如使 Mac 应用侧边栏变得半透明或者将共享按钮作为工具栏的一部分。 尽管这些应用程序在操作系统之间能有效地共享,费德里奇强调,你的Mac不会像在iPhwww.qfsrty.comone那样运行。“这仍然是macOS,你还有终端,你仍然可以连接四个显示器,你仍然可以连接外部驱动器,”他说。 并非每一种移动应用程序在Mac上都有实际意义。例如,你不会拿起你的Mac沿着街道走,用运动传感器来跟踪你的身体活动。但苹果认为,很多游戏很容易就能实现飞跃;费德里奇特别提到《堡垒之夜》(Fortnite)是移植的候选人。他还说,可以想象某些网站,如IMDB、Yelp或DirecTV,都有Mac应用程序。 当然,开发人员现在也可以为macOS制作这些应用程序。考虑到当前的工具集,这需要更多的工作。而在用户方面,想要用户下载笔记本应用程序,并在其中闲逛,而不是在Web浏览器中快速查找餐馆或电影,就必须有某种增值,无论是特定的应用程序功能,还是隐私问题。 我问费德里奇,iPhone和Mac运行在不同的芯片架构上,是否会影响同一个应用程序在两个设备上的运行方式。“在这个层次上,不会有太多影响,”他说。“在我们的许多核心API(如Metal)中,我们多年来一直努力使它们在iOS上运行良好的同时,在Mac及其相关的CPU和GPU同样运行良好。” 在回答我关于iOS应用程序迁移到MacOS是否是触摸屏Macs的预兆的问题时,费德里奇告诉我,他不喜欢“个人电脑上的触摸屏”,并预计他不会这样做。他说:“我们真的觉得使用Mac的人体工程学原理是,你的手放在一个表面上。相比之下,举起手臂去戳屏幕是一件非常令人疲劳的事情。” 费德里奇补充说,他认为今天的触摸屏笔记本电脑——他称之为“实验”——并不吸引人。(值得注意的是,微软的Surface笔记本有触摸屏,被认为是MacBook的头号竞争对手,得到了很多好评。) 说到竞争,苹果在移动和桌面软件方面的最大竞争对手,都已经提供了一些可以在笔记本电脑和桌面上运行的移动应用程序版本。微软的通用Windows平台早在2016年推出,开发者只需编写一个应用程序,就可以在个人电脑、平板电脑、手机和XBox One上运行。同年,谷歌表示将把Google Play应用商店带到Chromebook上,这意味着人们可以在Chromebook上下载和使用Android应用。 微软和谷歌在不同的设备上运行相似或相同版本的应用程序,有不同的技术方法。但这两种系统都承认一个基本事实:虽然人们真的很喜欢移动应用,但开发人员为多个平台构建完全独立的应用程序,可能是低效且昂贵的。 此外,通用应用程序或个人电脑上的移动应用程序的概念还没有被单方面接受。微软宣布UWP后不久,一名开发者公开反对他所看到的微软咄咄逼人和过度控制的行为。Epic Games的联合创始人蒂姆·斯威尼(Tim Sweeney)在一篇评论文章中写道,该公司“有效地告诉开发者,只有在你接受被锁定在UWP生态系统的控制下,你才能使用这些Windows功能”。 还有一个问题是,通用应用程序对收入分配意味着什么,因为苹果从应用程序商店销售的应用程序中获得了30%的收入(如果是长期订阅应用程序,则是15% )。现在Mac开发人员可以在网上分发他们的应用程序,避免苹果公司的收费结构。如果开发人员是从iOS应用程序创建macOS应用程序,他们的控制水平是否与之相同? 费德里奇坚称,应用程序的分发方式和成本仍将由开发者决定。 不过,这一切要到明年才会发生,所以仍有许多细节有待分享,而且可能会有更多关于桌面应用程序与Web应用程序价值的讨论。我问费德里奇,确切地说,第三方开发者什么时候可以访问这些工具。他拒绝透露。但当我问到,我们是否有理由认为,一年后,也就是2019年的WWDC,我们会听到更多关于这个问题的想法时,他回答说:“这样想是合理的。” 原文链接:https://www.wired.com/story/wwdc-2018-federighi-ios-apps-on-macos/ 为什么开发者在 iOS 上就廉价,在 GitHub 上就值钱? 编译组出品。编辑:郝鹏程 www.fjzgc.com

评论