Craig Federighi 在 2018 苹果全球开发者大会上

在今年的苹果全球开发者大会上,苹果的软件工程高级副总裁 Craig Federighi 回答了人们询问已久的一个问题:苹果是否会合并 iPhone 和 Mac 的操作系统。

他的回答十分简单:“NO。”几分钟内,“No”一词的截屏就在 Twitter 上流行开来,还变成了网络流行语。

不过,这个“NO”应该加上备注,因为虽然苹果依旧会为手机和电脑发布两个不同的操作系统,但是苹果正在尝试在 Mac 硬件上运行 iOS 应用。

Federighi 曾经在采访中表示,将 iPhone 和 iPad 应用移植到 Mac 框架的开发已经开展两年了。他披露了该框架的一些技术细节,并且分享了一些他认为应该在 Mac 上运行的 iOS 应用的类型。同时 Federighi 不愿意太多考虑触摸屏电脑,尽管如果以触摸为主的移动应用也可以在笔记本电脑上运行的话,触摸屏电脑似乎更适合苹果的产品线。

跨平台

Federighi 认为这项技术的目标并不是建立单一的通用操作系统。但苹果曾经公开声明,最晚一年之后会有重大事件发生,这清晰地表明苹果已经意识到未来的应用发展趋势。苹果还谈了一些关于 Mac 应用商店的健康问题。虽然 Mac 应用商店中有上万款应用,但与手机上拥有百万应用的应用商店相比就是小巫见大巫了。

在上个月的全球开发者大会上,苹果也表示今年下半年,他们的一些 iOS 应用会在 MacOS Mojave(下一版的 macOS)上亮相,这些应用包括主屏、股票、新闻和语音笔记等。从表面上看,苹果似乎是把自己的一些应用变成了跨平台应用。但在幕后,苹果在创建一种工具,最终可以让第三方开发者将他们的应用从 iOS 移植到 macOS,而且据 Federighi 坚称,这项移植毫不费力。苹果从两年前就开始计划这项行动,苹果内部的软件工程师已经开始测试该工具的 beta 版。目前已经有四款能在 Mac 上运行的 iOS 应用就是测试对象。

有关苹果的这些工作的传闻已久。彭博社在去年年底就报道过,苹果在努力让应用开发者建立可以同时在 iOS 和 macOS 上运行的应用。但人们对于这种跨平台的应用如何开发,以及特定的交互应当如何进行等问题仍有疑问,因为 iPhone 的触摸屏的交互方式与在 Mac 上使用鼠标不一样。

原生应用

Federighi 大致地描述了苹果如何将 iPhone 软件框架移植到 Mac 上,并在 Mac 上以原生方式运行,而不是通过某种模拟器或仿真器。iOS 和 macOS 共享同一种内核,部分框架也是相同的,如图形、音频和显示布局。但随着时代发展,两个平台选择了不同的发展路径。最大也是最注明的框架就是 UIKit,这个框架从一开始就是为 iOS 设计的,完全没有考虑鼠标和键盘的控制。在 macOS Mojave 中,UIKit 将得到更新。就像开发者可以让应用在 iPhone 或 Apple TV 上运行一样,很快他们就可以让应用在 Mac 上运行了。

Federighi 强调,即使应用在两个操作系统之间共享,Mac 也不会变得像 iPhone 一样。

对于应用开发者来说,应用移植的某些方面可以自动化,但另一些方面依然需要额外的编码。通过苹果运行在 Mac 上的应用开发工具 Xcode,开发者可以指明是否要给 iOS 应用编写 macOS 版本。特定的 UI 交互会自动进行,如 iOS 上的长按会变成 Mac 上的双指点击。但是应用开发者仍然需要写一些额外的代码,例如处理应用中的菜单、侧边栏等,比如将 Mac 应用的侧边栏做成半透明,或将分享按钮放到工具栏中等。

Federighi 强调,即使应用可以有效地在两个操作系统之间共享,Mac 也不会变得像 iPhone 一样。“它仍然是 macOS,你仍然可以使用 Terminal,仍然可以连接四个显示器,仍然可以连接移动硬盘。”

并不是所有移动应用都适合移植到 Mac 上。比如,你不会带着 Mac 走到街上用运动传感器去跟踪你的活动。但苹果相信,许多游戏可以很容易地完成移植。Federighi 特别提到了《城堡之夜》就很适合移植。他还说,他可以想像,如 IMDB、Yelp 或 DirectTV 这些网站都会有原生的 Mac 应用。

当然,开发者现在就可以为 macOS 编写这些应用,但以目前的工具来说,这样做需要花费很大力气。从用户的角度来看,想让一个人下载并使用桌面应用而不是直接在浏览器中查找餐馆或电影,桌面应用就必须提供一些附加价值,如特别的功能,或者更好的隐私保护等。

我询问 Federighi,iPhone 和 Mac 运行在不同的芯片架构上,是否会对应用的跨平台造成影响。他回答,“从目前来看影响不大。许多核心 API 像 Metal等,我们已经做了多年的努力使它们能在 iOS 上以及 Mac 及其 CPU 和 GPU 上运行得都很好。”

关于触摸屏

关于 iOS 到 macOS 的移植是否会导致苹果生产触摸屏版本的 Mac 的问题,Federighi 说他“对触摸屏电脑不感兴趣”,而且认为以后也不会感兴趣。“我们认为,从人体工程学的角度,使用 Mac 就是你的手腕放在某个平面上,而举起手去点屏幕是很累的。”

Federighi 还说,他不认为现在市面上的触摸屏电脑(他用了“实验品”一词)有任何竞争力。“我不认为我们会看着别人的产品说,我们多久能做出来?”(值得一提的是,广受好评的微软的 Surface 笔记本拥有触摸屏,而且被认为是 MacBook 的竞争对手。)

通用应用的未来

谈到竞争,苹果在移动软件和桌面软件领域最大的竞争者们都已经提供了某种能同时运行在手机和电脑上的应用。微软的 Universal Windows Platform(UWP)早在 2016 年就发布了,开发者只需写一个应用,就能在个人电脑、平板电脑、手机和 XBox One 上运行。同年,Google 说它将把 Google Play 应用商店带到 Chromebook 上,这意味着人们可以在 ChromeOS 电脑上下载并运行安卓应用。

微软和 Google 都有各自的技术方案,在不同的设备上运行相似或相同版本的应用。但两个系统都默认了一个事实:尽管人们很喜欢移动应用,但对于开发者而言,为不同的平台分别创建应用很没有效率,代价也很高。

此外,通用应用的概念,即在个人电脑上运行移动应用,并不完全是好事。在微软发布 UWP 后不久,一名开发者就表示他认为 UWP 是微软的一次激进的争夺控制权的行为。Eipc Games 的联合创始人 Tim Sweeney 在一篇文章中表明,微软实际上在“告诉开发者,只有将控制权交给闭锁的 UWP 生态系统,才能使用这些 Windows 的特性。”

关于通用应用对利润分成的影响也有疑问。苹果对 App Store 销售的所有软件收取 30% 的分成(对于长期订阅的软件收取 15%)。现在 Mac 开发者可以直接在互联网上发布应用,从而绕过苹果的收费。如果从 iOS 应用创建 MacOS 应用,那么开发者是否还对应用享有同样的控制权?

Federighi 强调,应用的分发和定价依然完全由开发者自己决定。

但同样,这一切都要等到明年才会发生,所以许多细节仍有待讨论,而且估计会有关于桌面应用和 Web 应用的价值的许多讨论。笔者之前也曾询问 Federighi,第三方开发者可以拿到这些工具的准确时间。Federighi 拒绝回答。但当我问起是否可以认为在一年后的 2019 年全球开发者大会上能听到更多消息时,他回答:“那应该没问题。”

原文:https://www.wired.com/story/wwdc-2018-federighi-ios-apps-on-macos/

作者:LAUREN GOODE

译者:弯月,责编:屠敏

@苹果,iOS App 还需要多久才能运行在 Mac 上?相关推荐

  1. 2019年苹果iOS App上架详细图文教程

    上架基本需求资料 1.苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2.开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa测试上架的完整流程,中途可能会遇到一些报错,一般 ...

  2. 苹果iOS App上架流程,非iOS开发人员上架教程

    iOS应用上线发布流程一般包含相关证书文件的配置.Xcode的设置.App Store Connect填写App的相关信息.ipa包上传.审核结果以及相关邮件回复.相关证书文件的配置与Xcode的设置 ...

  3. 苹果iOS app上架流程

    一般app开发需要经过确定功能需求,确定UI设计,正式开发,进行测试等流程,然后再上架到应用商店. 苹果app上架流程一般经过5个步骤: 1.申请苹果开发者账号 2.创建APP ID以及申请证书 3. ...

  4. 苹果商店上架流程_苹果IOS APP上架流程

    iOS应用上线发布流程一般包含四个部分,第一步是相关证书文件的配置:第二步是Xcode的设置:第三步是iTunes填写App的相关信息:最后是审核结果以及相关邮件回复. 一.开发者发布证书.AppID ...

  5. 苹果ios APP怎么打包?

    众所周知,苹果的应用开发需要基于苹果电脑环境,而我们很多开发者并不具备这样的条件.如果你买一台贵的苹果电脑只是为了发布一个应用,成本太高了! 就算你有苹果电脑,你也可以自己开发一个基于web的IOS应 ...

  6. 若依APP 一个非常火的java框架做个APP,若依Flutter安卓IOS桌面前端,若依安卓APP、若依苹果IOS APP、若依Linux APP、若依 MAC APP、若依 Windows APP

    在若依官网看了介绍,框架使用了最新技术栈.前后端分离.完全响应式布局.代码生成器......,似乎已经完美..... 若依这个框架在java非常火,后端和前端的技术非常先进,发现缺少一个原生APP,经 ...

  7. 兽音译者iOS APP,支持iPhone、iPad、Mac~

    最近大家可能在朋友圈.微信聊天.百度贴吧里看到诸如这样的加密信息: ~呜嗷呜嗷嗷嗷啊嗷嗷~啊呜~啊~呜呜嗷~呜~啊~啊呜呜啊~~嗷~啊啊~呜呜嗷啊啊呜嗷嗷~呜~嗷呜呜啊啊嗷嗷呜嗷呜~~嗷呜嗷~呜~啊呜 ...

  8. 苹果电脑在哪里改计算机id,如何在mac上切换apple id和icloud账号密码-mac上切换apple id和icloud账号密码教程 - 河东软件园...

    想必每一位苹果用户都拥有自己的Apple ID,它为用户提供了苹果相关服务的账号认证功能,一般来说,我们的Apple ID都与自己的设备进行绑定,而Mac用户都知道,在Mac中支持多账号的管理,那么我 ...

  9. 用Xamarin和Visual Studio编写iOS App

    原文:Building iOS Apps with Xamarin and Visual Studio 作者:(Bill Morefield](https://www.raywenderlich.co ...

最新文章

  1. 机器学习入门(19)— 卷积网络 CNN 的简单实现
  2. 360要上A股IPO?先看看它的网络安全武器库
  3. 联想笔记本ideapad700 15isk添加内存
  4. 成功解决r2_score函数输出值始终为0的情况
  5. php 导出csv设置列宽度,php数据库导出excel表格数据-php从数据库导出csv格式的Excel表格是,字段本身就......
  6. 关于游戏平衡性——王者荣耀英雄伤害数值参考
  7. java aspectj_Java:AspectJ的异常翻译
  8. HTTP和HTTPS的区别(转)
  9. Cloudflare通过UnstoppableDomains添加对“.crypto”域名的支持
  10. pywifi 破解WiFi密码
  11. (六)、Redis的AOF持久化---Redis设计与实现读书笔记
  12. Unity游戏ugui适配阿拉伯文本显示
  13. 身份证号码归属地查询接口分享
  14. 随机生成器,从给定列表中随机抽取一个元素
  15. phpmyadmin 安装下载使用教程
  16. Mask OBB 论文学习笔记
  17. mysql 危险字符_PHP过滤指定字符串,过滤危险字符
  18. 复现Thinkphp5 5.0.22/5.1.29远程代码执行漏洞
  19. 117年的老商场也直播卖货了:活下来,再谈创造纪录!
  20. 火车票订购指南 网络电话订省时又省心

热门文章

  1. python内存管理错误的是_解读Python内存管理机制(转载)
  2. python读取大文件的某行_python 大文件以行为单位读取方式比对
  3. 【OpenCV】Hough检测
  4. 【图像融合】简单认识图像融合
  5. 厨房手工工具行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  6. php接收post原始数据
  7. VLOOKUP模糊匹配的妙用
  8. ACCESS使用VBA编辑器,ACCESS崩溃后的处理
  9. 如何在 Deno 中构建一个 URL 短链生成器
  10. 利用 Python 预测英雄联盟胜负,分析了 5 万多场比赛才得出的数据!