初探WatchKit,开发者必须知道的6件事!

11月19日,对于iOS开发者来说绝对是个很棒的一天,因为Apple终于上线了WatchKit工具包,也就意味着开发者可以在iOS应用基础上为Apple Watch开发应用。Ray Wenderlich作为一名专注于iPhone和iPad开发的资深独立软件开发者,在WatchKit上线之时就带领团队对它进行了探究,本文所写的就是Ray对WatchKit的最初印象。1. 不只是简单的App扩展总的来说,WatchKit提供的功能比我所预想的最初版本要好很多。我原以为我们现在能从WatchKit中获得的只是相当于是对Today的扩展,而不是为Apple Watch准备的。所以,当我发现能够自定义创建Apple Watch交互式用户界面,并可以在iOS App扩展中控制它们时,是一个不小的惊喜。也就是说,这并不是一个简单的应用扩展,而是和开发人员密切相关的。这一点从新Apple Watch特有的控件,比如Glance、可操作的通知、使用Handoff的深链接、图像缓存等可以看出。对于开发者而言,这绝对是件很值得兴奋的事情。2. Watch负责视图,iPhone运行控制器和模型WatchKit最令我惊喜的一方面就是它的总体结构。它的工作方式就是你的应用程序是分成两个部分:Apple Watch包含的是用户界面资源(Storyboard和静态图像)和处理用户输入,但并不实际运行你的代码。换句话说,Apple Watch包含的是“视图”。iPhone包含的代码是用来响应事件的,比如应用启动、触动按钮和开关值的变化。也就是说,iPhone中包含的是控制器和模型。不过最酷的是,在屏幕之后,Apple Watch和iPhone之间的通讯工作都是自动的。你所用的是自己习惯的工作方式(连接视图到outlets),而WatchKit SDK处理蓝牙通信。就你的代码而言,所有的outlets都是使用的本地连接,即使它们是在一个完全独立的设备上。3. 新的layout方式还有另一个惊喜是Apple Watch上的布局方式,被称为groups的新系统。基本上,你添加界面元素比如按钮和标签到groups里,它会处理这些项目内部的布局。你可以将groups进行互相嵌套来获得更加复杂的布局,并应用一些少量的式样,像背景颜色、边际、拐角半径等。4. 强大的预览和通知像Watch一样酷的,我认为是预览(Glances)和通知(Notifications)。个人认为关于Apple Watch应用中最有用的事情之一就是可以很方便的获取有趣事情的通知。比如有人在Twitter提到你或是其他重要的消息。Glances像你提供的是应用中内容的快速浏览,这一点像是Today的扩展。Notifications让你能在手表上获取通知,分为两个层次。第一个层次(“short look”)只显示你应用的图标和一些简单的文本。如果用户继续举着手腕(或轻敲屏幕),它会切换到第二个层次(“long look”),这样就会展示更多的细节,甚至还有操作按钮。无论是Glances还是Notifications的方式,用户都可以点击进入应用,使用Handoff,你甚至可以给用户发送应用内部特定的视图控制器。5. 不支持动画Apple Watch最奇怪的地方就是并不真正支持动画。为了显示动画,你需要提前生成大量的图片,然后通过类似flip-book进行循环,可以说动画GIF时代又回来了。举个例子,看看Apple的Lister例子。在Watch应用的Glance中,你将会看到有360张图片代表一个循环动画!我想这是一个稍微令人沮丧的开发过程,不过倒是为那些能够简单生成这些动画图片的开发工具打开了大门。不过,要知道,Watch上的空间毕竟是有限的,创建小而高效的动画是很重要的。6. 设计资源如果你是一名设计师(或偏向设计的),推荐一些值得阅读/下载的资源给你。首先,放下你现在做的一切,阅读新的专为Apple Watch准备的Human Interface Guidelines (HIG) 。它有一些很不错的设计指南。其次,最值得下载的Apple Watch Design Resources。它基本上是一个庞大的用于设计Apple Watch应用的PSDs集合,比如UI控件模型、颜色和间距指引和描边宽度的指导等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值