GitHub上最火的40个iOS开源项目
1. AFNetworking
在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目。AFNetworking是一个轻量级的iOS、 Mac OS X网络通信类库,现在是GitHub上第三大Objective-C库。它建立在NSURLConnection、NSOperation等类库的基础 上,让很多网络通信功能的实现变得十分简单,因此,许多iOS应用开发都会使用到它。
- 支持HTTP请求和基于REST的网络服务(包括GET、POST、PUT、DELETE等);
- 支持ARC;
- 要求iOS 5.0及以上版本;
- 有一些插件扩展已有的功能,还有一个功能齐全的API;
- 从URL中获取JSON特别简单。
详情请参考:AFNetworking官网
2. Three20
Three20原本是iPhone版Facebook中所使用的工具库,包括照片查看器等一系列的iPhone UI类集,以及HTTP磁盘缓存等一些通用工具。后来从Facebook iPhone应用中剥离出来,成为了一个深受开发者喜爱的通用框架。
此前在“GitHub上最受欢迎的开源项目”Android系列文章(一)中,我们曾介绍过允许开发者将Facebook集成到Android应用中的Facebook SDK for Android。Facebook SDK for iOS和它一样,可以让开发者将Facebook相关功能集成到自己的iOS App中。
Facebook无疑是最成功的SNS社区,如果能够让App具有与Facebook集成的功能,那势必会带来非常好的效果。Facebook SDK for iOS项目更新频率很高,想要获取更多关于示例、文档、将SDK集成到App中、源代码等信息,可直接登陆Facebook Developers查看。
4. RestKit
Restkit是一个主要用于iOS上网络通信的开源Objective-C框架,除了发送请求、接受响应这些基本功能外,还附带Core Data,以及将远程JSON映射为本地对象的功能。
主要特点:
- 可在iOS和Mac OS X的Objective-C中与RESTful Web服务进行简单交互;
- 包含简单的HTTP Request/Response API;
- 带有强大的对象映射系统,用于减少代码长度;
- RestKit可降低JSON/XML的处理的资源消耗,支持通过SBJSON和YAJL进行JSON解析。
详情请参考:Restkit
ASIHTTPRequest是一款极其强劲的HTTP访问开源项目,能够让简单的API完成非常复杂的功能,比如异步请求、队列请求、GZIP压缩、缓存、断点续传、进度跟踪、上传文件、HTTP认证。
ASIHTTPRequest适用于基本的HTTP请求,和基于REST的服务之间的交互。使用Objective-C编写,能够同时用于Mac OS X和iPhone应用中。
详情请参考:ASIHTTPRequest
6. cocos2d-x
在《GitHub上最火的40个Android开源项目(一)》中,我们已经非常详细地介绍了cocos2d-x开源项目。cocos2d-x支持iOS、Android、Windows Phone 8、Bada、BlackBerry、Marmalade、Windows、Linux等多个平台。
详情请参考:**cocos2d-x**
7.cocos2d-iphone(cocos2d)
cocos2d for iPhone是一个开源框架,用于为iPod Touch、iPhone、iPad及Mac OS X构建2D游戏、演示程序及其他图形交互式应用。基于cocos2d设计,使用相同的API,但不同于cocos2d使用Python,cocos2d for iPhone是使用Objective-C实现的。
cocos2d for iPhone主要特性:
- 快
- 免费
- 易于使用
- 社区支持
详情请参考:cocos2d-iphone
该项目是对cocos2d for iPhone的扩展。
9. GPUImage
GPUImage是一个基于GPU图像和视频处理的开源iOS框架。
主要功能如下:
- 提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜;
- GPUImage顾名思义,是基于GPU的图像加速,因此图像处理速度非常快,并且能够自定义图像滤镜;
- 支持ARC。
10. MonoGame
MonoGame是一个Microsoft XNA 4.x Framework的开源跨平台实现。此前在Android开源项目系列文章(一)中我们也进行了详细的介绍。
MonoGame支持平台:
- iOS(包括Ritina Display)
- Android
- Windows(OpenGL)
- Mac OS X
- Linux
- Windows Store Apps(Windows 8、Windows RT)
- Windows Phone 8
- PlayStation Mobile(目前仅支持2D)
- OUYA
11. Nimbus
Nimbus是一个开源的iOS框架,比起Three20,Nimbus的文档更为全面、丰富,能够实现很多非常炫的界面特效。因此,开发者可以借助Nimbus来降低项目设计的复杂度。
12. cheddar-ios
Cheddar是一个简单即时的任务管理器,Cheddar for iOS是Cheddar的iOS客户端,通用于iPhone和iPad。
开发者可以直接登陆App Store下载该应用。
13. ViewDeck
IIViewDeckController能够实现类似于Path 2.0 的视图左右滑动的效果,支持向左或向右顺滑的滑动操作。
点击链接,查看视频演示(常规演示、灵敏性演示),注意,需FQ的哟。
14. ShareKit
ShareKit是iPhone开发的第三方接口,允许你一键分享文字、图片、网址、文件等内容到Facebook、Twitter、Delicious、Tumblr、Google Reader等第三方网站上。
详情请参考:getsharekit
15. GMGridView
GMGridView是一款开源的iOS(iPhone/iPad)表格视图,允许用户手势对表格单元进行排序,在单元格需要展示时才进行装载,这样极大地提高了表格的效率。其中的伸缩/旋转/平移手势能够让用户改变视图,还能够实现从CellView到全屏的切换。
详情请参考:gmoledina
16. QuickDialog
QuickDialog可以帮助开发者快速创建复杂的表单,实现包括登录界面在内的各种样式的TableView输入界面,此外,还可以创建带有多个文本域的表格及项目。
开发者可以直接登陆QuickDialog官方网站,获取更多信息或文档。
17. appirater
Appirater是一个可以直接使用到任何iPhone应用(iOS4.0及以上)中的开源类,用于提醒用户在打开App时,对应用进行评论或打分。
详情请参考:Appirater group
18. SVProgressHUD
SVProgressHUD能够实现多种HUD效果,多用于程序正在执行耗时较长的任务,需要用户等待。除了显示等待的HUD,还可以显示命令执行成功或者失败的HUD。
19. Reader
该项目能够让iOS开发者轻而易举地在iOS设备屏幕上显示PDF文件。代码通用,不需要任何XIB(因为所有UI元素都是代码生成的,具有极大的灵活性),运行于iOS 4.0及其以上版本设备中,同时还支持所有Retina Display设备。
支持:
- 诸如iBooks等的文档导航;
- 设备全方位旋转;
- 对PDF进行加密(密码保护);
- PDF链接(URI及跳转页面);
- PDF旋转页面。
CocoaAsyncSocket提供了十分强大而又易用的Mac OS X及iOS异步套接库,支持TCP和UDP,其中,AsyncSocket类是支持TCP的,AsyncUdpSocket是支持UDP的。
AsyncSocket是封装了CFSocket和CFSteam的TCP/IP socket网络库,提供异步操作。AsyncUdpSocket是UDP/IP socket网络库,包装自CFSocket。
以上为GitHub上最受欢迎的iOS开源项目TOP20,敬请期待GitHub上最受欢迎的iOS开源项目系列(二)。
21. SSToolkit
SSToolkit可以说是iOS开发者最常使用的工具类之一,该开源项目提供了一个完整的iOS类库集合,用于解决iOS开发者在开发过程中 常碰 到的一些问题,比如追踪一款设备是否具有视网膜显示屏或是否能剪裁图片,包含SSCollectionView、SSGradientView、 SSSwitch等诸多非常方便的类。
如果想要对SSToolkit作进一步了解,可以在iPad/iPhone上使用SSToolkit的Demo应用SSCatalog。获取更多信息,可直接登陆S.S. TOOLKIT。
22. XMPPFramework
XMPPFramework是一个使用Objective-C编写的用于Mac/iOS开发的XMPP框架,它提供了一个RFC- 3920(XMPP标准)核心实现,通过某些特定工具读写XML。XMPPFramework有着非常丰富的建立在模块化架构之上的XEP扩展,开发者可 以将其直接插入到代码中,使用GCD构成,即使是在非常老旧的iPhone或12核Mac
Pro上,它都能高效运转。
为了方面开发,苹果iOS
SDK提供了UISplitViewController用于iPad左右分栏界面显示,但对于开发者而言,UISplitViewController
使用起来并不方便,在开发过程中,总会遇到许多问题。于是,天才的iOS开发者Matt
Gemmell在GitHub上发起了一个名为MGSplitViewController的开源UISplitView实现,它比苹果官方UI组件所提
供的分栏类功能更加丰富。
最初Matt编写MGSplitViewController只是为了方便自己使用,但最终Matt决定将其开源,供所有iOS开发者使用。如果想要了解更多关于MGSplitViewController的信息,可直接登陆Matt Gemmell博客查看,也可点击链接,查看视频演示(需fan墙)。
24.
CocoaLumberjack
CocoaLumberjack集快、简单、强大、灵活于一身,和log4j等其他非常受开发者欢迎的日志框架的概念类似,专为Objective-C设计,用于iOS和Mac,拥有多线程、GCD(如果可用)、无锁原子操作和Objective-C运行时的动态特性。
PSTCollectionView是用于iOS
4.3及其以上版本中的UICollectionView的100%开源API兼容替代品。如果想要使用UICollectionView,但仍然需要支
持老版本的iOS,那么这个项目你一定会非常喜欢。如果想要始终使用PSTCollectionView,使用PSTCollectionView作为类
名称即可。
当然,如果你想在iOS 4.3/5.x上使用PSTCollectionView,但在iOS
6上使用UICollectionView,可以在所有UICollectionView类上添加PS,以获得对老版iOS的自动支持,这样就可以随心所欲如你所愿地使用PSUICollectionView。
26.
CocoaHTTPServer
CocoaHTTPServer是一个用于Mac OS
X或iOS应用的轻量级、可嵌入的HTTP服务器框架。有时候开发者需要在他们的App中内嵌一个HTTP服务器。无论是具有远程监控功能的服务器应用,
还是使用HTTP进行后端通信的桌面应用,或者是提供无线访问文档功能的iOS应用,CocoaHTTPServer都能满足你的开发要求。
CocoaHTTPServer提供如下功能:
- 支持Bonjour广播内建;
- 支持IPv4、IPv6;
- 异步网络使用GCD和标准套接口;
- 密码保护支持;
- SSL/TLS加密支持;
- 快速、高效;
- 伸缩性强;
- 大量注释代码;
- 非常容易扩展;
- 还支持WebDAV。
27. PushSharp
在应用开发中,给App推送通知是很常见的方式。PushSharp正是这样一个能够实现向iOS(iPhone/iPad
APNS)、Android(C2DM和GCM)、Windows Phone、Windows
8、BlackBerry(PAP)和Amazon(ADM)等多种操作系统推送消息通知的开源C#服务器端库。
主要特性:
- 支持多平台消息推送;
- API能够很流畅地为不同平台创建通知;
- 自适应信息频道(自动增加或减少消息链接);
- 使用异步代码,基于Event为导向调用类库;
- 100%代码托管,兼容Mono框架;
28. HockeyKit
此前在GitHub上“最受欢迎的Android开源项目”系列文章(一)中,我们曾对HockeyKit进行了详细的介绍。HockeyKit是一个用于iOS和Android下App更新的开发包,无论是iOS还是Android应用开发,它都深受开发者喜爱。
JTRevealSidebarDemo是一个能够实现类似于Facebook客户端和Path应用的视图切换效果的Objective-C库模板,其目的在于为开发者提供一个真正灵活的、可重用的解决方案。
JTRevealSidebarDemo可用于iOS 4.3和5.0应用开发,示例代码使用ARC构建,但该库本身则兼容ARC和非ARC。
PKRevealController是对ZUUIRevealController的进化ZUUIRevealController能够实现
类似
于Facebook客户端的视图横向切换效果。而PKRevealController则是一个iOS视图控制器的集合,能够让你实现多重控制器切换,非
常灵活。
GitHub上最火的40个iOS开源项目的更多相关文章
- GitHub上最火的40个Android开源项目(二)
21.drag-sort-listview DragSortListView(DSLV)是Android ListView的一个扩展,支持拖拽排序和左右滑动删除功能.重写了TouchIntercept ...
- GitHub上最火的40个Android开源项目
http://www.csdn.net/article/2013-05-03/2815127-Android-open-source-projects
- GitHub上最火的74个Android开源项目
GitHub上最火的74个Android开源项目 1.ActionBarSherlock ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库, ...
- GitHub上最火的74个Android开源项目(三)
此前,推出的GitHub平台上“最受欢迎的开源项目”系列文章引发了许多读者的热议,在“GitHub上最火的40个Android开源项目(一).(二)中,我们也相继盘点了40个GitHub上最受欢迎的A ...
- GitHub上非常受开发者欢迎的iOS开源项目(二)
"每一次的改变总意味着新的开始."这句话用在iOS上可谓是再合适不过的了.GitHub上的iOS开源项目数不胜数,iOS每一次的改变,总会引发iOS开源项目的演变,从iOS 1.x ...
- GitHub上最著名的Android播放器开源项目大全
GitHub上最著名的Android播放器开源项目大全 ...
- 看github上有18万star的第一开源项目如何教你学前端编程的
作为 Github | star 第一开源项目,已经超过18万 star:比之前最火的bootstrap的10万star还要多出8w,freeCodeCamp 越来越受关注,建站两年时间不到已经近40 ...
- Github上如何查看当前最流行的开源项目
先声明下:只针对初学者,大神的话勿喷. 针对题标的这个问题,按照如下步骤操作即可: 进入Github网站后,显示的页面如下所示: 点击"Explore"链接,进入如下页面: 页面上 ...
- 深度学习动手入门:GitHub上四个超棒的TensorFlow开源项目
作者简介:akshay pai,数据科学工程师,热爱研究机器学习问题.Source Dexter网站创办人. TensorFlow是Google的开源深度学习库,你可以使用这个框架以及Python编程 ...
随机推荐
- C++如何屏蔽双击运行程序功能?
问题描述: 我们开发过程中可能会经常遇到,需要屏蔽EXE的双击运行功能,只能通过宿主程序(Service或EXE)来启动.比如腾讯的迷你弹窗,就只能通过主程序来启动,而不能直接通过双击来运行. 实现原 ...
- spring mvc 和 jstl
spring ,jstl 在maven配置文件的配置:<dependency><groupId>org.springframework</groupId><a ...
- JAVA学习笔记 -- 数据结构
一.数据结构的接口 在Java中全部类的鼻祖是Object类,可是全部有关数据结构处理的鼻祖就是Collection和Iterator接口,也就是集合与遍历. 1.Collection接口 Colle ...
- MVC简单分页
对Car汽车表分页 实现简单分页,放在这里方便查看回顾,自定义每页几条有点问题,有待完善······ 1.新建mvc项目 2.添加linq to sql 数据库连接 3.添加CarBF类 using ...
- Python全栈开发
Python全栈开发 一文让你彻底明白Python装饰器原理,从此面试工作再也不怕了. 一.装饰器 装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为“ ...
- jdbcType与javaType的对应关系
java.sql.Types 值 Java 类型 IBM DB2 Oracle Sybase SQL Informix IBM Content Manager BIGINT java.lang.lon ...
- excel使用cube
- HBASE完全分布式模式的安装
1集群环境下hadoop.1.1.2已经安装成功 2配置hosts,及环境变量 3编辑hbase-env.xml 4编辑hbase-site.xml 5编辑regionservers文件 6把Hbas ...
- Selenium Webdriver ie 浏览器
webDriver 在测试ie 的时候会遇到很多的问题,记录下: 1.需要ie的driver驱动 需要下载 IEDriverServer.exe 并把这个驱动放在系统ie 的文件夹下 C:\Progr ...
- libcurl编程,整整17篇
http://www.cnblogs.com/lidabo/category/639633.html