github 上都有哪些值得关注学习的 ios 开源项目Word格式.docx

上传人:b****6 文档编号:19531781 上传时间:2023-01-07 格式:DOCX 页数:15 大小:29.58KB
下载 相关 举报
github 上都有哪些值得关注学习的 ios 开源项目Word格式.docx_第1页
第1页 / 共15页
github 上都有哪些值得关注学习的 ios 开源项目Word格式.docx_第2页
第2页 / 共15页
github 上都有哪些值得关注学习的 ios 开源项目Word格式.docx_第3页
第3页 / 共15页
github 上都有哪些值得关注学习的 ios 开源项目Word格式.docx_第4页
第4页 / 共15页
github 上都有哪些值得关注学习的 ios 开源项目Word格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

github 上都有哪些值得关注学习的 ios 开源项目Word格式.docx

《github 上都有哪些值得关注学习的 ios 开源项目Word格式.docx》由会员分享,可在线阅读,更多相关《github 上都有哪些值得关注学习的 ios 开源项目Word格式.docx(15页珍藏版)》请在冰豆网上搜索。

github 上都有哪些值得关注学习的 ios 开源项目Word格式.docx

可惜Three20库已死,主要作者跳出来,写了nimbus。

6.pop:

facebook/pop·

facebook出品的paper,动画效果太好了,赶超apple的原生app一大截。

pop就是paper的动画库!

7.GPUImage:

BradLarson/GPUImage?

?

iOS7出来时,很多好看的效果,其实都是对图像的各种处理(比如模糊效果)。

图像处理看来以后也是iOS开发的必备技能之一了。

而GPUImage,就是能快速处理各种图像效果的利器!

==========================================

好吧,我承认第一次知乎的回答有点惊喜,没想到这么多人点赞^_^大部分iOS的第三方库都是在苹果的基础框架之上的产物,所以基础很重要,有时间看看WWDC的历年视频,是不错的选择。

最近还是在深入学习ReactiveCocoa,看ReactiveCocoa的源码。

对响应式编程还是有很多期待的,有时间也要重温函数式编程(比如Haskell),或者把响应式编程的公开课(Coursera.org)看完。

编程范式的选择可以说是相当重要的。

未来是多核+并发的时代,函数式编程无疑是更好的选择。

iOS的UI也很重要,但是如果理解apple的CoreAnimation及CoreGraphics框架,大部分UI基本是没问题的。

当前,iOS7的各种炫酷效果,也需要对图像的处理有一定理解。

说到图形学,OpenCV是一个不错的选择,而OpenGL也是另一个不错的方向(推荐的公开课:

Interactive

3DGraphicsCourseWithThree.js&

amp;

WebGL)。

当然最重要的,还是计算机的各种基础知识了吧,知其然,知其所以然,才是正道~以上是个人的经验,欢迎交流讨论~编辑于2014-06-0218

条评论范文斌,最牛逼的图片社区iOS工程师

SongSophier、Charlie

Jade、何谢等人赞同

谢DavidChang邀请看了上面的答案,值得关注学习的开源项目其实还真没有几个。

首先,学习这类开源项目的主要目的是为了实现产品汪需求,如果不是这个目的,完全可以看ExploreGitHub,当前最火的开源项目都在这里,当然你需要过滤一下语言。

好了,介绍几个希望能帮助到你。

普通的iOS开发项目基本就是网络、本地存储+一些狂拽炫酷的动画,想想看是不是?

--------------------割---------------------网络AFNetworkingJSONKitReachabilityEGOTableViewPullRefresh

LoadMoreTableFooterView网络请求首选AFNetworking,无数个项目证明,只选对的。

解析JSON数据推荐JSONKit,而且优势相当的明显,解析速度拉SBJson好几条长安街。

以前发现过好多次由于SBJson引起的crash,如果还在用SBJson,那请继续。

Reachability也要用起来,时不时检查一下网络状况,然后配合MBProgressHUD告知用户「亲,你丫现在没网啦,别特么戳了。

」EGOTableViewPullRefresh是用来下拉刷新的啦,同时配合上LoadMoreTableFooterView(加载更多)就齐活了。

--------------------割---------------------本地存储FMDBCoreDataSDWebImageTMCache第一次开发中引入数据库的时候使用过FMDB,其实蛮强大的,只不过需要写sql语句,select*fromuser(从user表中筛选出全部数据)。

后来慢慢的抛弃了它,一点也不面向对象。

好吧,其实我是想说还是CoreData好用,至少你不会因为不会写sql而没法保存数据。

(接手过的项目竟然还有全部存NSUserDefault的,真是没脾气了)看过一篇对比CoreData和FMDB查询大数据性能的文章,FMDB赢了,不过还是推荐用CoreData。

至于SDWebImage,同样也是早期使用过,和SBJson一样,会有crash,尽管用它来缓存图片很方便,但是我们有更好的解决方案,同样不推荐。

年前的项目中CTO推荐了我们TMCache,tumblr团队使用的一个缓存项目(科普时间:

tumblr是国外的轻博客服务,随后国内就出现了点点等同期产品),有时间可以去了解一下,目前应用的不是特别多,当然啦,对我来说。

--------------------割---------------------动画效果MBProgressHUDpop上面说到的没网了提示用户的MBProgressHUD,用起来吧,当然还有很多转菊花(loading)的开源项目,同样是我使用最多的。

pop是facebookpaper使用的动画效果,开源了出来,很赞啊,不过应用到项目中的可能性很低。

太特么炫酷了。

--------------------割---------------------其他

第三方库管理工具,CocoaPods,有时间可以学习一下。

CocoaPods

GitHub

Githubrepos(iOS)这是一个收集了很多iOS开源项目的页面,给作者赞一个。

有不完善的地方欢迎指出,我会及时补充上来。

编辑于2014-05-0719

条评论罗轩,iOS开发者

王磊、应元贞、匿名用户等人赞同

谢邀。

首先告诉你github上搜索所有库的方法(trending只显示25个):

在搜索框输入stars:

&

gt;

1,回车,再选择语言,和排序(可以试下moststars)。

以上方法适合没有目标的学习,你可以自己挑感兴趣的看。

不过,我推荐的还是,需求为主导,需要用到什么库,就去找什么库。

先分析该功能自己会怎么去实现,然后看看开源库是怎么实现的,相互印证,这样子进步很快,关键是印象深刻。

然后下面是我觉得不错的一些开源项目:

nimbus:

框架,文档很齐全,好像比Three20要火一些了。

jverkoey/nimbus·

GitHubAFNetworking:

HTTP网络通信库,不多说,超棒。

AFNetworking/AFNetworking·

GitHubRestKit:

HTTP库用来与RESTful的服务进行交互。

RestKit/RestKit·

JSONKit:

json库,传说比官方的性能要好,我自己没验证。

johnezang/JSONKit·

GitHubSDWebImage:

异步加载网络图片的库,使用超级简单,功能超级强大,也没得说,值得看源代码。

rs/SDWebImage·

GitHubcocos2d-iphone:

2d游戏引擎,想开发游戏可以学学。

cocos2d/cocos2d-iphone·

GitHubMBProgressHUD:

很实用的HUD,和官方几乎开不出区别。

jdg/MBProgressHUD·

GitHubTMCache:

缓存数据,可以缓存到memory或者disk,个人觉得挺不错的。

tumblr/TMCache路GitHub

就说这么些吧(大家推荐的其实都是那么一些),主要还是自己用,自己去体会。

ps.第三方库管理工具,CocoaPods非常好用,方便快捷。

http:

//cocoapods.org/编辑于2014-05-01添加评论李富强,iOS/Android

魚伯、CamChe、祝宏等人赞同

谢邀,第一次受邀请,哈,虽然只是很多人之一,但是还是感到有些小激动

===============================================

我个人觉得类似UI效果的东西,就不需要自己去整理记录了,推荐几个网站:

1.Code4App,这个网站刚起步的时候我基本不上,习惯于自己使用书签整理,不过后来发现里面的编辑非常用心,而且整理归纳很有序,可以节省我大量的时间,我才开始使用

2.,这个应该是code4app的国外原型,我很早之前就经常上,里面的内容做的也很不错,总体项目水平选的要比code4app高上一些

3.开源中国,国内很不错的开源社区,上大学的时候就一直在看了===============================================

iOS值得学习的类库的话,我可以推荐几个我自己认为写的并且读过的一些源码,这些源码都对我自己在进行iOS开发过程中有很多的帮助和提升,希望能给你提供一些有帮助的地方:

一.XMPPFramework:

robbiehanson/XMPPFramework·

GitHub,这个如果是做过聊天的通信通信可能会用过,本人因为工作原因,两年前第一次接触这个代码,就对这个大牛非常崇拜。

代码值得学习的东西非常多。

作者在开发这个框架的时候,同时也开发了非常多的基础库,都非常值得学习。

1.首先是插件是框架设计,设计的非常优雅,功能强大易扩展,而且写的很简洁,易懂。

2.作者基于GCD设计的一对多的delegate机制--GCDMulticastDelegate,后来在项目中我尝试使用过这个框架,多个模块依赖于某一个核心组件,使用这个类,可以把耦合问题降到很低,值得推荐。

3.CocoaAsyncSocket,robbiehanson/CocoaAsyncSocketGitHub,这个是让本人又无比崇拜的一个类库,作者根据iOS平台的特性,实现了两套异步socket网络库,一个基于GCD与POSIX

Socket开发的socket异步网络库,另外一个是使用CFSocket与runloop实现,我曾经尝试去阅读这个类库,不过后来发现自己能力实现有限,只能看个大概的轮廓。

4.CocoaLumberjack,CocoaLumberjack/CocoaLumberjackGitHub,这个是作者写的一个log系统,实现了分级别的日志系统,不过本人没有使用和学习这个,我们项目没有那么复杂,我是自己使用宏和NSLog写了一个分级别显示的日志系统,只能用于打印,不能像这个日志可以写入文件。

5.KissXMLrobbiehanson/KissXMLGitHub,我们平时一般使用json格式的数据,除了组装xmpp聊天消息,对这个没有怎么使用过,不敢评论。

二.AFNetworking:

GitHub,毫无疑问,最火的网络库,本人11年开始做iOS开发的时候,是使用ASI的,一直没有使用过AFNetworking,直到12年的时候,发现ASI作者基本不更新ASI之后,才开始关注这个项目。

ASI是基于CFSocket实现的HTTP网络库,作者功底之强,跟上面的老大一样让人拜服,而AFNetworking是基于NSURLConnection,以及iOS7之后出现的NSURLSession为基础开发的。

由于AFNetworking基于Apple的封装,少了很多需要自己维护的地方,而且整个项目也会非常整洁,可能效率上也会高于ASI的封装。

建议可以把整个项目过一遍,框架设计思想不用说了,里面也可以学习到非常多的技术点。

1.NSOperation的封装与使用,面试的时候很多人只知道apple有NSOperation这个技术,但是实际上使用的机会并不多,只知道是个队列,但是对于如何使用并不知晓。

可惜的是,这个只提供了如何使用进非并发Operation的封装。

完整学习的话,可以学习ASI中对operation的使用,会更完整一些。

2.HTTP请求的封装,如何封装POST请求,如何进行URLencode,如何使用NSInputstream,可以对HTTP理解有个突破。

同时可以学习一下NSURLSession与NSURLConnection的使用。

3.Runloop的使用,建议与ASI实现同步请求的方法进行对比,有条件的话可以跟android的looper机制进行对比,说不定什么时候会使用到,实际xmppframework中也有用到,只是不是核心机制,而且本人没有研究过。

本人从11年做iOS到现在,只是使用到过一次,是需要自己实现一个OpenGL的渲染队列,由于需要在子线程中做渲染,无法使用CADisplaylink。

刚开始其实是使用GCD的,但发现即使我创建一个dispatch_queue_t,也无法保证block是在子线程中被执行,而且还有较为复杂的内存管理问题,最后使用NSThread与runloop才解决问题。

三.SDWebImage:

rs/SDWebImage·

GitHub,不需要多说,这个框架写的非常简洁,也是读这个框架,让我明白什么是缓存机制,以及如何做面向对象的封装设计,我之后有的场景也需要自己去设计一些cache,每次都是借鉴这个框架实现,能力有限,自己实在想不出比这个设计思路好的地方,只能借鉴别人的做法。

我觉得这个项目还有一个非常值得推崇的地方,就是对category的使用,这个是我今年之前一直忽略的非常重要的设计模式,太适合团队开发了,&

lt;

cocoa设计模式&

上讲的东西,做到现在我才明白怎么回事,可以对比Android使用网络图片,你会发现OC的category真方便。

四.EGOTableViewPullRefresh:

enormego/EGOTableViewPullRefreshGitHub,本来不打算说UI方面类库的,但是这个必须说一下。

建议读一下这个的源码,以及如何使用,对iOS

UI开发有很大提升,这个类库写的很简洁,可以帮助理解delegate机制以及Protocol的概念,还能加深对UIScrollView的理解,推荐读一下。

五.TheElements:

TheElements,这个是apple的官方示例代码,每次我朋友问题如何学习iOS的时候,我总会推荐这个samplecode,这个代码让我对iOS开发的理解有个很大的突破。

里面并没有使用大量的storyboard和xib隐藏细节,并不是说只能用纯代码做事情,而是可以让人看到里面很多的实现细节,加深理解。

读这个代码,我才明白什么是apple说的MVC,还有一个xcode工程到底是如何从main函数运行起来的,非常强烈推荐阅读学习。

一不小心写了这么多,擦,但好像并没有说太多的开源工程项目,如果楼主是需要开源项目资讯的话,可能提供不了多少帮助,见谅。

这个更多的是我自己的学习开源项目一部分总结,我也没想到会写这么多,最后希望能楼主带来一些小帮助。

编辑于2014-05-132

条评论雨中泪雪人,码农,IOS开发

韦斯泰、赵玉豪、张帆等人赞同

请关注facebook的开源项目,个个都是精品发布于2014-04-303

条评论刘绪斌,ios屌丝开发爱好者

席德雨、爱德华、周守航等人赞同

优秀的开源库现在有很多,这里有一种比较方便的筛选方法:

通过cocoapod的search功能在开发的时候快捷地找到类似的库。

例如:

podsearch"

label"

能搜到很多和label想着的开源库。

然后通过版本情况,可以初步鉴定哪些库是用的比较广泛的,search结果会列出github的地扯,如果觉得不错,可以打开链接去看看。

下面回答问题:

(所有库名,均在直接在github或cocoapod直接搜索得到,就不引用链接了)AFNetworking:

目前最流行的网络请求库了,不解释。

AFDownloadRequestOperation:

对AFNetworking的断点续传的补充

MagicalRecord:

很牛逼的coredata的封装,支持多纯种,4600多个star足以说明其实用性。

3.0版本修复了原来2.0版本多线程的一些问题。

json解析,解析效率比较高。

JSONModel:

json转换成model,自从使用这个封装json,妈妈再也不用担心json解析crash了。

谁用谁知道。

(注:

Mantle上面也推荐了,和JSONModel差不多,不过我没用过,不作评论)

SVProgressHUD:

简单好用的Loading库,可以有个小icon。

MBProgressHUD:

功能很强大,提供了graceTime,minShowTime可以在加载很快时,不显示loading。

GVUserDefaults:

如果你使用UserDefaults来存储数据,请使用这个,直接声明property就行了。

iOSBlocks:

使用它,使你很好地理解为什么:

“block实现了编程之美”

UIView-Positioning:

UIView的坐标设置变得那么简单,three20时,就有类似的一个category。

FXNotifications:

支持block的NSNotification,iOSBlocks的补充。

KIF:

测试库,QA可以了解一下。

CocoaHTTPServer:

在客户端搭建轻量级服务器,用于文件传输等功能。

CocoaLumberjack:

很好一个日志输出控制库。

一些比较流行的UI。

(直接引用原文内容了,没啥好解释的)

iCarousel:

Asimple,highlycustomisable,data-driven3DcarouselforiOSandMacOSFPPopover:

AnalternativeAPIforNSNotificationCenterthatdoesn'

tsuckRESideMenu:

iOS7stylesidemenu值得深读源代码的:

pop:

facebook开源动画库,最近很火

Tweaks:

facebook开源库,可用于配置UI之类,感觉可以运用在换肤。

ReactiveCocoa:

cocoa响应式编程,新的一种代码风格,非常值得学习。

好了,暂时就这些,得去吃饭了。

======================================

补充一个github地址:

2014-08-06添加评论王炼,iOS开发工程师

小七木、寻梦人寻梦人、顾宗祥等人赞同

泻药。

上面已经推荐得够多,我来说下自己用过的。

1.0xced/iOS-Artwork-Extractor提取iOS中的图标资源。

2.rs/SDURLCache私人订制URL缓存。

之前项目要求用UIWebview来实现Native效果,网页中的资源文件会预下载。

当WebView请求外部资源时,会根据URL查询并优先使用本地缓存。

3.marcuswestin/WebViewJavascriptBridgeUIWebview里的Javascript与Native代码交互。

4.BradLarson/GPUImage图片的滤镜处理。

从中学习opengles的用法,以及shade脚本的写法。

5.robbiehanson/CocoaHTTPServer手机上的服务器。

某视频播放项目,player不接受本地路径的视频文件,需要http服务器作中转

6.TheAmazingAudioEngine/TheAmazingAudioEngine功能强大,特别是在音效处理,对AudioBus支持很强。

使用AudioUnit的底层API。

开始在某语音直播间项目中应用,需要频繁切换录音和播放状态,TAAE不支持,勉强修改,依然Bug不断。

后来换成自己写的一套AudioUnit实现。

7.supermarin/ObjectiveRecord对CoreData进行封装,但不是线程安全的,只用在mini

App中。

编辑于2014-05-05添加评论ha楼,iOS开发者,

AngkorWu、韦斯泰、朱鹏飞等人赞同

=游戏类==================================================

2048iOS版本ik/2048·

2048[Siwft]austinzheng/swift-2048·

2048[ObjC]austinzheng/iOS-2048·

flappybird[Siwft]fullstackio/FlappySwift·

==================================================

iOS8特性学习实例集合[ObjC]shu223/iOS8-Sampler·

iOS8特性学习,目前已经有28Day的[Swift]ShinobiControls/iOS8-day-by-day·

==================================================[广告]iOS走马观花-iOS开源代码快速浏览编辑于2014-09-20添加评论西瓜,iOS

dev

夏怀沙、王小帅、李永杰等人赞同

最近开源的facebook的pop大家都说不错

我自己用过觉得不错并且更新很活跃的,推荐SDWebImage这个库,里面有UI,动画,多线程,储存,网络等相关的多种技术,很合适拿来学习。

这个库星星也很多

其他的嘛,直接在github搜索然后星星多的,应该都会不错发布于2014-04-30添加评论唐伟,不会造轮子的程序员

ha楼、林永坚Jake、冯威风等人赞同

前面有人回答过了这个收集的较全:

Githubrepos

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 临床医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1