Swift简介

Swift 是一种新的编程语言,用于编写 iOS,macOS 和 watchOS应用程序。Swift 结合了 C 和 Objective-C 的优点并且不受 C 兼容性的限制。Swift 采用安全的编程模式并添加了很多新特性,这将使编程更简单,更灵活,也更有趣。Swift 是基于成熟而且倍受喜爱的 Cocoa 和 Cocoa Touch 框架,它的降临将重新定义软件开发。
Swift 的开发从很久之前就开始了。为了给 Swift 打好基础,苹果公司改进了编译器,调试器和框架结构。我们使用自动引用计数(Automatic Reference Counting, ARC)来简化内存管理。我们在 Foundation 和 Cocoa 的基础上构建框架栈使其完全现代化和标准化。 Objective-C 本身支持块、集合语法和模块,所以框架可以轻松支持现代编程语言技术。正是得益于这些基础工作,我们现在才能发布这样一个用于未来苹果软件开发的新语言。
Objective-C 开发者对 Swift 并不会感到陌生。它采用了 Objective-C 的命名参数以及动态对象模型,可以无缝对接到现有的 Cocoa 框架,并且可以兼容 Objective-C 代码。在此基础之上,Swift 还有许多新特性并且支持过程式编程和面向对象编程。
Swift 对于初学者来说也很友好。它是第一个既满足工业标准又像脚本语言一样充满表现力和趣味的脚本语言。它支持代码预览,这个革命性的特性可以允许程序员在不编译和运行应用程序的前提下运行 Swift 代码并实时查看结果。
Swift 将现代编程语言的精华和苹果工程师文化的智慧结合了起来。编译器对性能进行了优化,编程语言对开发进行了优化,两者互不干扰,鱼与熊掌兼得。Swift 既可以用于开发 “hello, world” 这样的小程序,也可以用于开发一套完整的操作系统。所有的这些特性让 Swift 对于开发者和苹果来说都是一项值得的投资。

Swift发展

2014-6-3 Swift于WWDC苹果开发者大会发布。
2014-6-4 《Swift中文版》翻译组在github上进行协同翻译 。此项目开始不到一周就获得了1067个star。该项目的发起人是北航的大三学生  。
2014-6-12《Swift中文版》第一版发布  。
2015年12月4日,苹果公司宣布其Swift编程语言开放源代码 。长600多页的The Swift Programming Language可以在线免费下载。同时可以在苹果官方Github下载 [3]  。
2020年1月的TIOBE编程语言排行榜显示,Swift从第15名上升至第9名。

应用范围

Swift是一种新的编程语言,用于编写iOS和macOS应用。Swift结合了C和Objective-C的优点并且不受C兼容性的限制。Swift采用安全的编程模式并添加了很多新特性,这将使编程更简单,更灵活,也更有趣。Swift是基于成熟而且倍受喜爱的Cocoa和Cocoa Touch框架,他的降临将重新定义软件开发。
Swift的开发从很久之前就开始了。为了给Swift打好基础,苹果公司改进了编译器,调试器和框架结构。我们使用自动引用计数(Automatic Reference Counting, ARC)来简化内存管理。我们在Foundation和Cocoa的基础上构建框架栈并将其标准化。Objective-C本身支持块、集合语法和模块,所以框架可以轻松支持现代编程语言技术。正是得益于这些基础工作,我们才能发布这样一个用于未来苹果软件开发的新语言。
Objective-C开发者对Swift并不会感到陌生。它采用了Objective-C的命名参数以及动态对象模型,可以无缝对接到现有的Cocoa框架,并且可以兼容Objective-C代码。在此基础之上,Swift还有许多新特性并且支持过程式编程和面向对象编程。
操作优点
Swift 对于初学者来说也很友好。它是第一个既满足工业标准又像脚本语言一样充满表现力和趣味的编程语言。它支持代码预览,这个革命性的特性可以允许程序员在不编译和运行应用程序的前提下运行Swift代码并实时查看结果。
应用优势
Swift将现代编程语言的精华和苹果工程师文化的智慧结合了起来。编译器对性能进行了优化,编程语言对开发进行了优化,两者互不干扰,鱼与熊掌兼得。Swift 既可以用于开发“hello, world”这样的小程序,也可以用于开发一套完整的操作系统。所有的这些特性让 Swift对于开发者和苹果来说都是一项值得的投资。

主要功能

语法简便
Swift是编程语言的最新研究成果,并结合数十年的经验建设苹果平台的结果。结转自Objective-C的命名参数表示在一个干净的语法,使得Swift的API更容易阅读和维护。
推断类型使代码更干净,不易犯错误,而模块消除了头,并提供命名空间。内存自动管理,而你甚至都不需要输入分号。
其他功能
Swift特有许多其他的功能,使你的代码更传神:
  • 闭包的统一与函数指针
  • 元组和多个返回值
  • 泛型
  • 快速而简洁的迭代范围或集合
  • 支持的方法,扩展的协议结构。
  • 函数式编程模式,例如:映射(map)和过滤器(filter)
互动游乐
Swift Playgrounds使编写语言代码难以置信的简单和有趣。输入一行代码,结果立即出现。如果您的代码通过一个循环运行一段时间你可以看它在时间轴助理进展。在时间线中的图表显示变量,组成一个视图时绘制每一步,并能起到一个动画SpriteKit现场。当你在Playgrounds上完善你的代码,只需将代码到您的项目。有了Playgrounds,您可以:
  • 设计一种新的算法,看其工作的每一步
  • 创建新的测试,验证他们推动到您的测试套件前工作
  • 尝试新的API来磨练你的Swift的编码技巧
REPL
阅读-分析-打印环路(REPL):在Xcode调试控制台包括内建Swift使用语法来评估,并与正在运行的应用程序进行交互,或者编写新的代码,看看它是如何工作的一个类似脚本的环境Swift语言的交互式版本。可以从Xcode的控制台内,或在终端。
专为安全
Swift消除了不安全的代码。变量总是初始化之前使用,数组和整数检查溢出,内存自动管理。语法被调整到可以很容易地定义你的意图 - 例如,简单的三个字符的关键字定义一个变量(var)或常量(let)。
在Swift的安全模式被调整为强大的Cocoa和Cocoa Touch的API。认识和妥善处理其中的对象是零案件是基本的框架和Swift的代码使这个非常容易。添加一个字符可以代替曾经Objective-C中整行的代码。这一相互配合,使构建iOS和Mac应用程序比以前更加容易和安全。
高效强大
Swift是为高效而强大的编程而创建的语言。Swift采用了高性能的Apple LLVM编译器,Swift代码转化为优化过的本地代码,充分利用现代化的Mac,iPhone和iPad的硬件。语法和标准库也非常简洁,让编程的流程大大缩短、简化
Swift采用了C和Objective-C语言中的优秀成分。Swift也包括了很多其他语言的特征,如类型,流程控制和运算符。Swift还提供了面向对象的特性,如类与协议。