github :https://github.com/ipader/SwiftGuide





@SwiftLanguage更新于 2016-6-6,更新内容详见Issue 55。往期更新回顾详见《收录周报》

  这份指南汇集了 Swift 语言主流学习资源,并以开发者的视角整理编排。对于精选项目及文章,可直接访问《Swift 项目精选》和《Swift 文章精选》。还有开发者们自己维护的《Swift 开发者、项目、最佳实践》。当然也不能错过那些活跃、优秀的《开发者个人资料页》。

目录

  • 入门指引
  • 教程文章
  • 开源项目
  • 推荐网站
  • 开发工具
  • 媒体报道
  • 开放平台
  • Apple Watch 指南

入门指引

苹果为Swift(中文介绍)开发者提供的官方文档入口,包括概述,博客(中译镜像)及开发资源。其中以下几份文档(Swift 2.1)为入门级必备(iBooks 版):

  • Swift Programming Language(中文版|PDF 版BySwiftGG翻译组)

  • Start Developing iOS Apps

  • Using Swift with Cocoa and Objective-C(中文版By@CocoaChina)

苹果同时也维护着相应 Beta 版(Swift 2.2)文档:Swift Programming Language,Start Developing iOS Apps,Using Swift with Cocoa and Objective-C。

学习实践的角度,标准库示例代码Swift Standard Library.playground是很棒的学习伴侣。

教程方面,苹果力荐了斯坦福课程Stanford University: Developing iOS 8 Apps with Swift(中文字幕版By@网易公开课)

除以上所涉及入门级文档,iOS Developer Library还为开发者提供了更庞大、系统化的开发文档支持。

以下列举了几份已有第三方中文翻译文档:

  • App Extension Programming Guide(中译镜像)
  • iOS Human Interface Guidelines(中文版|PDF 版By@腾讯ISUX)
  • HomeKit Developer Guide(中文版By@CocoaChina)

值得称道的还有:苹果为Apple TV Tech Talks和WWDC 2015的视频添加简体中文字幕,从而方便中国开发者观看来自官方的权威技术分享。

对于 Swift 开源及跨平台开发的同学,可以关注swift.org

教程文章

开源项目

推荐网站

  • 苹果官方
    • Swift:Swift 概述、博客以及开发资源。
    • swift.org:开源后独立出来的 Swift 开源社区。
    • GitHub:apple:苹果在 GitHub 上的开源项目。
    • GitHub:apple/swift:swift 语言在 GitHub 上的开源项目。
  • ksm/SwiftInFlux:作者(Karol Mazur)将 Apple Developer Forums 上有关 Swift 特性、缺陷及变更讨论分类汇总并更新到 GitHub,具有很好的可读性。从中可以一窥 Swift 缺陷及未来潜在地变化。最关键地是有 Chris Lattner 及核心团队答疑解惑。
  • raywenderlich.com(中文版):由Ray Wenderlich创建,专注于开发高质量编程指南(近期优质Swift文章及视频教程不断),著名的iOS/OS X博客及开发教程网站,非常适合新手学习。近期第一时间出了三本 Swift 新书。
  • Natasha The Robot: 时髦码农不容错过的 Swift 开发实战教程类网站。为了简化学习复杂性,每一篇文章涵盖技术点单一又独立,配以开发步骤、运行结果以及代码等标准方式教授。难能可贵的是,它往往出品“追剧式”(最新开发特性或API跟进式)教程,实在是开发者必藏精品网站。
  • NShipster(中译版:@刘镇夫,April Peng,@李乐佳,@程序员付恒等翻译):著名开源作者Matt Thompson创建的开发技术博客网站,他开发了AFNetworking网络库,也是非常多产的开源作者。更多了解参考:《COCOA 潮人 MATTT THOMPSON》By@程序员付恒
  • jamesonquave.com:移动开发者,优秀个人博客(近期文章同样关注于Swift 语言,写得很优质)。同时他将于8/30发布一本新书《Developing iOS 8 Apps in Swift》(Learn To Make Real World iOS 8 Apps)及视频教程。
  • objc.io(中译版 By @onevcat 及其朋友们):"关于 Objective-C 最佳实践和先进技术的期刊。 由 Chris Eidhof,Daniel Eggert 和 Florian Kugler 成立于柏林。我们成立 objc.io 的目的是针对深入的、跟所有 iOS 和 OS X 开发者相关的技术话题创造一个正式的平台。“
  • iOSCreator:这类开发指引式教程对于初学者来讲,是直接明了的有效学习资源。推荐者@荧星诉语
  • iOS Dev Weekly:收录一周以来 iOS 开发资讯链接,并于周五发布。由Dave Verwer创办,他是一位 iPhone 和 iPad 开发者以及培训师。
  • Appcoda.com:质量很高的一个 iOS 开发教程站,其中iOS Programming Course这个专题很适合刚接触 iOS 开发的新手学习。
  • 中文 iOS/Mac 开发博客列表:By@唐巧_body
  • devtalking.com:高产的中译博客。翻译了官方博客 Swift Blog - Apple Developer,《App Extension Programming Guide》。参与翻译了《Swift Programming Language》等。
  • SwiftGG:一个走心的 Swift 翻译组,由《The Swift Programming Language》中文版翻译团队原班人马组成, 翻译的文章来源于国外的优秀 Swift 网站和博客,且全部获得作者和网站授权。
  • Swift Weekly Brief:“这个博客现在每周会将Swift开源中的重要讨论和提交整理成Open source Swift weekly brief,这对一线开发者尽早了解这门语言的动态情报很有帮助。By@崔康总编”。来源:Jesse Squires
  • iosdevtips.co:iOS Development Tips

  • 资源合集

    以下是其它开发者社区或 Swift 爱好者整理的有关 Swift 语言学习的资源列表。

    • SwiftEducation:“这是建立在 GitHub 上的一个 Swift 学习资料汇集,包括了有关幻灯和多个练手的应用程序源码。By @极客头条”。的确有不少基础实用的好教程。这对于基础学起的同学有福了。
    • Awesome-Swift-Education:整理地如此美妙的学习资源,实在让人太欢喜了。
    • matteocrippa/awesome-swift:这个版本的 Swift 资源集合内容丰富,分类也不错。作者:Matteo Crippa
    • 适合iOS开发者的 15 大网站推荐:的确很全、很主流的国外 iOS 开发者网站。
    • 码农周刊 -《Swift 特刊》
    • CocoaChina -《Swift 新手入门汇集帖》
    • CSDN_CODE -《Swift 编程语言资料大合集》
    • InfoQ -《学习苹果 Swift 语言的一些在线资源(英文)》
    • 刘兰涛 -《Swift 学习资源》By@懒桃儿吃桃儿
    • learnswift.tips:国外主流 Swift 学习资源集合。
    • Awesome iOS:一个 iOS 的各类优秀的开源项目集合。真不错!可惜Swift开源项目资源不足。
    • iOS Developer Tips:还是有关 iOS 的开发资源及文章合集。
    • Wolg/awesome-swift:一位俄罗斯朋友分类整理的 Swift 资源列表(有持续更新)。
    • Aufree/trip-to-iOS:显然作者很用心的做了非常深入的整理。它对于开发者拓展学习范围及开发知识面非常有益。
    • Robin Eggenkamp - Awesome Swift:“一个收集了很多 Swift 开发资源的网站”。
    • iOS 开发技术前线:“一个定期翻译、发布国内外iOS优质的技术、开源库、软件架构设计、测试等文章的开源项目”。主要翻译来源 Ray Wenderlich,App Coda,Medium。来源:@开发技术前线
    • 11个超棒的 iOS 开发学习网站:还算比较主流的归纳。不过,缺了raywenderlich.com 和 ioscreator.com 这两个重量级教程网站实在是不应该啊。

开发工具

1. 编程工具

  • Xcode 6 beta下载:苹果应用集成开发环境。支持 C/C++,Objective C,Swift 等。不用购买开发者计划,直接下载。
  • Textmate:Mac OS X 上一个可高度自定义的编辑器,尤其在我想做出一个快速改变但又不想等待 Xcode 加载的时候。该工具目前已经开源
  • Mou:OS X 上一款 Markdown 的编辑器。非常适用于编写自述文件、变更日志以及其他方面的内容。作者:罗晨
  • Sublime Text ($):Mac OS X 上另一款非常受欢迎的轻量级,可高度自定义的编辑器。
  • RunSwift:正在犹豫是否入手苹果电脑开始一段 Swift 编程旅程的同学们,或仅仅为了试验一段简单 Swift 代码又懒得打开 Xcode,可以试试这款 Web 版 Swift 编译环境 RunSwift。
  • InfinitApps - Bezel:“嫌 Xcode 6 目前提供的 Watch 模拟器不够直观?Bezel 是一个用于视觉预览 WatchKit 所开发程序效果的小工具,前提是你安装了 xScope 软件(Mac端)或 xScopeMirror(iPhone端)。 By@WatchKit开发”
  • Markdown -> Playground:该开源项目可将内含有 Swift 代码的 Markdown 自动转换为 Xcode Playgrounds 文件。喜欢用 Markdown 编辑的同学很激动吧。P.S. 这款工具写于 NodeJS,原因作者有交待。
  • iOS/Mac Autolayout Constraints:这个工具不错,很直观,布局时可以省不少工夫。推荐者:@荧星诉语
  • 在线生成 AppStore 审核用截图:便捷的生产力工具。免费,易操作,可自定义。

2. 代码管理

  • GitHub:声望日盛的资源分享之地。
  • GitHub for Mac:一个设计的非常美观的 git 客户端,不能取代你从命令行获得的所有功能,但使用起来非常简单。
  • GitCafe:GitCafe is a source code hosting service based on version control system Git。国内的代码托管服务,基于 Git,值得一提的是最近也推出了和 GitHub Pages 类似的服务 Gitcafe Pages。因为是在国内,所以相比较 GitHub 有速度优势,在网络环境差的情况下也许可以作为 GitHub 的备用。
  • Bitbucket:国外的代码托管服务,不同于 GitHub 的是,Bitbucket 可以免费建立 private 项目。
  • Git:分布式版本控制系统和源码管理系统,其优点是:快和简单易用。对于新手来说,可在此查看免费电子书籍。

3. Xcode 插件

  • CocoaPods:第三方库的管理利器,允许你简单地把第三方库整合进自己的应用中。对我个人来说,我基本上每个项目都使用 CocoaPods。
  • CocoaPods Xcode Plugin:一款 Xcode 插件,允许你直接从 Xcode 管理 CocoaPod 依赖。
  • onevcat/VVDocumenter-Xcode:快捷注释 Xcode 插件。By@onevcat
  • ColorSense:一款显示颜色数值的插件,还可以直接通过系统的ColorPicker来自动生成对应颜色代码
  • Xcode 优秀插件整理:持续保持整理更新的 Xcode 插件整理 By@ddapps
  • CodeEagle/SwiftCodeSnippets:自动下载指定 Xcode Snippet 源的 Xcode Plugin。项目缺省提供 Snippet 代码源burczyk/XcodeSwiftSnippets。
  • realm/SwiftLint:Realm 采用 Swift 编写的基于 GitHub's Swift Style Guide 规则的检查工具。除了命令行运行方式,也提供集成 Xcode 的方法。对于新团队,这样的工具可以自动约束大家遵循编程规范。
  • XCode 升级后插件失效的原理与修复办法:由一条命令引发的分析文章。@_TongJZ
  • feinstruktur/CoPilot:通过此插件,Xcode 可以协同编程了(采用 WebSocket 通讯)。如此强大的“黑工具”,不爱它能行吗。演示视频

4. 管理工具

  • swiftenv:Swift 版本管理器。类似 rvm(Ruby),nvm(Node.js)。
  • HomeBrew:OS X 上非常出色的包管理工具。
  • Transmit ($):一个Mac OS X 上 FTP 客户端,有着非常漂亮的用户界面和有用的功能。

5. 调试工具

  • mattt/fuckingclangwarnings.com:警告与语义对照表。以后再也不用为 Xcode 各种警告纠结啦!By@foogry

6. 设计工具

  • sketch:更适合开发应用的矢量设计工具。通过插件还支持与代码协同工作。推荐书籍:Learn Sketch 3

媒体报道

开放平台

Apple Watch 指南

swift 学习资源 - Swift 语言指南的更多相关文章

  1. HTML5 播放 RTSP 视频的实例代码

    目前大多数网络摄像头都是通过 RTSP 协议传输视频流的,但是 HTML 并不标准支持 RTSP 流。本文重点给大家介绍HTML5 播放 RTSP 视频的实例代码,需要的朋友参考下吧

  2. 利用Node实现HTML5离线存储的方法

    这篇文章主要介绍了利用Node实现HTML5离线存储的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. 详解如何通过H5(浏览器/WebView/其他)唤起本地app

    这篇文章主要介绍了详解如何通过H5(浏览器/WebView/其他)唤起本地app的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  4. H5混合开发app如何升级的方法

    本篇文章主要介绍了H5混合开发app如何升级的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  5. AmazeUI 折叠面板的实现代码

    这篇文章主要介绍了AmazeUI 折叠面板的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  6. HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码

    这篇文章主要介绍了HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

  7. Html5 video标签视频的最佳实践

    这篇文章主要介绍了Html5 video标签视频的最佳实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  8. html5唤起app的方法

    这篇文章主要介绍了html5唤起app的方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  9. HTML5拍照和摄像机功能实战详解

    这篇文章主要介绍了HTML5拍照和摄像机功能实战详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. ios – 在没有iPhone6s或更新的情况下测试ARKit

    我在决定下载Xcode9之前.我想玩新的框架–ARKit.我知道要用ARKit运行app我需要一个带有A9芯片或更新版本的设备.不幸的是我有一个较旧的.我的问题是已经下载了新Xcode的人.在我的情况下有可能运行ARKit应用程序吗?那个或其他任何模拟器?任何想法或我将不得不购买新设备?解决方法任何iOS11设备都可以使用ARKit,但是具有高质量AR体验的全球跟踪功能需要使用A9或更高版本处理器的设备.使用iOS11测试版更新您的设备是必要的.

随机推荐

  1. Swift UITextField,UITextView,UISegmentedControl,UISwitch

    下面我们通过一个demo来简单的实现下这些控件的功能.首先,我们拖将这几个控件拖到storyboard,并关联上相应的属性和动作.如图:关联上属性和动作后,看看实现的代码:

  2. swift UISlider,UIStepper

    我们用两个label来显示slider和stepper的值.再用张图片来显示改变stepper值的效果.首先,这三个控件需要全局变量声明如下然后,我们对所有的控件做个简单的布局:最后,当slider的值改变时,我们用一个label来显示值的变化,同样,用另一个label来显示stepper值的变化,并改变图片的大小:实现效果如下:

  3. preferredFontForTextStyle字体设置之更改

    即:

  4. Swift没有异常处理,遇到功能性错误怎么办?

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  5. 字典实战和UIKit初探

    ios中数组和字典的应用Applicationschedule类别子项类别名称优先级数据包contactsentertainment接触UIKit学习用Swift调用CocoaTouchimportUIKitletcolors=[]varbackView=UIView(frame:CGRectMake(0.0,0.0,320.0,CGFloat(colors.count*50)))backView

  6. swift语言IOS8开发战记21 Core Data2

    上一话中我们简单地介绍了一些coredata的基本知识,这一话我们通过编程来实现coredata的使用。还记得我们在coredata中定义的那个Model么,上面这段代码会加载这个Model。定义完方法之后,我们对coredata的准备都已经完成了。最后强调一点,coredata并不是数据库,它只是一个框架,协助我们进行数据库操作,它并不关心我们把数据存到哪里。

  7. swift语言IOS8开发战记22 Core Data3

    上一话我们定义了与coredata有关的变量和方法,做足了准备工作,这一话我们来试试能不能成功。首先打开上一话中生成的Info类,在其中引用头文件的地方添加一个@objc,不然后面会报错,我也不知道为什么。

  8. swift实战小程序1天气预报

    在有一定swift基础的情况下,让我们来做一些小程序练练手,今天来试试做一个简单地天气预报。然后在btnpressed方法中依旧增加loadWeather方法.在loadWeather方法中加上信息的显示语句:运行一下看看效果,如图:虽然显示出来了,但是我们的text是可编辑状态的,在storyboard中勾选Editable,再次运行:大功告成,而且现在每次单击按钮,就会重新请求天气情况,大家也来试试吧。

  9. 【iOS学习01】swift ? and !  的学习

    如果不初始化就会报错。

  10. swift语言IOS8开发战记23 Core Data4

    接着我们需要把我们的Rest类变成一个被coredata管理的类,点开Rest类,作如下修改:关键字@NSManaged的作用是与实体中对应的属性通信,BinaryData对应的类型是NSData,CoreData没有布尔属性,只能用0和1来区分。进行如下操作,输入类名:建立好之后因为我们之前写的代码有些地方并不适用于coredata,所以编译器会报错,现在来一一解决。

返回
顶部