当前位置: 首页 > 科技观察

WWDC2016iOS开发者愿望清单

时间:2023-03-15 11:44:58 科技观察

我通常不会写这样的文章,但我认为今年很重要:Apple比以往任何时候都更加开放和乐于接受反馈。通过iOS9和iPadPro,iOS在过去的一年里在iPad上取得了巨大的飞跃。基于此,我想记录下所有我脑子里能想到的,真正想看到的东西,让iOS作为一个计算平台能够覆盖更多。以下列表中的内容是我希望在未来几年内在Apple平台上看到的内容,排名不分先后,从简单明了的开始。大多数这些东西实际上都被提到了,但它们经常被遗忘。大多数列表都是关于iOS的,但不是全部,我会坦率地说,我认为OSX没有未来。即使你不同意我的看法,这里也可能有你想要的东西。分屏功能---允许您将同一个APP分成多个窗口。这是一个易于实现的功能。现在iOS的分屏功能只允许两个不同的应用程序并排;显而易见的下一步是允许同时将一个应用程序分成两个窗口,这样您就可以在一个窗口中并排放置两个网页或两个文档。窗口打开链接(OpenURL)的另一个小改进,但这允许应用程序打开链接或应用程序,您可以选择是否在同一屏幕上并排显示两个窗口或一个新窗口来替换当前应用程序。例如,当电子邮件或消息中的链接被打开时,它会自动与Safari同屏打开,而不是踢开当前应用。Twitter在iOS上的交互逻辑非常智能——如果在同屏上点击一个链接,它会直接在同屏上打开一个Safari可定制的窗口控制器扩展。将视口控制器从一个应用程序呈现到另一个应用程序的理想方式。这适用于整个操作系统,但最引人注目的是Safari的窗口控制器。Apple已经确定了该应用程序的一个关键区域——这就是图像编辑扩展今天的工作方式。非常希望能看到这个扩展功能能够被app注册使用,让其在更多的应用和功能中得到普及和应用。QuickLookBuilder同样,QuickLook功能似乎是系统的明显补充。OSX应用程序可以注册一个QuickLookBuilder并生成其他应用程序可以呈现的文档内容的缩略图预览。文档处理在iOS上变得越来越普遍,没有理由不添加快速查看扩展。系统级绘图和标记视图是一个简单的愿望——Apple在Notes和任何应用程序中创建了最好的绘图/标记视图之一,非常适合ApplePencil,这太棒了,为开发人员提供标准化和可定制的他们可以在他们的应用程序中实现的样式,而无需重新构建相同的功能——像这样的绘图引擎将是一个非常复杂的OpenGL/Metal渲染器,很难重新实现。向iPad键盘添加Command键鉴于iOS对UIKeyCommand和键盘快捷键的支持,我希望看到向iPad的屏幕虚拟键盘添加命令键。应该很容易理解,它应该只在虚拟键盘可见时才有用(比如在文档编辑器中),但应该可以修改应用程序的快捷方式,这也将帮助iOS开发人员认识到应用程序应该有默认值快捷键。在大多数iPad都支持键盘外设的时代,我认为这是重要的一步。在Drag加入分屏多任务之后,iOS上的Drag被很多人说了。从表面上看,这也是一个明显的添加,但仔细想想,这在很多方面对操作系统都是有害的。找到一种既能在当前OS中对现有操作系统造成影响又能操作拖动,同时还能让复制粘贴速度更快的操作方法,并不像你想象的那么容易。即便如此,我仍然觉得有必要指出它在具有直接控制功能的触摸屏上非常有意义。WatchOS上的原生appWatchKit是一个很好的补充开发组件;能够作为WatchOS应用平台。可悲的是,第三方应用程序在WatchOs上很糟糕,而原始的WatchKit在WatchOS2.0上没有多大帮助。如果watchOS作为一个应用平台要取得成功,我认为它应该能够运行真正的(阅读UIKit)应用。由于已经有人涉足其中,我不确定这个没有妥协的第一代硬件是否足以做到这一点。所以我希望将来有更好的硬件可以做到这一点。第三方应用程序的性能需要与制造商提供的本机应用程序一样好。WatchKit是一坨屎。AppleTV控制器处于一个容易解决的问题:目前运行在tvOS上的游戏不能用控制器玩(当然,除非Activision需要硬件配件,这显然很难)。所有游戏都必须支持Siri远程:问题是Siri远程对游戏来说很糟糕,这意味着每个试图在tvOS上进行任何远程复杂操作的开发人员都必须包括一些荒谬的、自以为是的和基本上没有用的是仅在远程控制模式下允许。这是一个政策问题——我理解苹果的意图,但这种超级烦人的体验是由这个没有选择的糟糕平台造成的。iOS上的iBooksAuthoriBooksAuthor是iWork套件的衍生产品,看起来非常适合在iOS上运行。对于图书作者来说,iOS上的iBooksAuthor可能意味着一个完全集成的写作和出版渠道,不需要台式电脑。您甚至可以创建自己的多点触控以增强设备上ibook的性能。对我来说,它就像是ios阵营的一个愚蠢的新成员。所有系统应用程序都应支持分屏功能。令我惊讶的是,iPad上还有很多系统应用程序不支持分屏多任务。我想这可能与安全有关。例如,以iBooks为例。如果您需要查看iBookstore,则需要全屏。显然AppStore、iTunesStore和AppleMusic应该支持分屏功能。很难想象为什么非游戏应用程序不支持分屏(当然我知道某些第三方应用程序出于某种原因没有该选项)。开窗不应该是可选的,特别是对于系统应用程序。简单的已经说了。..iOS和OSX之间的标准统一应用程序平台现在,我很确定OSX是一个死平台。多年来它一直在拖iOS的后腿,而且通常在OSX实现iOS中已经实现的功能之前已经过了很长时间。苹果需要在两个操作系统之间建立一个统一的应用程序平台。这并不意味着桌面只能运行iOS应用程序,就像tvOS不仅仅运行iOS应用程序一样。相同的想法包括:共享代码库、少数特定于平台的元素以及针对操作系统主要交互模式的优化用户界面。我认为这应该基于UIKit。在tvOS之后,我们不能再说UIKit没有触摸屏就不能运行,我们知道事实并非如此。这一切都建立在相同的CoreAnimation基础上,因此至少现在您可以在混合UIKitMac应用程序中交错AppKit视图/层。AppKit本身应该有一个滞后的过渡期,就像之前的Carbon一样,随着新特性逐渐融入到基于UIKit的框架中。AppKit应该留在桌面应用程序中,而不是iOS,然后逐渐淡出并被兼容应用程序一点一点取代。这样,iOS(主要是iPad)和OSX就可以一起成长,一个系统中的功能可以更容易地编译到另一个系统中使用。iPad应用程序将有一种方法可以转移到桌面计算机上,桌面应用程序也将转移到iPad上。这两个平台将作为一个整体发展壮大,不会有取舍。我很早就提倡XcodeforiPad的需求。说我想要一个用于iPad开发的Xcode,我的意思是“可以在iPad上编写代码、调试和部署CocoaTouch应用程序,而不必使用Mac”。最有可能的是,这样的项目将以与系统上的桌面Xcode相同的方式工作,但与此完全不同。它很可能只在Swift中可用(这会让我很难过),所以我想SwiftPlayground也应该包括在内。然而,完整的软件开发者工具链是iOS软件生态系统的一大缺失。iOS上有一些很棒的应用程序已经成功地完成了类似的事情,Pythonista就是一个很好的例子:一个PythonIDE,它可以通过将C桥接到Objective-C代码来在设备上完全运行。功能强大到足以让您使用Cocoa(在Python中)进行交互和重写您自己的UI,但有点令人不安的是据说Apple不再允许此类应用程序并将它们从AppStore中删除。那将是一个糟糕的情况,人们必须考虑iOS可以做什么的界限在哪里。iOS上的文件和磁盘管理一开始,iOS试图用文件管理系统做正确的事,但九年后,这个虚构的物理文件管理系统不存在,也没有实际发生。最终我们有了iCloudDrive应用程序和第三方文件传输应用程序,但除了导入照片外,我们仍然无法与外部存储进行交互。我认为是时候在系统层面实现这个功能了:允许文档选择器从外部存储正确打开文件,并允许应用程序将文件复制到外部存储。在OSX上,文件选择器为用户提供了一个沙箱,供您选择要访问的应用程序。建立在这种模式下---一个既保证安全又不虚拟化不存在的文件系统。iOS的终端环境值得一试,对吧?我很高兴在iOS上看到终端/BSD环境,即使仅限于它自己的沙箱,而不是整个操作系统文件系统。让技术人员创建技术人员需要的东西,而GUIiOS无法以任何其他方式处理这些东西。我能看到Apple这样做的唯一方法是,如果它与操作系统的其余部分完全分开,即使那也是向前迈出的一大步(或向后退一步,取决于你如何看待它)iOS接管操作系统Xapps现在iPad越来越好。Apple越来越多地取代了Mac以前做的事情,所以在我看来,Apple也应该缩小这两个系统的应用程序之间的差距。我希望看到对TextEdit、Automator、FontBook、KeychainAccess和外部存储的支持。磁盘工具和TextEdit在Mac上可能看起来微不足道,但iOS上没有内置的文本编辑器来获取iCloudDrive上的TextEdit文件,这对我个人来说有点疯狂。几乎没有人使用Automator,但那些确实知道它有多么强大和有用的人。事实上,iOS上最好的第三方应用之一Workflow很像一个扩展的Automator。字体管理和钥匙串支持是其他应用程序,它们在iOS上不具备与第三方应用程序等效的功能,尽管它们对某些用户很重要。没有iTunes,iOS设备可以在恢复模式下安装最新的操作系统现在,从iOS应用程序连接到台式计算机的唯一剩余原因之一就是安装操作系统。打补丁无疑是困难的,但NetBoot&InternetRecovery已经在Mac上存在太久了。要么我错了,但我记得如果出现问题,第一代(x86)AppleTV可以在恢复模式下从Internet重新下载其操作系统。所以最后我认为iOS需要一个扩展的Recovery环境才能自我恢复。iOS的“AppleScript”可能是一个被遗忘的古老传统,但不久前AppleScript获得了对全新Java脚本语言的支持,或许AppleScript在iOS生态系统中也占有一席之地。Apple足迹的存在本身就是一件美妙的事情——随着System7的问世,它是我最早学习的编程环境之一。可以支持更多USB扩展设备的iOS很难卖,尤其是为iPhone制作的程序对苹果来说是件大事,但除了音频、键盘和大容量存储设备,通过USB适配器,也可以在iOS的各种设备上使用.我希望开发人员能够编写用户模式驱动程序以与现有硬件对话——对我来说,诸如捕获卡、电视调谐器、串行适配器、外部摄像头、输入设备等。每个单独的USB设备都需要一个MFi授权芯片和证书,这对配件的app影响很大。您可以购买现有的AppleMFiRS232调制适配器,并使用其认可的SDK开发应用程序以与Newton、RaspberryPi或Arduino通信。您不能使用未经MFi认证的AppleUSB适配器做同样的事情。我不认为Apple可以改变这一点,但我希望它可以。修复Mac的AppStore最后,这是一个大愿望:Mac的AppStore显然不再工作了。简而言之,沙盒限制和货币化问题赶走了太多长期受人尊敬的Mac开发人员。坚持不懈的开发人员通常会为同一应用程序创建MAS和非MAS版本,并且通常非MAS版本功能齐全。第三方开发人员强制MAS用户使用他们的非MAS版本的应用程序。这是不允许发生的——这对开发人员不利,对用户也不利。可以肯定的是,所有Mac软件都可以从MacStore轻松获得。微软的Office套件、创意云服务等等,苹果应该竭尽全力让AppStore成为销售Mac应用程序的唯一途径。更何况现在苹果通过MAS提供软件,不遵守自己的沙箱规则,同样的限制排斥所有人。我很确定这一点,而且可能仍然是。现在是笑话,不再是领导。