/SwiftGuide

这份指南汇集了Swift语言主流学习资源,并以开发者的视角整理编排。http://dev.swiftguide.cn

Primary LanguageSwift

Swift 语言指南

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

目录


入门指引

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

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

教程方面,苹果力荐了斯坦福课程 Stanford University: Developing iOS 11 Apps with Swift中文字幕 By ApolloZhiyu

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

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

值得称道的还有:苹果为开发者提供的开发视频(包括 WWDC session,可选中文字幕),方便开发者观看来自官方的权威技术分享。

有关于 Swift 开源及跨平台开发,可以关注 swift.org

推荐网站


开发工具

1. 编程工具

  • Xcode 下载:苹果应用集成开发环境。支持 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 审核用截图:便捷的生产力工具。免费,易操作,可自定义。
  • IBM Swift Sandbox:IBM的在线Swift网站,需要翻墙。
  • SwiftStub:另外一个Swift在线练习网站。

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:分布式版本控制系统和源码管理系统,其优点是:快和简单易用。对于新手来说,可在此查看免费电子书籍。
  • SourceTree:A free Git & Mercurial client for Windows or Mac.免费的Git和Mercurial客户端,当然也可以配合Bitbucket使用。

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 通讯)。如此强大的“黑工具”,不爱它能行吗。演示视频
  • Carthage:新兴起的去中心化的依赖管理器,目标是用最简单的方式来管理Cocoa第三方框架。优势很明显,但是也有不足,看后面的发展吧。

4. 管理工具

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

5. 调试工具

6. 设计工具

  • sketch:更适合开发应用的矢量设计工具。通过插件还支持与代码协同工作。推荐书籍:Learn Sketch 3
  • PaintCode :PaintCode是Apple Designer入门APP开发最合适的辅助工具之一,她可以把你绘制的矢量UI自动转化为适用于iOS/OS X的Objective-C代码。