如果你是位iOS开发者,或者你正想进入该行业,那么Swift为你提供了一个绝佳的机会。Swift的设计非常优雅,较Obj-C更易于学习,当然也非常强大。

为了指导开发者使用Swift进行开发,苹果发布了一系类的技术文档,比如The Swift Programming Language中文)和Using Swift with Cocoa and Objective-C中文),同时苹果也开通了其官方Swift博客,最近更是发布了Swift开发入门的视频教程…当然也有很多其他强大的资源,比如以下这10个Swift相关的开源项目

Alamofire 

Alamofire是一个用Swift编写的HTTP网络库,由此前热门开源项目AFNetworking的的作者mattt开发,可非常简单地用于异步网络通信。

关于何时使用AFNetworking,何时使用Alamofire,可参看作者对两种情况的分析,不过很好的一点是AFNetworking和Alamofire两个库并不相互排斥,可以很好地共存于相同的代码库中。

要求:Xcode 6.0,iOS 7.0+ / Mac OS X 10.9+

Surge(Swift + Accelerate)

Surge基于Accelerate框架开发,用于执行矩阵数学、数字信号处理以及图像处理等方面。换句话说,它可以快速处理复杂的数学、语音以及图像信号。并且依然来自于大神级人物mattt。

SwiftyJSON  

SwiftyJSON使得用Swift处理JSON数据更加容易。这是解析JSON字符串封装类。实现功能与Javascript中的JSON.parse相近,使用方便。

要求:Xcode 6.0,iOS 7.0+ / Mac OS X 10.9+

Dollar.swift  

Dollar是一个Swift库,提供了有用的函数式编程辅助方法,无需扩展任何内置对象。Dollar类似于Lo-Dash或者Javascript中的Underscore。

ExSwift  

包含一组标准类型和类的Swift扩展。

SwiftTask 

SwiftTask是用Swift编写的状态机,综合了 Promise + progress + pause + cancel,使用 SwiftState ( Swift 编写的优雅的状态机)。

HanekeSwift 

Haneke 是一个用 Swift 编写的轻量级iOS通用缓存,易于使用。

Cartography 

Swift声明Auto Layout

Sleipnir 

Sleipnir是一个适用于Swift的BDD(Behavior Driven Development)风格框架,灵感来自于Cedar(一款BDD风格的Objective-C测试框架)。

核心原则:Sleipnir不依赖NSObject,是纯Swift BDD测试框架;Sleipnir不使用XCTest;有着很好的命令行输出,支持自定义测试报告,等等。

Quick  

Quick是一个适用于Swift和Objective-C的行为驱动开发测试框架。借鉴了RSpecSpecta以及Ginkgo

http://www.cocoachina.com/game/20141013/9896.html

学习Swift,一定不能错过的10大开源项目!的更多相关文章

  1. 腾讯两大开源项目Tars、TSeer

    6月25日,在LC3(LinuxCon + ContainerCon + CloudOpen)中国2018大会上,腾讯宣布其两大开源项目——RPC开发框架Tars.轻量化名字服务方案TSeer,加入L ...

  2. iOS开发人员不容错过的10大工具

    内容简介 1.iOS简介 2.iOS开发十大实用工具之开发环境 3.iOS开发十大实用工具之图标设计 4.iOS开发十大实用工具之原型设计 5.iOS开发十大实用工具之演示工具 6.iOS开发十大实用 ...

  3. 每位iOS开发人员不容错过的10大实用工具

    内容简介 1.iOS简介 2.iOS开发十大实用工具之开发环境 3.iOS开发十大实用工具之图标设计 4.iOS开发十大实用工具之原型设计 5.iOS开发十大实用工具之演示工具 6.iOS开发十大实用 ...

  4. 每位iOS开发者不容错过的10大有用工具

    内容简单介绍 1.iOS简单介绍 2.iOS开发十大有用工具之开发环境 3.iOS开发十大有用工具之图标设计 4.iOS开发十大有用工具之原型设计 5.iOS开发十大有用工具之演示工具 6.iOS开发 ...

  5. [转]2017年最具价值的十大开源项目!GitHub 年度报告~

    <GitHub 2017 年度报告>GitHub 每年都会在年度盛会中推出数据报告,其中列出了一些年度的数据,包括其网站中最受欢迎的编程语言.开源项目等.那么今年哪些开源项目最具价值呢?我 ...

  6. [转] 学习React Native必看的几个开源项目

    http://www.lcode.org/study-react-native-opensource-one/ http://gold.xitu.io/entry/575f498c128fe10057 ...

  7. 学习React Native必看的几个开源项目

    学习React native ,分享几个不错的开源项目,相信你学完之后,一定会有所收获.如果还没有了解RN的同学们可以参考手把手教你React Native 实战之开山篇<一> 1.Fac ...

  8. PyTorch大更新!谷歌出手帮助开发,正式支持TensorBoard | 附5大开源项目

    大家又少了一个用TensorFlow的理由. 在一年一度的开发者大会F8上,Facebook放出PyTorch的1.1版本,直指TensorFlow"腹地". 不仅宣布支持Tens ...

  9. APICloud Github 5大开源项目集合展示

    APICloud自成立之初,一直秉承着开源一切的初心,为了给予广大开发者们更多的资源及内容.不知不觉,2年时间已过,APICloud的github上已经集合了APICloud模块.前端框架及文档.云A ...

随机推荐

  1. 利用ASP.NET加密和解密Web.config中连接字符串

    摘自:博客园 介绍 这篇文章我将介绍如何利用ASP.NET来加密和解密Web.config中连接字符串 背景描述 在以前的博客中,我写了许多关于介绍 Asp.net, Gridview, SQL Se ...

  2. vb.net加密解密方法

    1.vb.net加密解密方法 Private Function getLicenseDate() As String Dim b() As Byte Dim path As String = Serv ...

  3. 各浏览器对使用 document.id 和 document.name 获取对象的支持存在差异

    标准参考 无. 问题描述 各浏览器使用 document.id 和 document.name 方法获取对象引用的支持存在差异. 造成的影响 某些浏览器中通过 document.id 和 docume ...

  4. CodeIgnitor 创建admin和其他目录,前后端分离,很巧妙的方式,网上查找其他的都不是使用这种方式实现的。

    在index.php的第97和98行的注释, // The directory name, relative to the "controllers" folder. Leave ...

  5. IE9 不F12打开控制台,代码不执行。打开后正常

    对每个前端er来说,提起来ie就是头大,各种兼容性的问题,让人头大.前两天就在ie9下遇到一个比较少见的问题. 具体情况是这样的: ie9下,js不执行,各种绑定事件不起作用.其他浏览器都6得飞起.当 ...

  6. Jquery DOM元素的方法

    jQuery DOM 元素方法 函数 描述 .get() 获得由选择器指定的 DOM 元素. .index() 返回指定元素相对于其他指定元素的 index 位置. .size() 返回被 jQuer ...

  7. ubuntu 14.04下 horizon openstack_dashboard 的开发环境搭建

    序:公司要在openstack的基础上,做开发做产品,网上资料也不是很多,很多都是在来回copy,在此做个blog,慢慢更新,推动自己进步. 首先老话题:开发环境的搭建.     一个纯净的ubunt ...

  8. java里的分支语句--程序运行流程的分类(顺序结构,分支结构,循环结构)

    JAVA里面的程序运行流程分三大类: 1,顺序结构:顺序结构就是依次执行每一行代码 2,分支结构:分支结构就是按不同的条件进行分支 3,循环结构:一段代码依条件进行循环执行. 其中,分支结构有两大类: ...

  9. Python 2 —— 基本数据类型及其运算

    基本运算 一.数字 **表示乘方运算 12 / 3 = 4.0浮点数 12 // 3 = 4整数 二.字符串 1.表示 单行:'...'或者"..." 多行:'''...'''或者 ...

  10. linux内核调优详解

    cat > /etc/sysctl.conf << EOF net.ipv4.ip_forward = net.ipv4.conf.all.rp_filter = net.ipv4. ...