|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
最重要的就是UINavigationController他是一层一层推进view的打开iPhone里的联系人每点一个联系人屏幕就会像右推到下一个界面这就是UINavigationController在做的事UINavigationController上周看完了WWDC14的视频之《CreatingExtensionsforiOSandOSX》,差未几能够谈谈Extensions了。
我团体以为这是iOS和OSX开展至今十分具有里程碑意义的一处改善,乃至比UI上的改动主要的多。我想复杂地谈一下为什么Extensions这么主要。
Extension是甚么?
起首我们得问,Extension是甚么?这里大概会有良多分歧的注释。
一个很分明的例子是即是利用了不异术语的Firefox和Chrome的Extension,这两年夜扫瞄器供应了十分丰厚的Extension用于巡游器自己和加强Web扫瞄体验。切实地说,这里的Exension是一种Plugin。
另有一个是Android的Intent,Intent使App能够完成相干Intent,在体系大概一个App里,用户能够自在的选择另外一个App往完成特定的义务。以是,Android的Intent是一种IPC(使用程序间的通信)。
这里的分类有点极度,究竟扫瞄器有真实的Plugin,如Flash插件;Android也有供应Widget,也更靠近体系的Plugin。在这点上,我能够说iOS/OSX的Extension也是夹杂了下面提到的统统:既有Plugin的部分(如Today),也有IPC的部分(如Share、PhotoEditing)。
因而让我们就Extension复杂地舆解为:加强体系默许功效,能让App之间的协同事情成为大概。
没有Extension的日子…
没有如今的Extenion之前,iOS和OSX都分离有类似的手艺往完成体系的加强和App之前的合作。
对OSX来讲,它是Services和Scripting,这是OSX从一入手下手就具有的一项特征,经由过程在使用程序开辟框架级别撑持Scripting(默许言语是AppleScript),让OSX撑持图形剧本化,从而让这个操纵体系具有了无穷扩大的才能。
得益于Scripting作为手艺后端,间接影响了Alfred这类PowerTools在OSX上的盛行。但是不论AppleScript何等复杂,它仍然是一门言语,与命令行剧本在实质上属于统一类事物,从而必定了Scripting/AppleScript是作为PowerUsers的一项工具,离一般用户对照远。
但是,Extensions的撑持将改动这一征象,OSX的扩大才能比拟之前失掉进一步加强,与此同时,坚持了对一般用户的友爱。
别的,关于iOS来讲,在Extension之前,iOS平台实践上早已完成使用程序间的互相通信。举个最复杂的例子,人人大概用过「知乎日报」,也用过「Evernote」,知乎日报就撑持把一篇文章保留到Evernote里往。当你点了「保留到Evernote」里后,知乎日报会挪用Evernote,把文章保留好以后,又前往知乎日报。这就是一个完整的IPC历程。
Extensions于IPC的分歧在于,它是一个体系级而非App级的特征。对下面提到的一个例子来讲,知乎日报必要明白晓得Evernote,才干把文章保留到它那边往;而经由过程Extension,知乎日报不再必要晓得Evernote,也能保留文章了。这个改动是伟大的…
iOS/OSXExtension的特性:开放,而且平安
关于这项迟来的特征,iOS/OSX的Extension有何特性,Apple真的同意开辟者做各类他们能在其他平台做的事变,而不再限定的十分逝世吗?
关于这点,我能够说,是的。Apple不但开放了充足多的能够开放、供开辟者发扬的中央,而且也做到了和用户好处相当主要的一点:包管平安。也就说,在你利用各类Extensions操纵照片或其他文档的同时,iOS/OSX会有计划优秀的平安机制将Extension与对应的文档(或App专有的文档)断绝起来,第三方Extension只能被会见受权的对象,而对其他与此对象处于统一目次(或App)下的将没法失掉会见。
关于这点平安性上的思索,ArsTechnica写了一篇很具体的文章《ExplainingiOS8’sextensions:Openingtheplatformwhilekeepingitsecure》来剖析,而且与Android供应的不是很平安的Extension机制造对照(希冀能在月末的GoogleI/O失掉改善吧~)。激烈保举对iOS/Android平安性感乐趣的同砚往读一读。
以是能够说,iOS/OSX的Extension能够说是既完美又平安。固然,如今方才推出,还没有太多的Extension来证实这一点,就让我们拭目以待吧!
关于iOS的输出法
iOS的输出法也算是一个特别的Extension,它和其他Extension一样,必要有一个尺度的AppContainer,必要用户明白往启用它才干利用。
关于输出法来讲,平安性有着出格的计划,由于不像其他Extension是针对文件举行的平安防护,输出法但是把握着你输出的那些内容。对此,Apple供应的输出法模板中,默许是没有收集的撑持的,可是假如一款输出法的确必要用到收集(如云词库),那末开辟者必要启用它,用户也会失掉提醒。在这以后,就是用户与开辟者的信托干系了:我用你的输出法,我信任你你只用我的输出内容改良词库而不会用做其他用处。
别的,iOS的输出法另有两个硬性划定:
- 输出法必需供应切换到其他输出法的按钮:这点很主要。我能够在一些我以为出格的中央不利用你的输出法,而能便利地切换到我想要的输出法。
- 假如一个文本框请求为secure(如暗码框),那末体系会强迫利用体系默许的输出法来举行输出,而不是第三方输出法。
有这两点很主要,由于用户总能便利地切换到其他输出法,那末第三方输出法就不克不及占领这个体系,与此同时,用户不用忧虑暗码类的会被输出法记着。
关于Safari的Action
Safari和Chrome及Firefox一样,在这之前也供应了Extension的撑持。但是,经由过程iOS/OSX新增的这个体系级Extension,Safari能够走的更远了。这部分的Extension,叫SafariAction。
复杂的说,如今你能够经由过程你的App来分发一个扩大,起首你的App是一个完全的App,其次你的App还能够供应一个扩大,用于帮助或加强App原本的功效。
好比说,1Password,用过Mac版(或Windows版)的同砚都晓得,你能够在扫瞄器里经由过程扩大来为你的网站填暗码,可是这一功效由于此前iOS体系的限定而没法做到。可是在iOS8内里,1Password将完整有才能像桌面版一样,为你的Safari主动填写暗码、用户信息等等。这个SafariAction的撑持能够说长短常有用的。iOS上扫瞄Web的体验将因而失掉加强。
一个新鲜的例子
因为iOS8的测试版本方才公布两周,如今还没有甚么可用的第三方Extension可供演示的,那末我来挑一个十分有效的OSX的内置Extension来演示吧。
大概人人还记得WWDC14演出示的Mail.app撑持间接编纂邮件附件的一个功效吧。事先我看了这个就以为OSXYosemite正式公布后,我必定要入手下手用Mail.app。厥后我懂得到,这项功效实践上是自力于Mail.app的,没错,它就是Extension——Markup(标志)。
好比,我在TextEditor内里写文章,我拔出了一张图片。
这时候我想给这张图片加一行笔墨标志,而不是回到源文件用其他App往编纂它。完成这项义务很复杂:把鼠标移到图片上,会冒出一个下拉点击地区,点击它,就会出来:标志。这就是和Mail.app一样的功效。
<br>
父类是NSObjectUIKit里最底层的库可以响应一些触摸事件设置焦点等功能UIView父类是UIResponder所有View的父类方法太多了大部分很有用这个不赘述了 |
|