微信号:infoqchina

介绍:有内容的技术社区媒体

【资源】学习苹果Swift语言的一些在线资源(2014年9月10日更新)

2014-09-10 18:39 InfoQ

Swift是苹果为OS X和iOS平台引入的一种新的程序设计语言,这种程序设计语言已经激发了开发者社区的大量关注。仅仅几天之内,在Stack Overflow网站上提出的关于Swift的问题已经有500多个,在GitHub上搜索用Swift编写的库,数量已多达约350个。


对有兴趣学习这门语言的开发者,网络上提供了许多有用的入门资源:


1.Swift程序设计语言


在iTunes里,苹果已经提供了免费的电子书《Swift语言参考手册》。访问iTunes需要使用苹果的设备,对于没有苹果设备的人来说,也可以从苹果网站上找到相同内容的HTML版本。由于Swift语言的,这本电子书绝对是学习Swift最基础、最全面的资源,能够覆盖到这门语言的各个方面,包括与C/Objective-C的协同工作的能力。


2.苹果的Swift博客[新]


用来了解Swift相关新闻和深度学习其语言特性的最宝贵的资源之一。


3.Swift语言精选


来源于RayWenderlich.com网站,从一个Objective-C程序员的视角介绍Swift中引入的部分新特性:类型推断、泛型、switch语句和常量。


4.Ray Wenderlich的Swift教程[新]


Ray Wenderlich的网站上Swift相关的教程集已经相当庞大,既包括Swift语言的基础知识也包括用Swift编写的基于一些iOS框架的简单的应用实例。


5.使用Swift编写俄罗斯方块程序[新]


一本指导开发者如何用Swift的SpriteKit API构建俄罗斯方块应用的在线书籍。


6.一些有意思的Swift特性[新]


一本指导开发者如何用Swift的SpriteKit API构建俄罗斯方块应用的在线书籍。


7.如何在Swift中使用Objective-C类


由Mark Petherbridge编写的分步指导,介绍如何通过创建桥接头文件在Swift中使用Objective-C类。


8.使用Swift开发iOS应用程序


由Jameson Quaver编写的五部分系列教程,教你从头开始使用Swift开发iOS应用程序。这个教程系列包含如下几个主题:创建一个“hello world”应用程序、创建网络API请求并解析生成的JSON、协议(protocols)和代理(delegates)的最佳实践、可交互的表格视图、异步图片加载和缓存。


9.LearnSwift.tips


根据读者的水平(入门级、中级、高级)组织的关于Swift语言的学习资料集合,还有几个从GitHub上选取的有意思的项目。


10.Swift语言速查表


也是RayWenderlich.com网站上的资源,在一页纸上汇总了Swift语言最重要的语法规则。包括:类的实现、方法的声明、对象的实例化和使用、变量的声明、控制流、字符串/数组/字典的小例子。


11.So So Swift


按时间排序的大量资源的集合,包括教程、视频和库。


12.Swift与Scala比较表


Swift和Scala语法的比较,包括控制流的结构、表达式、声明、模式和类型。


13.SwiftLang.eu


另一个Swift资源集合网站。提供了苹果的《Swift程序设计语言》这本书的MOBI、PDF和ePub版本。另外还有一个社区版块可供开发者共享一些想法和源代码。


14.函数式Swift[新]


这个博客的目的是帮助开发者理解F#和Scala语言中的函数式元素如何在Swift中实现(或无法实现)的。


15.Swift中的高阶函数[新]


一篇专注于Swift中的闭包以及如何利用闭包构建过滤、映射和化简等序列操作的文章。


16.Swiftz:Swift中的函数式编程[新]


一个定义了纯函数式数据结构和函数的函数式编程库。


17.探索Swift的内存布局[新]


Mike Ash为开发者解释了Swift的对象和类在内存中如何布局。这一系列的第二部分也已经发布。


你也可以从Alex Blewitt发表在InfoQ上的这篇文章中了解一些关于Swift语言的背景介绍以及它和LLVM编译器之间的关系。


目前Swift只能在Xcode 6的开发者预览版中使用,苹果已经将这一版本的Xcode发布给所有已经注册了苹果开发者计划的开发者。


因为微信中无法插入超链接,请读者点击“阅读原文”访问相关资源。


 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 人工智能+金融=改造金融? Java网络通信编程 【趣文】程序员的进化史 "DevOps"是如何扼杀开发者的! 论道 | 解卅:DNF国服8年,我们解决了制约游戏发展的7大问题