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

简介:

本节书摘来自华章计算机《Swift iOS应用开发实战》一书中的第2章,第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的需要,在适当的情况下调出虚拟键盘,并且会根据设定显示全键盘、数字键盘或中文的九宫格键盘等。
image

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

image

表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设备的不可用性:移动设备在特殊情况下需要关机(飞机起飞时),也有可能会丢失,当电池电量不足的时候也会自动关机。所以我们的应用程序必须考虑到这些情况。

相关文章
|
11月前
|
iOS开发 开发者
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
638 67
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
|
10月前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
398 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
|
12月前
|
iOS开发 开发者 MacOS
深入探索iOS开发中的SwiftUI框架
【10月更文挑战第21天】 本文将带领读者深入了解Apple最新推出的SwiftUI框架,这一革命性的用户界面构建工具为iOS开发者提供了一种声明式、高效且直观的方式来创建复杂的用户界面。通过分析SwiftUI的核心概念、主要特性以及在实际项目中的应用示例,我们将展示如何利用SwiftUI简化UI代码,提高开发效率,并保持应用程序的高性能和响应性。无论你是iOS开发的新手还是有经验的开发者,本文都将为你提供宝贵的见解和实用的指导。
330 66
|
9月前
|
iOS开发 开发者 Windows
uniapp云打包ios应用证书的获取方法,生成指南
打包用到的一共两个文件,一个是p12格式的私钥证书,一个是证书profile文件。其中生成p12证书的时候,按照官网的教程,是需要MAC电脑来协助做的,主要是生成一些csr文件和导出p12证书等。其实这些步骤也可以借助一些其他的工具来实现,不一定使用mac电脑,用windows电脑也可以创建。
1136 0
|
10月前
|
人工智能 程序员 API
iOS|记一名 iOS 开发新手的前两次 App 审核经历
啥,这玩意也有新手保护期?
273 0
|
12月前
|
存储 监控 API
app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
1129 11
|
12月前
|
开发框架 Android开发 iOS开发
安卓与iOS开发中的跨平台策略:一次编码,多平台部署
在移动应用开发的广阔天地中,安卓和iOS两大阵营各占一方。随着技术的发展,跨平台开发框架应运而生,它们承诺着“一次编码,到处运行”的便捷。本文将深入探讨跨平台开发的现状、挑战以及未来趋势,同时通过代码示例揭示跨平台工具的实际运用。
352 3
|
12月前
|
Java 调度 Android开发
安卓与iOS开发中的线程管理差异解析
在移动应用开发的广阔天地中,安卓和iOS两大平台各自拥有独特的魅力。如同东西方文化的差异,它们在处理多线程任务时也展现出不同的哲学。本文将带你穿梭于这两个平台之间,比较它们在线程管理上的核心理念、实现方式及性能考量,助你成为跨平台的编程高手。
|
存储 前端开发 Swift
探索iOS开发:从新手到专家的旅程
本文将带您领略iOS开发的奇妙之旅,从基础概念的理解到高级技巧的掌握,逐步深入iOS的世界。文章不仅分享技术知识,还鼓励读者在编程之路上保持好奇心和创新精神,实现个人成长与技术突破。
|
安全 IDE Swift
探索iOS开发之旅:从初学者到专家
在这篇文章中,我们将一起踏上iOS开发的旅程,从基础概念的理解到深入掌握核心技术。无论你是编程新手还是希望提升技能的开发者,这里都有你需要的指南和启示。我们将通过实际案例和代码示例,展示如何构建一个功能齐全的iOS应用。准备好了吗?让我们一起开始吧!

热门文章

最新文章

相关课程

更多