Swift Development – List of Resources You Must Bookmark
Ever since the introduction of iOS, there is iOS development fever across the globe. Many iOS developers & companies are making fortunate out of it. By using Objective-C and Apple homebrew XCode SDK, there are more than 1 million apps in Appstore now! Apple didn’t stop there, they are going to push it to another level by introducing a new high level programming language – Swift. Objective-C without the baggage of C is how Craig Federighi described it during the conference.
Swift is designed to be fast, modern, safe and interactive. Even though it is a high level programming language, its speed is much more faster than Objective-C. You can mix it with Objective-C and C altogether in a project too (Not a good idea though!).
Honestly, I was pretty excited about Swift. I wanted to dive into iOS development, but as a web developer for half of my life, it isn’t easy for me to get into programming with low-level language. So, this announcement is actually quite an exciting news to me. I started to find resources about it and even started to learn how to use XCode. I decided to start from basic of Objective-C so I’ll know the differences. It was a painful process. Objective-C has been serving Apple well for 20+ years, and I must say, it is not a friendly language at all.
As a PHP developer, I found Objective-C is a beast, very steep learning curve and a lot of weird and repetitive coding. To cut it short, it’s indeed a low-level language, too low to my liking. My motive to learn the basic of Objective-C is to know the native solution first before moving on to high level. Just like how we start by learning Javascript first before moving on to jQuery.
Swift does a lot behind the scene to eliminate all those inconveniences and tedious practives of Objective-C. As a result of that, Objective-C codes are being simplified into shorter code and easier to understand. Take the following code illustrated during the conference as example:
Objective-C
if (myDelegate != nil) {
if ([myDelegate respondsToSelector: @selector(scrollViewDidScroll:)]) {
[myDelegate scrollViewDidScroll:myScrollView];
}
}
Swift
myDelegate?.scrollViewDidScroll?(myScrollView)
Variable assignment is almost the same with Javascript except they eliminate the needs of semicolon. Comparing to Objective-C, it’s just painful to write. Here is the declaration of String type variable.
Objective-C
NSString *myString = @"This is my string.";
Swift
var myString = "This is my string."
Are you getting excited yet? During the my own research and learning, I found a good collection of useful resources about Swift. If you started to learn it just like I do, this list will be very handy. But first of all, you need the SDK. Swift is only available in XCode 6 Beta which only available for those with Apple Developer account, but if you search around *ahem*, you will able to download it elsewhere.
Here you go, below is a list of resources, you will get written tutorials, video tutorials, references, sample codes and swift community. Drop me a commnet if you discovered something useful. Enjoy!
Introduction
- A Swift Tour by Apple. Download from iBook Swift programming language or PDF.
- An Absolute beginners guide to Swift by TeamTreeHouse
- A programmers view of apples new Swift language by Richard Byrne Reilly
- Swift is great but you should still know Objective-C first by Jon Friskics
- Swift – Learn Apple’s New Programming Language by Examples by Udemy
- Developing iOS8 apps using Swift – Create a Todo application by Shiva Narrthine
Tutorial Series #1
A simple and short tutorial created by Fábio Rocha.
Tutorial Series #2
A comprehensive Swift tutorial created by James Quave. This 6 parts tutorials focus on created iOS app. You will learn from basic to advanced techniques such as web API request, Parsing JSON, Table View, Async image loading & caching, interaction with multiple views and best practices.
- Hello World
- Making a web API request and parsing the JSON
- Some best practices using Protocols and Delegates
- Adding an interactive Table View
- Async image loading and caching
- Developing iOS 8 Apps Using Swift Part 6 – Interaction with multiple views
Tutorial Series #3
This tutorial will walk you through the creation of a geolocation based alarm app for travelers. The concept is simple: users create a new alarm by selecting both a geographic region and music item from their library. When the phone detects itself crossing the region boundary of an alarm (enter or exit) the relevant music plays.
Tutorial Series #4
We Heart Swift is a new website dedicated for Swift programming. They are going to be covering cool stuff they found.
- How to make a simple table view with iOS8 and Swift
- Swift Classes – Part 1
- Swift Classes – Part 2
- Swift Around – Simple tableview with a custom cell type
- Make awesome UI components iOS8 using Swift XCode 6
Video tutorials
Sample Code
Sometimes, the quickest way to pick up a language is to learn by sample. Here we have a list of Swift Applications that you can download and study it.
- FlappySwift – Code
- SwiftExample – Table views and web views demostrations
- Swift RSS – An RSS reader app written in Swift. About 100 lines of code and written within about an hour. Proved Swift is a good programming language

- Minimalistic Swift HTTP request agent for iOS and OS X
- HackerNews Reader iOS App
- Swift – Game of Life – Conway’s game of life written in Swift with SpriteKit
- SwiftNote – Simple note taking app with today widget and iCloud syncing.
- UIImageView – BetterFace Swift – A UIImageView extension to let the picture-cutting with faces showing better
- UICatalog: Creating and Customizing UIKit Controls in Swift – iOS Developer Library
- Adventure: Building a SpriteKit Game Using Swift – iOS Developer Library
- GestureRecognizers: Using standard UIGestureRecognizers – iOS Developer Library
- Lister: A Productivity App Built in Swift – iOS Developer Library
Quick References
- Swift Cheat Sheet and Quick Reference
- Swift Cheat Sheet by kpkp
- String Reference Guide for Swift
- Array Reference Guide for Swift
- Swift Cheat Sheet by Grant
- Swift Cheat Sheet
Swift Community
- Google+ Swift Community
- Github Swift Trending Repositories
- Stackoverflow Swift Language
- Reddit iOS Swift
- V2EX – In Mandarin Language
- SwiftChina – In Mandarin Language
- Swift China – In Mandarin Language
Swift Development – List of Resources You Must Bookmark的更多相关文章
- open source Swift, Objective-C and the next 20 years of development
Q&AApple's Craig Federighi talks open source Swift, Objective-C and the next 20 years of develop ...
- Awesome Swift
Awesome Swift https://github.com/matteocrippa/awesome-swift A collaborative list of awesome Swift re ...
- The Swift.org Blog welcome欢迎页note
The Swift.org Blog Welcomehtml, body {overflow-x: initial !important;}html { font-size: 14px; } body ...
- Swift is Open Source 博客note
Swift is Open Sourcehtml, body {overflow-x: initial !important;}html { font-size: 14px; } body { mar ...
- Swift搭建服务端
原文:Hello Server Side Swift 作者:Logan Wright 译者:CocoaChina--kmyhy(博客) 自从苹果官方发布了一个 Swift 的 Linux 开源版本之后 ...
- swift闭包 notes http://www.gittielabs.com
Swift Closureshtml, body {overflow-x: initial !important;}.CodeMirror { height: auto; } .CodeMirror- ...
- swift.org - About Swift 官网关于notes
About Swifthtml, body {overflow-x: initial !important;}html { font-size: 14px; } body { margin: 0px; ...
- cong
Directions: Study the following cartoon carefully and write an essay in which you should 1) descr ...
- 学习 Linux,101: 使用基本 SQL 命令
概述 在本教程中,将学习结构化查询语言 (SQL),包括: 使用基本 SQL 命令 执行基本数据操作 本教程将简要介绍您需要知道的与 LPI 102 考试相关的 SQL 概念. 回页首 数据库和 ...
随机推荐
- 在Myeclipse中查看android源码就是这么easy
在开发android 时不能查看源码必是很不爽的一件事,看过网上一些文章后(都是2.0以前的版本,跟我的2.2最新版本的配置是不一样的)不过还是给了我启示,通过配置终于可以在myeclipse中查看源 ...
- 48.rocketMQ
一.简介 RocketMQ是阿里旗下的一款产品,分为开源版本和非开源版本.相比于ActiveMQ,RocketMQ支持顺序消费.事务机制.失败重试机制.消息可查询.消息订阅.较强的水平扩展能力.亿级堆 ...
- 43.oracle同义词
不愿长大,好多人如此,其实这是一种逃避责任没有担当的表象. 同义词 从字面上理解就是别名的意思,和视图的功能类似,就是一张映射关系. 私有同义词:一般是普通用户自己建立的同义词,创建者需要create ...
- 什么是马拉车算法(Manacher's Algorithm)?
提出问题 最长回文子串问题:给定一个字符串,求它的最长回文子串长度. 如果一个字符串正着读和反着读是一样的,那它就是回文串.如a.aa.aba.abba等. 暴力解法 简单粗暴:找到字符串的所有子串, ...
- QuantLib 金融计算——QuantLib 入门
目录 QuantLib 金融计算--QuantLib 入门 简介 主要功能 安装与使用 学习指南 The HARD Way The EASY Way QuantLib 金融计算--QuantLib 入 ...
- QuantLib 金融计算——收益率曲线之构建曲线(2)
目录 QuantLib 金融计算--收益率曲线之构建曲线(2) YieldTermStructure 问题描述 Piecewise** 分段收益率曲线的原理 Piecewise** 对象的构造 Fit ...
- UVA_11020 Efficient Solutions 【平衡二叉搜索树set用法】
一.题面 UVA11020 二.分析 最近脑子有点不好使吧,这题还想了很久. 对于给定的两个值要满足题面中的条件,那么我们可以把这两个值转化到平面中的坐标去理解. 首先,需要考虑的是维护的所有点其实是 ...
- 03-树2 List Leaves (25 分)
Given a tree, you are supposed to list all the leaves in the order of top down, and left to right. I ...
- 写在学习Oracle之前
好久没有更新我的博客了,主要是因为年前换了工作.新工作比较忙,很少时间来博客园了. 作为Android开发人员,我为什么要学习Oracle数据库呢?我是非计算机专业出身,大学没有学习过任何关于数据库和 ...
- [问题解决]Fresco设置圆角效果不生效问题探究
[问题解决]Fresco设置圆角效果不生效问题探究 /** * Created by diql on 2017/2/21 11:07:04. */ 问题 在View中设置: fresco:rounde ...