第1章 来自苹果的编程语言——初识Swift
本章教学录像:16分钟
Swift(雨燕)作为苹果开发的编程语言,一经推出就大受欢迎,成为当下热门的程序开发语言。Swift集各种语言的优点于一身,不仅功能强大,而且表现力强,直观易用,为新一代的iOS APP开发带来了惊喜和挑战。本章将带领读者初步认识iOS、Mac OS和Swift,了解Swift iOS开发要学习哪些内容及如何学习Swift。
本章要点(已掌握的在方框中打勾)
□ 认识Mac OS和iOS
□ 认识Swift
□ Swift iOS开发要学习什么
□ 如何学习Swift
1.1 认识Mac OS和iOS
本节视频教学录像:14分钟
要学习Swift编程开发,首先要认识iOS和Mac两个操作系统。它们是苹果公司开发的操作系统, iOS是用于苹果移动设备的操作系统,Mac OS是用于苹果电脑的桌面操作系统。本节主要介绍iOS和Mac OS操作系统。
1.1.1 苹果电脑的灵魂——Mac OS
1984年,苹果公司发布了System 1操作系统,它是世界第一款成功具备图形图像用户界面的操作系统。在随后的十几年中,苹果操作系统经历了从System 1到7.5.3的巨大变化,从最终的黑白界面变成8色、16色、真彩色,其系统稳定性、应用程序数量、界面效果等都得到了巨大提升。1997年,苹果操作系统更名为Mac OS,此后也经历了Mac OS 8、Mac OS 9、Mac OS 9.2.2等版本的更新换代。
2001年,苹果发布了Mac OS X,“X”是一个罗马数字且正式的发音为“十”(ten),延续了先前的麦金塔操作系统(比如Mac OS 8和Mac OS 9)的编号。Mac OS X包含两个主要的部分:Darwin,是以BSD源代码和Mach微核心为基础,类似UNIX的开放源代码环境,由苹果电脑采用并做进一步的开发;Aqua,一个由苹果公司开发的有版权的GUI。2014年秋季苹果公司发布了新的操作系统OS X 10.10 Yosemite(优胜美地),其采用了与iOS 7一致的界面风格,扁平化的设计图标,新字体,而且添加了大量的新功能,给用户带来了更直观、更完善的使用体验。
Mac OS操作系统经历了30年的更新换代,可以说每一代都是一种进化,它是程序员比较喜欢的操作系统。系统提供了各种编程语言和相关工具,如系统脚本类语言Shell、Applescript,动态开发语言Perl、Python、Ruby,专业编程语言C、C++,Mac程序开发语言Cocoa、Objective-C,Web开发语言PHP、Java等,它们给程序员带来了无限可能,也促进了计算机的快速发展。如今Swift编程语言的诞生,使得Mac OS和iOS开发更加便捷。
另外Mac OS X吸收了BSD和Linux操作系统中的软件管理系统,有MacPorts和Fink两个包提供其他UNIX脚本语言,延展了系统的开发能力。而OSA脚本架构与Scripting Bridge技术提供了用脚本控制和创建图形界面的功能。对于一个程序员来说,Mac OS X与Windows和Linux相比,在脚本语言上充分发挥了图形界面和开发框架的优势。
1.1.2 移动操作系统——iOS
iOS移动操作系统是基于Mac OS X核心演变而来的,应用于iPhone、iPad、iPod touch、Apple TV等苹果设备。苹果公司于2007年发布了第一版iOS操作系统。截至目前,iOS已发展到iOS 8版本,功能也愈加完善,成为移动领域中具有广泛影响力的操作系统。iOS定义了“智能手机”与“平板电脑”的概念,使其成为了强大而智能的终端。
苹果公司开创了移动设备内容服务的一种新的模式——App Store(程序商店),它极大地降低了移动设备应用程序开发的成本,即使拥有一台电脑、一个手机的普通人也能进入这个市场。
最新的iOS 8已经融合iCloud、Siri、Touch ID功能,内含4000多项全新的API(应用程序编程接口)和服务,可实现全新类别的App和功能,为用户和开发者带来更多特性和功能,而且在多设备之间维持了完整性。iOS 8在交互界面上仅做了细节上的优化,而功能上的改进则成为了重头戏,史无前例的开放性——从底层(Core OS层)开放,例如支持照片编辑、第三方输入法、开放HomeKit和HealthKit接口等,使得效果和体验大幅提升。
1.1.3 了解开发环境
要开发iOS和Mac OS的应用程序,首先需要一台安装有Xcode工具的Mac OS X电脑。Xcode是苹果公司向开发人员提供的集成开发环境,是为Mac、iPhone、iPad、iPod touch开发软件的必备工具,运行于苹果公司的Mac操作系统下,为编程人员编写程序提供环境支持。
Xcode是一款强大的专业开发工具,通过它可以编译C、C++、Objective-C和Swift语言源代码,而且提供项目管理、代码编辑、创建执行程序、代码调试、代码库管理和性能调节等功能。
相对于创建单一类型的应用程序所需要的能力而言,Xcode要强大得多,它的设计目的是使开发者可以创建任何想象得到的软件产品类型,从Cocoa及Carbon应用程序,到内核扩展及Spotlight导入器等各种开发任务,Xcode都能完成。Xcode独具特色的用户界面可以帮助开发者以各种不同的方式来漫游工具中的代码,并且使开发者可以访问工具箱下面的大量功能,包括GCC、javac、jikes和GDB,这些功能都是制作软件产品需要的。它是一个由专业人员设计的,又由专业人员使用的工具。
Xcode 6是目前最新的版本,为开发者引入了一种全新的设计和开发应用的方式,深度支持Swift编程,开发者不仅能完全使用Swift代码来创建一款崭新的应用,还可以向已存在的应用添加Swift代码或框架,并在Swift或Objective-C中查看文档。另外,它支持实时渲染,不用执行程序,自定义的界面对象在设计阶段就可以看到。当然,其新特性还有很多,总的来说,给开发者带来了更好的开发体验。
1.1.4 Mac OS系统的使用
由于Windows和Mac OS两个系统有着很大的不同,对于习惯了Windows窗口操作的用户而言,很难一下适应Mac OS系统,而Mac OS是唯一支持Swfit的系统平台,熟悉Mac OS可以提高Swift的开发效率。在这里介绍Mac OS系统的使用方法。
1.鼠标的使用
Magic Mouse是一款蓝牙多点触控的鼠标,通过点、单指扫、双指扫来进行操作,下面介绍鼠标的功能及用法。
(1)点击。轻点鼠标左侧,或轻点鼠标右侧。
(2) 滚动。手指在鼠标表面沿着任何方向,可以进行360°全方位移动。
(3) 放大。按住【Control】键的同时,使用手指在鼠标表面上下滑动可以放大屏幕上的图像。
(4) 缩放。两指在鼠标表面向两端做张开手势。
(5) 前进和后退。两指在鼠标表面向左或向右滑动。
(6) 拖动。按住鼠标一点,可以随意拖动图片。
(7) 双指点击。在“系统偏好设置”中选择启用“辅助点按”功能时,Magic Mouse 具有双键鼠标的功能。习惯用左手的用户也可重新分配左右键。
2.鼠标指针的变化
在使用鼠标操作电脑的时候,鼠标指针的形状会随着用户操作的不同或是系统工作的不同,呈现出不同的状态。因此,了解鼠标指针的不同形状,可以帮助用户方便快捷地操作电脑。
3.快捷键的使用
在使用软件时会发现,快捷键由各种符号组成,但未在键盘中显示对应的按键,下面分别列出这些符号所对应的按键。
提示
在有的笔记本电脑中,【Command】键可能是带有标志的按键。
下面列举一些常用的快捷键。
4.打开安装的程序
在Mac OS系统中,如果要访问常用的应用程序和最小化的窗口,可单击桌面底部的Dock,然后单击项目的图标即可。Dock类似于Windows系统中的【开始】程序,可以将常用的应用程序、文件和文件夹添加到Dock中。
如果要打开的程序在Dock中没有,可单击Dock中的【Launchpad】图标或按【F4】键。Launchpad存放了所有的应用程序,在该页面中,可以拖曳图标进行排序,也可以将一个应用程序拖曳到另一个程序中创建分组。如果要删除某个应用程序,直接将其拖曳到废纸篓中即可。
5.资源管理器——Finder
Finder类似于Windows的资源管理器,从中可以查看Mac上的应用程序、硬盘、文件、文件夹、DVD和U盘等。单击Dock中的【Finder】图标,即可打开Finder窗口。窗口左侧包括“个人收藏”、“设备”、“共享的”、“标记”及“所有标记”等分类。
1.1.5 购买一台Mac
如果决定要学习Swift开发编程,且有计划购置一台Mac,那么就可以通过本节了解Mac,并进行对比与选择。
Mac主要分为台式机和笔记本,台式机主要包含iMac、Mac mini和Mac Pro,而笔记本主要分为MacBook Air和MacBook Pro两款机型。
除了上面罗列的,还有一款Mac Pro台式机,其属于专业级配置,性能卓越,但由于价格太高,对于普通用户来说性价比不高,因此建议从上表中的几款机型做购买选择。此外,价格及购买渠道也是用户较为关心的话题,对于大学生来讲,苹果公司的教育优惠折扣及分期付款也是不错的选择,下面罗列几款机型供读者作为参考。
上表中的价格仅作为参考,实际价格以苹果官网为准。苹果教育优惠仅适用于在校大学生、被大学录取的学生、为大学生购买的家长、教师和各级别教职员工,可到苹果教育商店(http://store.apple. com/cn-k12)购买。
如果拥有工商银行或招商银行的信用卡,也可以使用分期付款的形式,以减少自己的购买压力。为了确保购买后的维修服务,建议通过正规渠道购买,苹果官方销售渠道主要是苹果官网和苹果零售店,另外也可以在有正品保证的电商网站购买,如京东、亚马逊、1号店等。
1.2 认识Swift
本节视频教学录像:2分钟
2014年6月4日,苹果公司在WWDC开发大会上推出了新的编程语言——Swift,它将取代Objective-C成为苹果公司官方的编程语言,用于编写iOS和OS X应用程序。
1.2.1 Swift是什么
Swift,中文名为雨燕,它是由苹果公司独立开发供iOS和OS X平台使用的一种新的程序设计语言。
Swift吸取了C和Objective-C的优点,且没有C的一些兼容约束,采用了安全的编程模式和添加现代的功能来让编程更简单、灵活、有趣、高效和安全,不会有太复杂的符号和表达式,又具备很多动态语言的语法特性和脚本语言的交互性,而且与Objective-C相兼容,可以使用现有的Cocoa和Cocoa Touch框架。使用Swift程序员可以快捷有效地编译出高质量的应用程序。
Swift以其强大的模式匹配特性,可以写出更简单、更直观的代码。它使用类型推断机制,限制对象指针使用、自动管理内存使得程序更安全,而且开发者可以使用Swift编译器的高级代码分析功能调试代码,使工作更为高效。Swift的兼容性很强,处理完全与Objective-C的相兼容,使传统的苹果开发人员可以轻松地从Objective-C过渡到Swift上,也兼容现有的C语言,确保了开发者可以快速转型。
另外,Swift的最大特色就是Xcode Playgrounds功能,可以实现代码效果的实时预览。开发者可以在屏幕左侧输入代码时,在右侧屏幕实时看到代码的执行效果,是一次编程语言的革新。
总的来说,Swift正如2014年WWDC开发大会的口号一样,“Write the code,change the world”(写代码,改变世界),相信开发人员可以通过Swift编译出更出色的应用程序。
1.2.2 Swift的前景
对于苹果开发者来说,使用Swift编程语言是一种机会也是一种挑战,它将超越目前苹果主流的编程语言Objective-C,成为新科状元。
苹果公司宣称Swift在各个方面优于常用的Objective-C语言,作为一项苹果独立发布的支持型开发语言,Swift结合了编译语言的效能与脚本语言的简单直觉,且可以与Objective-C共存,混合了Objective-C、JS、Python,语法简单、使用方便、易学,大大降低了开发者入门的门槛。同时Swift语言可以与Objective-C混合使用,对于用惯了高难度Objective-C的程序员来说,学会这个,更不在话下。
Swift允许开发者通过更简洁的代码来实现更多的内容。简单好用又安全的编程语言将吸引更多的开发者加入,让苹果软件生态圈更加繁荣,果粉也可以在app store和mac store中下载更多核心合意的应用了。从某种意义上讲,可以将Swift语言看作是苹果的一项新的商业战略。有业界人士认为,由于苹果的大力倡导,Swift可能会很快取代Objective-C,成为业界开发iOS App的标准语言。
1.3 习题
一、选择
1.下列选项中,不能使用Xcode来编译的语言是( )。
A.C
B.C++
C.C#
D.Swift
2.下列选项中,符号和按键不匹配的选项是( )。
A.Command
B.Tab
C.Shift
D.Option
3.下列选项中,哪一个选项相当于Mac OS系统的资源管理器( )。
A.Finder
B.Dock
C.Safari
D.Launchpad
二、填空
1.Xcode工具支持开发基于______平台和______平台的应用程序。
2.目前唯一的一个支持Swift语言的计算机系统是______。
3.Mac OS系统中已经安装的应用程序可以在______中找到。
4.Swift语言可以和______语言很好地兼容。