ASIHTTPRequest和FMDB已经没有人用了么?

megan 发布于 2013年12月11日
tinyfool 等1人欣赏。

亲爱的亲们,你们平日里写代码有用这些开源的库的么?还是完全都是自己参照着写自己的库?对于这两个库不再维护,也越来越少的人用,你们怎么看?

共26条回复
tinyfool 回复于 2013年12月11日

@sycx 大师来说两句

sycx 回复于 2013年12月11日

ASIHTTPRequest 是很老的库了,作者老早就决定停止开发了, 个人推荐用AFNetworking 或者 MKNetworkKit

FMDB我没用过,你可以找找更新的替代品

akunamotata 回复于 2013年12月11日

用用还是可以的,不过就是性能差了些貌似。。。

vikiliu0310 回复于 2013年12月11日

fmdb之前使用过~,但应该不少新的SQLite库吧

adad184 回复于 2013年12月11日

一直在用MKNetworkKit

清醒疯子 回复于 2013年12月11日

2楼 @sycx

下载下来敲敲,谢谢:)

nickel 回复于 2013年12月11日

我在用ASI,库确实很老而且停止开发,如果新用最好用还有支持的库。

从功能来说ASI完全没有问题,也几乎没什么bug(最新用在iOS7需要要自己做补丁处理一个内存泄露)。之前看CocoaChina里一个分析说,ASI相比AFN用的是更“底层”一点的接口,所以效率稍快,但是最大问题是没有后续维护,也不支持ARC。所以如果你现在才开始用,最好不要用。

megan 回复于 2013年12月11日

2楼 @sycx 恩恩,也就是说像MKNetworkKit这样的库还是蛮多人用的哈。为什么不自己封装呢?

megan 回复于 2013年12月11日

5楼 @adad184 赞一个,现在很多人都用这个。

megan 回复于 2013年12月11日

7楼 @nickel 嗯。谢谢你的建议,很中肯。我只是觉得这么优秀的库,就这么废弃了怪可惜的。

megan 回复于 2013年12月11日

4楼 @vikiliu0310 嗯,MagicalRecord这个就很不错。

megan 回复于 2013年12月11日

1楼 @tinyfool 很感谢tinyfool,每次又疑问,都是你第一个站出来。真的灰常感谢

megan 回复于 2013年12月11日

3楼 @akunamotata 你说的性能是指哪一方面呢?

akunamotata 回复于 2013年12月11日

13楼 @megan 访问网络资源耗时,很早之前看过一篇性能分析对比,有提到过。。。

混迹魔都的码农 回复于 2013年12月11日

3楼 @akunamotata 大哥 目前ASIHtpp性能比AFNetworking MKNetworkKit都要好。。。

akunamotata 回复于 2013年12月11日

15楼 @混迹魔都的码农 可能我记错不是这个库。。。

megan 回复于 2013年12月11日

16楼 @akunamotata 能找到这篇“性能分析对比”的文章?

akunamotata 回复于 2013年12月11日

17楼 @megan 不能,很早之前看的,现在找不到。

gb18030 回复于 2013年12月11日

如果项目要支持老版本iOS,那么AFNetworking只能用2.0之前的版本

nickel 回复于 2013年12月11日

对比文章

http://www.infoq.com/cn/articles/afnvsasi/

http://blog.csdn.net/zhaoxy_thu/article/details/9265287

“而ASI在这方面显得更原始,没有针对任何数据类型做特别封装,只是预留了各种接口和工具供开发者自行扩展。ASI比AFN提供更多扩展功能还有一个原因,它把许多内部用到的功能也抽象成类和方法。” 这倒是我更看重的东西。至于ARC和面向XML/JSON等的封装对我来说意义不是很大。

nickel 回复于 2013年12月11日

另外,如果只是做图片下载和缓存的话,直接用SDWebImage就可以了。

akwei 回复于 2013年12月11日

以前遇到一个ASI的问题,就是循环调用同一个url,会有多次timeout。换成AF之后就没问题了。 fmdb挺好用,不过我还是写了一个简单的orm库,用起来比fmdb更方便一些吧。

AF唯一不爽的地方,就是不支持同步方式,只支持异步。我封装成了同步之后用的。因为我有很多逻辑是在一个异步请求中访问多个不同的url。如果直接用AF,写代码太痛苦。

nickel 回复于 2013年12月11日

22楼,“就是循环调用同一个url,会有多次timeout”这什么意思?为什么要循环访问一个URL(我猜你说的是访问不是调用吧)。即使是,那分别收到对应次数的timeout或者回复是非常合理的,没收到才是错的。每个请求都是独立,没理由多次访问同个连接要被硬生生当成一个请求,这才不合理。我倒不清楚AF为啥要这样做。ASI相对AF来说更“底层”一点,没有对太多应用逻辑进行封装,只是比较严格实现了HTTP协议规定的事情,以及满足一些常规的需求。这可能与库设计者的出发点差异有很大关系。

myrual 回复于 2013年12月11日

异步方式的AFNetworking多好啊,界面不就是异步的么?

megan 回复于 2013年12月12日

21楼 @nickel 谢谢你,你讲述得很详细。真的很受益。

pinxue 回复于 2013年12月13日

ASI 是基于 CFNetwork 做的,后来的都是基于 NSURLConnection的。 ASI 的接口设计得更容易理解一些,性能上也略好一点,但是基于 CFNetwork 的实现要做细节太多,作者维护了3年之后终于受不了鸟,老项目估计都会继续用,新项目还是考虑一下 AFN/MKN 吧。

大部分情况下,FMDB 不如直接上 CoreData 了。

本帖有26个回复,因为您没有注册或者登录本站,所以,只能看到本帖的10条回复。如果想看到全部回复,请注册或者登录本站。

登录 或者 注册
相关帖子

[顶 楼]
|
|
[底 楼]
|
|
[首 页]