文档章节

AppleWatch开发入门一——Watch的开发思路与应用框架

珲少
 珲少
发布于 2015/10/13 19:01
字数 1189
阅读 1207
收藏 11

AppleWatch开发入门一——Watch的开发思路与应用框架

一、引言

        Apple Watch无疑是apple在智能手表领域的一次革命,如何在Watch上开发出实用且具有美感的应用,是iOS开发者们开始思考的一个问题,由于watch的随身性和快捷性,在某些方面,它有比iphone更加大的优势,要抓住watch的这些特点,开发出淋漓尽致的应用,就需要改变一些在iphone开发的思路,正如一句话:只有忘掉经验,才会有意想不到的突破。

        这一系列博客,首先是总结我在公司watch项目开发中的一些经验,其次,还会加入一些我的理解和想法,如有错误,欢迎指正,如果对你有帮助,也欢迎撒花,😄。

二、开发前我们需要准备什么

        如果你没有开发过iphone,直接来做watch,我建议你不要这么做,不是不可以,而是目前所有的第三方应用都必须基于iphone的扩展,原生的watch应用,苹果目前还没有开放给开发者,因此实际上,我们在watch上可以做的事情十分有限,或许后续apple会开放更多接口,但是目前,我们必须放弃iphone开发的思路,从新开始。

1、watch应用的架构

        如上所说,完全脱离iphone的原生watch应用,我们目前还不能开发,所有第三方的watch应用必须基于一个iphone的host app。我们可以通过创建一个watch应用来观察一下,首先,在Xcode6.3后虽然支持watch的开发,但watch模拟器并不十分好用,Xcode7进行了优化,通过模拟器,基本可以完成我们的开发。用Xcode新建一个项目,之后我们在Xcode菜单中创建一个target:

选择apple Watch中的项目:

在如下的设置中,我们先将include Notification和Include Glance都勾选上,他们也是watch应用的一种表现方式,后面我们再说:

之后可以看到,我们的项目中会多了这样的几个文件夹:

我们只需要关注下结尾为Extension和App的这两个,从目录结构我们也可以看到,App文件夹中有Storyboard这个文件,Extension文件夹中主要是一些代码文件,这也正是我们需要了解的watch app的机制,实际运行与我们手表上的是App文件夹中的界面,而逻辑的代码实际上是运行在我们的手机中的,作为iphone App的扩展而存在,通过手机与手表的交互,来达到watch上的一些操作。

        由此,我们可以理解,目前的第三方watch应用,watch类似于一个UI容器,通过与iphone的交互来达到一些逻辑和效果。

2、三种watch应用方式的用途

        在我们创建watch的扩展时,我们勾选了两个Scene,从字面我们也可以理解的差不多,这里加上我的理解,不是官方的解释:

watch app:watch应用的主体,可以通过watch上的图标进入,可以与iphone进行交互与数据共享。

Notification:watch通知,会和iphone通知同步,包括本地的和远程的,这里和iphone不同在于有长通知和短通知的分别,在实际开发中,我们可以通过在后台添加参数来区分。在storyboard中的界面如下:

           

Glance:预览界面,没有复杂的交互能力,也不能滑动,只能在单屏展示一些数据,点击后会进入主体watchApp中:

3、在模拟器上运行一个watch app

        选中我们的watch App工程,在Xcode7中运行如下:

如果你是以前版本的Xcode,可能需要在模拟器的Hardware中将其调出。

运行后,我们可以在watch模拟器上使用command+H来回到watch的主界面。

三、几点watch app的开发思路

1、优秀的watch app无疑必须是简单,朴素,快捷而时效的。

2、watch上不能自定义手势,我们可以使用的只有滑动,点击和长按

3、必须改变iphone布局的思想,完全接受新的watch布局特点,进行创新

4、iphone的特点是界面的绚丽,watch则是简约

 

专注技术,热爱生活,交流技术,也做朋友。

——珲少 QQ群:203317592

 

 

© 著作权归作者所有

珲少

珲少

粉丝 884
博文 394
码字总数 475753
作品 0
上海
程序员
私信 提问
加载中

评论(1)

hcq0618
hcq0618
Apple Watch/Watch OS/WatchKit 智能手表开发者服务平台 http://openwatch.cn
AppleWatch开发入门八——Watch中图片缓存的处理

AppleWatch开发入门八——Watch中图片缓存的处理 由于iWatch在存储和性能上都和iPhone有着很大的差距,这就要求开发者对程序有更高的性能优化,下载与传输图像,在Watch操作中是一个非时的过...

珲少
2015/10/19
855
0
AppleWatch开发入门三——代码交互与控制器生命周期

AppleWatch开发入门三——代码交互与控制器生命周期 一、引言 在前两篇博客中,讨论了关于watch开发中框架与界面布局相关,然而主要的逻辑,终究还是要通过代码来实现的,在我们创建了项目之...

珲少
2015/10/14
823
1
AppleWatch开发入门二——界面布局

AppleWatch开发入门二——界面布局 一、简介 在iphone开发中,最基本的布局方式是通过frame,将控件的位置和大小固定在屏幕上,后来,由于手机屏幕的尺寸有了略微变化,有了autoresizing的布...

珲少
2015/10/14
1K
0
AppleWatch开发入门九——Watch帧动画的实现

AppleWatch开发入门九——Watch帧动画的实现 动画一直是iOS系统的一大亮点,CoreAnimation和粒子效果的支持,开发者可以很容易的做出效果炫酷的动画特效。在watchOS中,由于性能和屏幕尺寸的...

珲少
2015/10/19
626
0
AppleWatch开发入门四——Table视图的应用

AppleWatch开发入门四——Table视图的应用 一、Watch上的Table WatchOS中的TableView和iOS中的TableView还是有很大的区别,在开发之前,首先我们应该明白WatchOS中的Table有哪些局限性和特点...

珲少
2015/10/15
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

Nervos CKB 脚本编程简介[1]:验证模型

CKB 脚本编程简介[1]: 验证模型 本文作者:Xuejie 原文链接:Introduction to CKB Script Programming 1: Validation Model 本文译者:Jason,Orange 译文链接:https://talk.nervos.org/t/c...

NervosCommunity
28分钟前
4
0
消息中间件——RabbitMQ的高级特性

前言 前面我们介绍了RabbitMQ的安装、各大消息中间件的对比、AMQP核心概念、管控台的使用、快速入门RabbitMQ。本章将介绍RabbitMQ的高级特性。分两篇(上/下)进行介绍。 消息如何保障100%的...

Java架构师ya七
今天
9
0
如何编写高质量的 JS 函数(1) -- 敲山震虎篇

本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/7lCK9cHmunvYlbm7Xi7JxQ 作者:杨昆 一千个读者,有一千个哈姆雷特。 此系列文章将会从函数的执行机制、鲁棒性、函...

vivo互联网技术
今天
7
0
学会这5个Excel技巧,让你拒绝加班

在网上,随处都可以看到Excel技巧,估计已看腻了吧?但下面5个Excel技巧会让你相见恨晚。关键的是它们个个还很实用 图一 技巧1:快速删除边框 有时当我们处理数据需要去掉边框,按Ctrl+Shif...

干货趣分享
今天
11
0
JS基础-该如何理解原型、原型链?

JS的原型、原型链一直是比较难理解的内容,不少初学者甚至有一定经验的老鸟都不一定能完全说清楚,更多的"很可能"是一知半解,而这部分内容又是JS的核心内容,想要技术进阶的话肯定不能对这个...

OBKoro1
今天
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部