Git Product home page Git Product logo

swiftguide's Introduction

Swift 语言指南

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

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

目录


入门指引

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

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

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

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

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

值得称道的还有:苹果为 Apple TV Tech TalksWWDC 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

  • Swift Developer Weekly:这个网站每周推送最新的技术文章和书本推荐到你的email,由Phil Wright创办。

  • iosdevtips.co:iOS Development Tips

  • 资源合集

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

* [SwiftEducation](https://github.com/SwiftEducation):“这是建立在 GitHub 上的一个 Swift 学习资料汇集,包括了有关幻灯和多个练手的应用程序源码。By @极客头条”。的确有不少基础实用的好[教程](https://github.com/SwiftEducation/presentations)。这对于基础学起的同学有福了。
* [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education):整理地如此美妙的学习资源,实在让人太欢喜了。
* [iOS Cookies](http://www.ioscookies.com/):分类合理、排序靠谱的 Swift 开源类库集合。
* [matteocrippa/awesome-swift](https://github.com/matteocrippa/awesome-swift):这个版本的 Swift 资源集合内容丰富,分类也不错。作者:[Matteo Crippa](https://github.com/matteocrippa)
* [适合iOS开发者的 15 大网站推荐](http://www.csdn.net/article/2015-03-04/2824108-ios-developers-sites/1):的确很全、很主流的国外 iOS 开发者网站。
* [掘金 Swift 版块](http://gold.xitu.io/#/tag/Swift)
* [码农周刊 -《Swift 特刊》](http://weekly.manong.io/issues/33?ref=swift)
* [CocoaChina -《Swift 新手入门汇集帖》](http://www.cocoachina.com/bbs/read.php?tid=204512)
* [CSDN_CODE -《Swift 编程语言资料大合集》](http://code.csdn.net/news/2820075)
* [InfoQ -《学习苹果 Swift 语言的一些在线资源(英文)》](http://www.infoq.com/cn/news/2014/06/apple-swift-learning-resources)
* [刘兰涛 -《Swift 学习资源》](https://github.com/Lax/iOS-Swift-Demos/wiki) By [@懒桃儿吃桃儿](http://weibo.com/u/1653644220)
* [learnswift.tips](http://www.learnswift.tips/):国外主流 Swift 学习资源集合。
* [Awesome iOS](https://github.com/vsouza/awesome-ios):一个 iOS 的各类优秀的开源项目集合。真不错!可惜Swift开源项目资源不足。
* [iOS Developer Tips](http://iosdevelopertips.com/):还是有关 iOS 的开发资源及文章合集。
* [Wolg/awesome-swift](https://github.com/Wolg/awesome-swift):一位俄罗斯朋友分类整理的 Swift 资源列表(有持续更新)。
* [Aufree/trip-to-iOS](https://github.com/Aufree/trip-to-iOS):显然作者很用心的做了非常深入的整理。它对于开发者拓展学习范围及开发知识面非常有益。
* [Robin Eggenkamp - Awesome Swift](https://swift.zeef.com/robin.eggenkamp):“一个收集了很多 Swift 开发资源的网站”。
* [iOS 开发技术前线](https://github.com/hehonghui/iOS-tech-frontier):“一个定期翻译、发布国内外iOS优质的技术、开源库、软件架构设计、测试等文章的开源项目”。主要翻译来源 Ray Wenderlich,App Coda,Medium。来源:[@开发技术前线](http://weibo.com/u/5589212242)
* [11个超棒的 iOS 开发学习网站](http://www.cocoachina.com/ios/20150626/11348.html):还算比较主流的归纳。不过,缺了raywenderlich.com 和 ioscreator.com 这两个重量级教程网站实在是不应该啊。

开发工具

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代码。

swiftguide's People

Contributors

ipader avatar ya-luotao avatar chillchian avatar wangjwchn avatar zhxnlai avatar mengxiangyue avatar readmecritic avatar tonyh2021 avatar w11p3333 avatar benloong avatar glowin avatar bozhum avatar lanceli avatar itjhdev avatar mortonfox avatar sopig avatar devtalking avatar captainjeck avatar chenmingbiao avatar numbbbbb avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.