Swift 是苹果为 OS X 和 iOS 平台引入的一种新的程序设计语言,这种程序设计语言已经激发了开发者社区的大量关注。仅仅几天之内,在 Stack Overflow 网站上提出的关于 Swift 的问题已经有 500 多个,在 GitHub 上搜索用 Swift 编写的库,数量已多达约 350 个。
对有兴趣学习这门语言的开发者,网络上提供了许多有用的入门资源:
- Swift 程序设计语言 在 iTunes 里,苹果已经提供了免费的电子书《 Swift 语言参考手册》。访问 iTunes 需要使用苹果的设备,对于没有苹果设备的人来说,也可以从苹果网站上找到相同内容的 HTML 版本。由于 Swift 语言的,这本电子书绝对是学习 Swift 最基础、最全面的资源,能够覆盖到这门语言的各个方面,包括与 C/Objective-C 的协同工作的能力。
- 苹果的Swift 博客 [新] 用来了解 Swift 相关新闻和深度学习其语言特性的最宝贵的资源之一。
- Swift**** 语言精选来源于 RayWenderlich.com 网站,从一个 Objective-C 程序员的视角介绍 Swift 中引入的部分新特性:类型推断、泛型、switch 语句和常量。
- Ray Wenderlich 的 Swift 教程[新] Ray Wenderlich 的网站上 Swift 相关的教程集已经相当庞大,既包括 Swift 语言的基础知识也包括用 Swift 编写的基于一些 iOS 框架的简单的应用实例。
- 使用Swift 编写俄罗斯方块程序 [新] 一本指导开发者如何用 Swift 的 SpriteKit API 构建俄罗斯方块应用的在线书籍。
- 一些有意思的Swift 特性 [新] 一本指导开发者如何用 Swift 的 SpriteKit API 构建俄罗斯方块应用的在线书籍。
- 如何在 Swift中使用 Objective-C类由 Mark Petherbridge 编写的分步指导,介绍如何通过创建桥接头文件在 Swift 中使用 Objective-C 类。
- 使用 Swift开发 iOS应用程序由 Jameson Quaver 编写的五部分系列教程,教你从头开始使用 Swift 开发 iOS 应用程序。这个教程系列包含如下几个主题:创建一个“hello world”应用程序、创建网络 API 请求并解析生成的 JSON、协议(protocols)和代理(delegates)的最佳实践、可交互的表格视图、异步图片加载和缓存。
- LearnSwift.tips根据读者的水平(入门级、中级、高级)组织的关于 Swift 语言的学习资料集合,还有几个从 GitHub 上选取的有意思的项目。
- Swift 语言速查表也是 RayWenderlich.com 网站上的资源,在一页纸上汇总了 Swift 语言最重要的语法规则。包括:类的实现、方法的声明、对象的实例化和使用、变量的声明、控制流、字符串 / 数组 / 字典的小例子。
- So So Swift按时间排序的大量资源的集合,包括教程、视频和库。
- Swift 与 Scala 比较表Swift 和 Scala 语法的比较,包括控制流的结构、表达式、声明、模式和类型。
- SwiftLang.eu另一个 Swift 资源集合网站。提供了苹果的《Swift 程序设计语言》这本书的 MOBI、PDF 和 ePub 版本。另外还有一个社区版块可供开发者共享一些想法和源代码。
- 函数式Swift [新] 这个博客的目的是帮助开发者理解 F#和 Scala 语言中的函数式元素如何在 Swift 中实现(或无法实现)的。
- Swift 中的高阶函数[新] 一篇专注于 Swift 中的闭包以及如何利用闭包构建过滤、映射和化简等序列操作的文章。
- Swiftz:Swift 中的函数式编程[新] 一个定义了纯函数式数据结构和函数的函数式编程库。
- 探索Swift 的内存布局 [新] Mike Ash 为开发者解释了 Swift 的对象和类在内存中如何布局。这一系列的第二部分也已经发布。
你也可以从 Alex Blewitt 发表在 InfoQ 上的这篇文章中了解一些关于 Swift 语言的背景介绍以及它和 LLVM 编译器之间的关系。
目前 Swift 只能在 Xcode 6 的开发者预览版中使用,苹果已经将这一版本的 Xcode 发布给所有已经注册了苹果开发者计划的开发者。
查看**** 英文原文: Online Resources to Learn Apple’s Swift Language
感谢崔康对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论