zoukankan      html  css  js  c++  java
  • IOS常用第三方开源类库&组件

    1、AFNetworking

    AFNetworking 采用 NSURLConnection + NSOperation, 主要方便与服务端 API 进行数据交换, 操作简单, 功能强大, 现在许多人都用它取代 ASIHTTPRequest

    2、Apple Reachability

    网络监测,可以参考下这篇文章iOS网络监测如何区分2、3、4G?

    3、DOUAudioStreamer

    豆瓣的开源软件,DOUAudioStreamer 是 iOS 和 Mac 的基于核心音频的流媒体音频播放器

    4、FXBlurView

    iOS 模糊背景类库, 可以方便的根据底层显示的状态生成模糊效果

    5、GTMNSString+HTML

    谷歌开源的用于过滤HTML标签

    6、iCarousel

    iCarousel是一个类,它继承于UIView。用于简化实现各种类型的旋转木马(分页滚动视图)

    7、JDStatusBarNotification

    在状态栏顶部显示通知。可以自定义颜色字体以及动画。支持进度显示以及显示状态指示器

    8、libwebp

    可用于webp的移植,具体还是去看git吧

    9、masonry

    一个轻量级的布局框架, 同时支持 iOS 和 Mac OS X, 语法优雅, 帮助开发者快速适配不同分辨率的 iOS 设备

    10、MGTemplateEngine

    MGTemplateEngine 比较象 PHP 中的 Smarty、FreeMarker 和 Django的模版引擎,是一个轻量级的引擎,简单好用。只要设置很多不同的HMTL模版,就能轻松的实现一个View多种内容格式的显示,对于不熟悉 HTML或者减轻 工作量而言,把这些工作让设计分担一下还是很好的,也比较容易实现设计想要的效果。

    11、NJKWebViewProgress

    NJKWebViewProgress 是一个 UIWebView 的进度条接口库,UIWebView 本身是不提供进度条的。

    12、pop

    Facebook 开源的iOS 动画库, 集合了很多动画效果

    13、RegexKitLite

    用来处理正则表达式

    14、SDWebImage

    常用于对从服务器端接受到的图片进行缓存, 是 UIImageView 的扩展, 应用起来比较简单

    15、SSKeychain

    SSKeyChains对苹果安全框架API进行了简单封装,支持对存储在钥匙串中密码、账户进行访问,包括读取、删除和设置

    16、TTTAttributedLabel

    UILabel 的替代品, 使 iOS 上的 Label 功能更加丰富, 可支持链接植入等功能

    17、wax

    Wax 就是使用 Lua 脚本语言来编写 ios原生应用 的一个框架,它把Lua脚本语言和原生 Objective-C 应用编程接口(API)结合起来

    18、ZipArchive

    可用于压缩和解压缩文件

    为了了解一下目前第三方库的普及程度,下面列举一些知名App对第三方库的依赖。

    网易新闻

    AppleReachability
    ASIHTTPRequest
    EGOTableViewPullRefresh
    GTMNSString+HTML
    MGTemplateEngine
    MPOAuth
    RegexKitLite
    SDWebImage
    SSZipArchive
    wax

    Garageband

    MurmurHash
    libpng
    zlib
    SBJson (json-framework)

    iWork三套件

    MOKit
    Boost C++ Library
    protobuf
    OpenGL Mathematics
    SQLite
    cephes math library

    Pinterest

    AFNetworking
    AFHttpClientLogger
    Facebook SDK
    iRate
    MAKVONotificationCenter
    SDWebImage
    SFHFKeychainUtils
    SSPullToRefresh
    SVProgressHUD
    TTTAttributedLabel
    TTTLocalizedPluralString
    UIAlertView-Blocks

    多看阅读

    fmdb
    ASIHTTPRequest
    FreeType
    JSONKit
    Objective-Zip
    Skia (Google)
    MBProgressHUD

    淘宝

    MAZeroingWeakRef
    MBProgressHUD
    ABContactHelper
    ASIHTTPRequest
    CocoaLumberjack
    EGOTableViewPullRefresh
    fmdb
    GTMBase64
    JSONKit
    SBJson (json-framework)
    RTLabel
    SDWebImage
    SVPullToRefresh
    three20
    ziparchive

    微信

    cocos2d
    EGOTableViewPullRefresh
    Facebook iOS SDK
    JSONKit
    SBJson
    ziparchive

    QQ

    ASIHTTPRequest
    FMDB
    CocoaAsyncSocket
    JSONKit
    MBProgressHUD
    OpenUDID
    SBJson
    SVPullToRefresh

    百度地图

    AFNetworking
    GTMBase64
    JSONKit
    MBProgressHUD
    RNCachingURLProtocol
    SDWebImage

    微博

    ABContactHelper
    AFNetworking
    ASIHTTPRequest
    DACircularProgressView
    DDProgressView
    DTFoundation
    fmdb
    JSONKit
    SBJson
    MBProgressHUD
    MTStatusBarOverlay
    OpenUDID
    SFHFKeychainUtils

    人人

    cocoaasyncsocket
    ZipArchive
    MBProgressHUD
    JSONKit
    GTMBase64
    MKNetworkKit
    HPGrowingTextView
    zxing

    可以看到,这些大型的App的依赖都很混乱,所以稍微解释一下。这些大公司都有一个iOS团队来协同开发,团队成员的水平也参差不齐。有时由于历史原因,例如某个App的某个组件依赖了ASIHttpRequest,但之后的新人改用了AFNetworking,就造成上面这种比较混乱的库依赖关系。这就造成难以维护、代码冗余等问题了。所以,引入一个第三方库一定要慎重考虑,如果可能,尽量自己开发和实现相应的功能,第三方库尽量只作为参考。 小团队或者个人开发者可以不必过多考虑,开发速度优先。

  • 相关阅读:
    SQLServer 知识点
    Entity转换为ViewModel时提供的一种转换方法
    Linq中IGrouping转换为IQueryable
    封装整形属性时对应到枚举
    新的转换列表方式
    工作态度
    EasyFrame
    NewCloud
    将博客搬至CSDN
    Html的语义化
  • 原文地址:https://www.cnblogs.com/yate1996/p/4646392.html
Copyright © 2011-2022 走看看