《Swift iOS应用开发实战》——2.1为移动平台开发应用

2.1为移动平台开发应用

如果之前根本没有为Cocoa或它的前身NeXTSTEP开发过应用程序,你可能会感觉到在最初使用Cocoa Touch(iOS的应用程序框架)开发iOS应用程序时,之前所学的所有程序语言(比如Java、.NET)在这里都派不上用场,时常处于一头雾水的混沌状态。这是初学者在学习时的正常状态,你根本不用害怕这种状态,只要坚持下去就会慢慢适应。本书假定你已经具有面向对象的开发经验,以及初步掌握了Swift语言的相关知识,这些经验和知识对于编写iOS应用程序是非常重要的。在为移动设备编写应用程序的时候,还需要考虑下面几个问题:
在iOS中,任何时候都只能有一个应用程序被激活并显示在屏幕上面。从iOS 4开始,当用户按下Home键以后,应用程序可以在系统的后台继续运行,即使是后台运行,它也会受到很多的限制。
与传统的PC应用程序不同,我们在iOS中只能运行一个窗口应用程序。除非你开发的iOS应用程序附带一个扩展屏幕,通过AirPlay和AppleTV设备投放到电视上。但是,这需要我们编写更多的程序代码。用户与应用程序之间的交互都局限在这个窗口之中,且该窗口的大小固定为整个屏幕。
虚拟键盘代替实体键盘。2007年乔布斯在iPhone发布会上向大家展示了多部当时市面上流行的“智能”手机,并毫不留情地指出了它们共同的缺点:在屏幕的下方有很大一部分空间被实体键盘所占据,如图2-1所示。不知大家是否想到过,实体键盘最致命的缺点就是按键功能被固定死了,不管你是否需要,它都会存在于屏幕下方—伴随手机的一生。iPhone就不一样了,因为有了虚拟键盘,系统可以根据App的需要,在适当的情况下调出虚拟键盘,并且会根据设定显示全键盘、数字键盘或中文的九宫格键盘等。

iPhone的屏幕在当今的世界中可以算是佼佼者(三星有后来居上的趋势),自从苹果推出了Retina屏的iPhone以后,一直是手持设备中分辨率最高的。这导致了原来很多必须在PC上完成的任务,现在可以在iPhone上面完成了。第一代iPhone手机的分辨率只有320×480像素,之后的iPhone 4采用了640×960像素的分辨率。如今,最新的iPhone 6 Plus屏幕达到了1080×1920像素。表2-1列出了所有设备屏幕的大小。

表2-1中所提到的屏幕硬件大小指的就是iOS设备实际的物理屏幕像素值。然而,在程序员开发应用程序的时候,更多的是与软件屏幕大小打交道。正如大家在表2-1中看到的,在大部分的情况下,软件屏幕大小与硬件屏幕大小是2倍的关系。之所以有两种屏幕大小,完全是因为苹果引入了Retina技术。如果苹果不做这样的区分,所有的应用程序都按设备的硬件屏幕分辨率绘制,软件在Retina设备的屏幕上面只会显示四分之一的大小,用户使用起来非常费劲。所以,苹果使用了比例因子的概念,我们开发的应用程序可以在所有的iOS设备上面都完美地全屏显示,而程序员不用编写任何的代码。针对于iPhone设备,从iPhone 4s开始都是2倍的比例因子,而iPhone 6 Plus则拥有更高的分辨率,所以是3倍的比例因子。
另外,与笔记本的14或15英寸屏幕相比,移动设备的屏幕确实要小很多,所以在设计应用程序的时候,我们要充分利用好这宝贵的屏幕空间,用更加直观的方式为用户呈现关键的信息,还要合理摆放系统所提供的各种控件,例如按钮、滑块、开关等,让用户方便、准确、快捷地进行各种操作。
考虑开发通用应用程序:为了能够让你的应用吸引更多的眼球,让它完美运行在多种不同的iOS设备上成为一种趋势。如让你的应用可以同时运行在iPhone、7.9英寸的iPad mini和9.7英寸的iPad上。
有限的存储空间:iOS设备的存储空间不大(16G~128G),因此不能存储太多的图片、音乐或视频。
不可靠的网络连接:因为是移动设备,所以注定其不会有长时间的持续可靠连接。即便有可靠的连接,发送和接收数据的速度也与无线网络信号的强弱有关。因此,在有网络连接(WiFi网络,非手机的数据流量)的情况下,你的应用程序应尽量缓存相关数据到设备上。为了保证用户使用的流畅度,在下载数据的时候必须使用多线程技术。
iOS设备的不可用性:移动设备在特殊情况下需要关机(飞机起飞时),也有可能会丢失,当电池电量不足的时候也会自动关机。所以我们的应用程序必须考虑到这些情况。

时间: 2024-10-14 20:14:22

《Swift iOS应用开发实战》——2.1为移动平台开发应用的相关文章

《Swift iOS应用开发实战》——导读

前言 苹果公司在2014年6月的WWDC(Worldwide Developers Conference,苹果全球开发者大会)上向公众展现了全新的iOS 8移动操作系统和Yosemite桌面操作系统.作为开发者,大会开幕之前的任何爆料,我都是不会错过的.在大会开幕的前一天,我得知本届大会的宣传标语为:编写代码改变世界(Write the Code. Change the World).历届WWDC的宣传标语都是以全新.卓越.领先.创新.引领等作为关键词,而这次却使用了非常接地气的"编写代码&qu

《Swift iOS应用开发实战》——3.1MVC设计模式简介

3.1MVC设计模式简介 要想成为一名优秀的iOS程序开发人员,至少要具备一种面向对象程序设计语言的开发经验,比如Java.C++或C#,并且C语言也是我们必须熟练掌握的,在此基础上学习Swift语言就会游刃有余.除此以外,我们还要对设计模式有一定的了解.在iOS中最重要的,也是使用最多的一种设计模式就是:模型-视图-控制器(Model-View-Controller,MVC)设计模式. 在开发面向对象应用程序之前(甚至是面向对象程序开发成为主流后的一段时间),程序员们在编写程序代码时还总是愿意

《Swift iOS应用开发实战》——2.4 理解iOS 8的视图和窗口

2.4 理解iOS 8的视图和窗口 在前面几节的学习中我们已经为Calculator项目创建了用户界面,其中使用了视图.Label和Button控件,接下来我们将详细了解有关视图和窗口的概念.2.4.1 视图概述视图属于可视化对象,多个视图组合起来就组成了iOS应用程序的用户界面.视图本质上反映的是屏幕上的一块特定的矩形区域内所发生的事情,例如,根据用户的交互进行可视化方面的更新.所有视图都是UIKit框架中的UIView类的子类,例如UILabel.UIImageView.UIButton和U

《Swift iOS应用开发实战》——第1章 Swift简介

第1章 Swift简介 北京时间2014年6月3日凌晨1点,苹果公司(以下简称苹果)在美国旧金山Moscone中心举行了WWDC开发者大会开幕式,会上正式发布了iOS 8移动操作系统以及OS X Yosemite桌面操作系统.抛开Yosemite不谈,苹果在iOS 8中更新了很多内容,其中包括: 锁屏状态下直接快速删除通知. 支持发送语音信息. 输入法支持预判联想功能. 新增Healthkit健康应用. Siri支持流媒体识别,可以直接通过它购买音乐. 自带相册集成更强大的图片处理软件. 大幅改

《Swift iOS应用开发实战》——1.3 了解Xcode

1.3 了解Xcode 作为一名开发者,不管在什么平台上进行开发,总需要一大堆的软件支持,才能将自己的想法变成可以让成千上万人受益的应用程序.苹果不希望这样,它为开发者提供了一个优雅的.功能强大的.光鲜亮丽的开发工具包,这个包就叫做Xcode.通过Xcode,我们可以创建.测试.部署和发布iOS或OS X应用程序.在2014年6月,苹果发布了iOS 8和Xcode 6的beta版本,在使用的过程中笔者能够感受到苹果力求让开发工具无比简单.实用.通过其强大的功能和全新技术,帮助开发者在创建应用程序

《Swift iOS应用开发实战》——1.1初识Swift

1.1初识Swift Swift是苹果在WWDC 2014所发布的一门编程语言,用于开发iOS和OS X应用程序. 2010年7月LLVM编译器的原作者暨苹果开发工具部门总监克里斯·拉特纳(Chris Lattner,就是在WWDC 2014大会上亲自演示Swift代码的那位仁兄)开始着手开发Swift语言,一直到2014年6月发布,Swift大约经历了4年的开发期.在WWDC 2014大会中,苹果宣称Swift的特点是:快速.现代.安全和具有交互性. Swift的处理速度非常快.在WWDC上,

《Swift iOS应用开发实战》——1.4  使用代码编辑器

1.4 使用代码编辑器 回到刚刚创建的HelloWorld项目,此时在项目导航中可以看到以下3个文件:AppDelegate.swift.ViewController.swift.Main.storyboard故事板文件.当然还有一些其他文件存在于项目之中(比如Images.xcassets文件夹),我们暂时先不去管它们. 步骤1 在项目导航中选择顶部的HelloWorld条目(蓝色图标的),在编辑区中选择"General"标签,然后在下面的Deployment Info部分的&quo

《Swift iOS应用开发实战》——1.2 了解Playground

1.2 了解Playground 本书使用Xcode 6 beta 4作为开发工具,与之前发布的beta 1版本相比,beta 4对Swift语言做了大幅度改进.开发者可以使用Swift来编写更好.更安全的应用程序,而且新版本的Swift也修正了许多开发者提出的请求,尤其是对数组进行了重新设计.但是,beta版本毕竟不同于正式版,依然存在着许多Bug,只不过对Swift初学者来说影响不大.启动Xcode 6,就会看到一个欢迎界面,如图1-3所示.欢迎界面分为左右两部分,左侧有三个选项,分别是直接

《Swift iOS应用开发实战》——2.5与代码进行关联

2.5与代码进行关联 通过前面的学习,我们已经知道如何在故事板中创建用户界面,但在搭建好用户界面以后又要做什么呢?接下来就需要将控件对象和程序代码关联起来.我们在创建Calculator项目的时候使用了默认的Single View Controller模板,该模板关联了故事板中的View Controller场景和ViewController.swift文件中的ViewController类.现在我们在故事板中查验一下.在故事板中选中View Controller场景,使用Command+Opt