1. 程式人生 > >iOS開發-常用第三方開源框架介紹(絕對夠你用了)

iOS開發-常用第三方開源框架介紹(絕對夠你用了)

影象:

1.圖片瀏覽控制元件MWPhotoBrowser        實現了一個照片瀏覽器類似 iOS 自帶的相簿應用,可顯示來自手機的圖片或者是網路圖片,可自動從網路下載圖片並進行快取。可對圖片進行縮放等操作。
      下載:https://github.com/mwaterfall/MWPhotoBrowser 目前比較活躍的社群仍舊是Github,除此以外也有一些不錯的庫散落在Google Code、SourceForge等地方。由於Github社群太過主流,這裡主要介紹一下Github裡面流行的iOS庫。 除了逛一下每日/每月流行之外,也可以到
這裡
來看一下整個iOS Repos的排名。 下面是一些比較流行的第三方庫: HTTP 相比較之下,AFNetworking是目前最優秀的一個了:輕量、易用、使用者多、開發者有在積極維護。在AFN出現之前,這個角色是由ASIHTTPRequest扮演的,只是到現在年久失修了。關於AFN和ASI的對比,這裡有一篇不錯的文章http://www.infoq.com/cn/articles/afn_vs_asi。除此之外,MKNetworkKitRestKit也有一定的使用者。 Socket CocoaAsyncSocket無疑是目前封裝得最完善的Socket庫了:支援非同步TCP/UDP,支援GCD,Objective-C介面封裝。。目前沒有發現可以與之相比的同類產品。。 JSON
JSONKit算是第三方中最優秀的一個了:效能很高,檔案少。在JSONKit之前,SBJson非常非常流行,但是SBJson效能夠差,只是由於歷史原因仍然存在在某些工程裡面。如果工程只需要支援iOS5以上的系統,那就可以放棄那些第三方Json庫了,直接用系統提供的NSJSONSerialization,效能比第三方的好,又是官方API。。 XMPP 現在做個實時聊天,XMPP協議算是很成熟的方案了。XMPPFramework一個很不錯的選擇,可以直接和OpenFire伺服器打交道。專案不大人手不多的話,可以看看這個。 基礎工具類 SSToolkit算是一個不錯的工具包,提供各種比如編碼、加密、字串處理等等東西,還提供了一些不錯的自定義控制元件,並且文件非常齊全。 框架
過去有很多人再用three20,這個東西太大太重,文件又少,到頭來連Facebook都停止維護了。作為替代品nimbus現在流行了開來,關鍵在於它文件齊全。國內有個MVC框架叫BeeFramework,號稱是頂級框架並且功能超過nimbus,有興趣的可以看一下。 ReactiveCocoa把響應式程式設計這種上流的東西帶了過來,值得試一試。。 資料儲存 還是挺多人(比如我)喜歡直接跟SQLite打交道的,這方面fmdb封裝的很不錯。如果用CoreData來做儲存的,可以用一下MagicalRecord影象處理 GPUImage無疑是這方面的集大成者了。用OpenGL ES2.0來實時處理圖片和視訊流,效能和功能都是頂尖的。 開發和除錯工具 PonyDebugger看上去是一個不錯的除錯工具,可以在電腦瀏覽器上遠端除錯iOS程式、檢視試圖層次、網路等等。CocoaLumberjack是個Log工具,號稱是可以提供企業級Log,使用者也挺多。 為了瞭解一下目前第三方庫的普及程度,下面列舉一些知名App對第三方庫的依賴。 網易新聞 Garageband iWork三套件 Pinterest 多看閱讀 淘寶 微信 QQ ASIHTTPRequest FMDB CocoaAsyncSocket JSONKit MBProgressHUD OpenUDID SBJson SVPullToRefresh 百度地圖 微博 人人 可以看到,這些大型的App的依賴都很混亂,所以稍微解釋一下。這些大公司都有一個iOS團隊來協同開發,團隊成員的水平也參差不齊。有時由於歷史原因,例如某個App的某個元件依賴了ASIHttpRequest,但之後的新人改用了AFNetworking,就造成上面這種比較混亂的庫依賴關係。這就造成難以維護、程式碼冗餘等問題了。所以,引入一個第三方庫一定要慎重考慮,如果可能,儘量自己開發和實現相應的功能,第三方庫儘量只作為參考。 小團隊或者個人開發者可以不必過多考慮,開發速度優先。 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 2014年8月7號新增 系統基礎庫 基礎功能
一個估計是java ee寫多了的人搞的。。註解依賴注入xx工廠之類的
 HTKit 一票亂七八糟的東西
模糊匹配字串 查詢某兩個字串的相似程度
正則表示式庫 (從SF.net mirror過來)
EGOImage裡面的 Cache功能
一個快取網路內容等的Cache
加密解密相關 貌似更上流, note:去看一下他部落格
一個ZipKit 從bitbucket Mirror過來
如同ZipKit 改為ARC了
Zip檔案處理 底層為libz
jQuery風格touch事件繫結
快速、執行緒安全的I/O儲存操作
日期的解析,格式化等,支援多語言
常見演算法的ObjC實現,包括排序、查詢、陣列、字串、常用資料結構..
框架/封裝
一個曾經用得廣泛的龐大的iOS開發框架 已不再維護
three20替代品 又一個龐大的框架
一套很龐大的庫(OmniGroup) 支援Mac和iOS 更新迅速
一套響應式程式設計的框架(Functional Reactive Programming) 支援Mac
 OCUDL 自定義literals 有點意思~~
 Kiwi 一個Behavior驅動程式設計框架? (BDD)?
一個Model層, 替代CoreData 可以生成Model物件~ Github官方出品..
 fmdb SQLite的封裝
通過OpenGL OpenAL來實現 WebCanvas JS等,很龐大~
為SQL程式設計師包裝一下CoreData
功能/封裝
一個包裝iAP StoreKit的庫
處理crach資訊的庫 只有上架應用才能用 支援Mac
一系列UIDevice的擴充套件 有PrivateAPI 最新的工程在cookbook-code裡
包裝了設定、URLScheme、Mail、Icon等東西
允許訪問剪貼簿中的WebArchive格式富文字
inApp的URL定義 在App內開啟自定義URL (解耦)
複雜的URL Scheme解析和路由
 Emoji 訪問Emoji圖片的功能
 Slash 對AttributeString的封裝
檢測某個App是否安裝,集成了常見的URL Scheme
網路 基礎
一個HTTP庫 同樣很知名 效能好,穩定 但已不再維護
一個非常簡單的http庫,包裝了NSURLConnection
一個HTTP庫 用來與RESTful的服務進行互動
用CoreData和AFNetworking 將HTTP資料持久化
判斷裝置網路情況 和蘋果的很像 用ARC、GCD
IMAP SMTP郵件協議
JSON
效能非常好 (只比Apple原生的差一點)
SBJson 曾經用得很廣泛的JSON 效能差
一個JSON庫 可以支援流解析 支援Mac
一個構建JSON Model的工具和庫
XML/Html
RSS Atom解析
 hpple 提供Html/XML解析
一個簡單的XML解析器 包裝了libxml
解析XML的庫 包裝了libxml
 TBXML 快速解析xml的庫
蠻好用的一個XML轉NSDictionary的類~
一個渲染Markdown到HTML的小引擎
在NSAttrbuteString和Html之間轉換
功能性
非同步載入網路圖片 (UIImage Category)
提醒使用者稍後到AppStore給你評分的功能
 iRate 類似appirater 提醒使用者稍後到AppStore評分 支援Mac
分享到國外的一些社交網站 的功能 用的的人挺多
 Harpy 新版本更新提醒
以類似CoreData的Model 來獲取網路資源
RoR風格的網路互動API
音訊
一個聲音庫 錄音放音 頁面上有CoreAudio的教程連結
 NVDSP 一個iOS上的DSP處理
 Finch 對底層的OpenAL包裝
音樂播放引擎 支援 flac, cue, mp3, m4a, m3u
 libpd 一個用PD來創造音樂的庫? 純C
一個Pad連線Midi裝置通訊的包裝
一個免費的音效庫 包括48個UI音效
轉換sfArk和sf2的庫 很簡單
簡單解壓sfArk的一個cpp
和上面sfArkXTm一樣,是老一點的純C版本
一個跨平臺的音樂軟體~ not iOS
一個SF2的處理庫(Github上有詳細說明) An Open SFZ player & SF2 based on SFZero
一個Linux下PCM庫 有sf2 midi等處理過程
較完整的App
繪畫的App,超棒,Appstore上架應用
一個完整的向量繪圖App,很棒,已上架
!!!超強大的App 可以讀取和演奏各種mod音樂 midi合成 解壓 下載 自帶龐大音樂庫~ 已上架
一個ffmpeg的播放器 ~~~ 需要先構建ffmpeg
基於iTunes Connect來檢視App銷售狀況
 baker 一套HTML5構建的ebook庫 貌似挺強大
一個iPad小畫板 3年前
從Appled的GLPaint改的
OSChina 開源中國 ..竟然挪到git.oschina.net去了。。
一個仿Fancy的客戶端 基於BeeFranework
一個Cocos2D的物理小遊戲 貌似內容挺豐富~
iOS顯示DocSets 可以下載iOS官方Doc~
一個newsyc.me的客戶端 (iPhone hacker News)
一個像Instagram那樣的圖片分享社群App
Twitter客戶端 古老的工程了
開發/除錯工具
iOS工程構建和測試工具,用於替代系統的xcodebuild (CI)
一套Debugger工具,可以在電腦瀏覽器上遠端除錯iOS程式~檢視試圖層次、網路等
一套Log工具,可以在電腦上通過client實時檢視NSLog,甚至是圖片和二進位制檔案 支援Android
 KIF 一套用Private API做的除錯庫,可以以使用者的方式測試(touch in xxx)
一套ObjC的測試框架
一套iOS除錯工具,在iOS介面裡顯示資訊
一套類似Log4j的東西,可提供企業級的Log~~~~
 Frank 自動化測試工具?
一個Debuger工具 用命令列除錯。。
在除錯時用命令列呼叫QuickLook來顯示圖片、UIView等
在App內顯示除錯資訊、執行除錯命令
一個模擬HTTP響應的除錯庫
一個可以在除錯時動態新增程式碼的工具 需要改動Xcode
除錯和把玩GestureRecognizor的
 cedar BDD風格單元測試
iOS5.1中,系統控制元件和App的圖片資源Dump 嗯..iOS7後就沒用了
舊程式碼 & 奇怪的東西
 DB5 通過plist構建介面的小東西
一套iOS的 Ad-Hoc升級框架.包含PHP服務端
一套類似原型製作工具
視訊跟蹤檢測 貌似挺高深
一些Fake系統圖標的App 還有一些裝置外框的圖片、觸控點圖片可以用
從執行時Dump出來的公有/私有 Framework頭 通過這個可以進行不同版本的對比
類似FontAwesome的東西,包含了一些國內網站logo
Mac Only
 gitx 一個git的圖形客戶端
一個Mac上的資料庫客戶端 支援Mysql Postgre Nosql Redis等
 twui 一個Mac的自定義控制元件庫,有類似iOS的Table和Tab,CA實現
一個Ruby程式,用來管理Cocoa庫依賴
 kod Mac上的程式碼編輯,Chrome風格,小巧快速
 slate Mac上視窗管理
 nu 一個包裝,用nu語言來寫東西?

相關推薦

iOS開發-常用第三方開源框架介紹絕對

影象: 1.圖片瀏覽控制元件MWPhotoBrowser        實現了一個照片瀏覽器類似 iOS 自帶的相簿應用,可顯示來自手機的圖片或者是網路圖片,可自動從網路下載圖片並進行快取。可對圖片進行縮放等操作。       下載:https:

ios開發常用第三方庫收集以及整理

1、RESideMenu 實現側邊欄選單 2、AFNetworking 實現網路通訊的第三方庫 3、一個有用的服務網站,提供各種JSON資料,包括天氣、電話號碼、身份證查詢等。。 4、Masony一個用來對VIEW進行佈局的三方庫 5、MBProgressHUD一個

Android常用優秀開源框架彙總

Android常用優秀開源框架彙總(一) 1.網路請求框架 okhttp OkGo 2.圖片下載框架 glide picasso   載入一般圖片 載入gif 圖片質量細節 方法數 快

iOS開發常用的加密方式介紹和使用

普通加密方法是講密碼進行加密後儲存到使用者偏好設定中鑰匙串是以明文形式儲存,但是不知道存放的具體位置 一. base64加密 base64 編碼是現代密碼學的基礎基本原理: 原本是 8個bit 一組表示資料,改為 6個bit一組表示資料,不足的部分補零,每 兩個0 用 一個 = 表示用base64 編碼之後

【Android實戰】----開篇(附Android開發常用開源框架)

終於還是要進行Android實戰開篇系列了,年初就說過要進行這個系列專題。Android是一個很大的話題,作為非資深Android開發工程師(只是兩年的Android系統開發及兩年app開發經驗而已),這裡只是將Android開發所需的基本只是及開發中所遇到的問題進行陳述,

常用圖片載入框架比較Glide、volley、Picasso

             Volley                      一、ImageRequest:                                    來對網路圖片進行請

iOS開發—執行緒之間資源共享以賣火車票為例—同步鎖的使用

      程序中的一塊資源可能會被多個執行緒共享,也就是多個執行緒可能會訪問同一塊資源,這裡的資源包括物件、變數、檔案等。當多個執行緒同時訪問同一塊資源時,會造成資源搶奪,很容易引發資料錯亂和資料安全問題。      為了更好的理解執行緒安全的問題,引入一個賣票的案例,同

ios常用的小技巧大全總有不知道的和到的

/*1*/ tempString = [tempString stringByReplacingOccurrencesOfString:@" " withString:@""]; /*2 */tempString = [tempString stringByReplacingOccurrencesOfStri

pandas常用功能與函式介紹結合例項,持續更新

import numpy as np import pandas as pd from Cython.Shadow import inline import matplotlib.pyplot as plt #matplotlib inline ###################1 or

[IOS開發]js與WKwebview互動Demo調取二維碼掃描

#pragmamark-WKWebDelegate -(void)userContentController:(WKUserContentController*)userContentContr

J2EE開發常用開源框架介紹

From: http://blog.csdn.net/kuyuyingzi/article/details/38351231 主要就我所瞭解的J2EE開發的框架或開源專案做個介紹,可以根據需求選用適當的開源元件進行開發。主要還是以Spring為核心,也總結了一些以前web

android mvp高速開發框架介紹dileber的簡單介紹

activity 數據 -c pos androi mod family 基於 ebe 今天我為大家介紹一款android mvp框架:dileber(https://github.com/dileber/dileber.git) 官方交流qq群:171443

android mvp高速開發框架介紹dileber使用之圖片下載工具

net com 例如 下載 pop bug span 介紹 launcher 這幾天忙著工作~ 今天抽時間又把框架的bug處理了一下~~並且把volley的源代碼改

iOS開發 常用框架demo

  總結了一些常用的demo,包括獲取驗證碼、AVPlayer、AFNetworking、Masonry、高仿微信、高仿網易、K線圖、折線圖、柱狀圖、手勢解鎖、TouchID、直播、動畫等,大家可以根據需要自取,大部分都是來自GitHub。 1、獲取驗證碼 http://

unity遊戲開發之ULua框架介紹

1.SimpleFramework框架配置檔案 (1)AppConst 檔案    在AppConst.cs檔案中配置了很多專案開發過程中,需要使用到的“公共常量資訊”。指令碼內的常量都有中文備註。所在位置是:Scripts/ConstDefine/AppConst.cs

unity遊戲開發之ULua框架介紹

1.基礎介紹 ①ULua 整合開發環境叫做:SimpleFramework,SimpleFramework 分為NGUI 和UGUI兩個版本,區別是NGUI 版本的框架資源中含有NGUI 這個外掛。SimpleFramework 本身不是Unitypackage 格式,而是一個Unity3D的專

iOS開發常用第三方類庫

轉自:https://blog.csdn.net/pleasecallmewhy/article/details/17149623 在iOS開發中不可避免的會用到一些第三方類庫,它們提供了很多實用的功能,使我們的開發變得更有效率;同時,也可以從它們的原始碼中學習到很多有用的東西。 Reach

android mvp快速開發框架介紹繼續dileber

繼續為大家介紹android mvp開源框架 dileber 官方交流qq群:171443726 我個人qq:297165331~~有什麼問題也可以諮詢~~ 這節5主要介紹 主要功能  presenter 和 delegate的使用 寫一個類繼承於AppVie

強烈推薦大家看這篇文章:iOS開發常用三方庫、外掛、知名部落格等等特別有用

Swift版本點選這裡歡迎加入交QQ流群: 594119878 使用方法:根據目錄關鍵字搜尋,記得包含@,以保證搜尋目錄關鍵字的唯一性。 引入評價機制:根據作者們的主觀評價,對庫是用"贊"、“很贊”、“非常贊”這3個評價伺候,便於大家在初次選擇庫時有一

讓微信小程式在瀏覽器和自己的App中執行--自己寫的一個開源框架FreeMina開發中。。

FreeMina: An open mina compatible framework for running in browser or webview. 一個相容微信小程式Mina框架的開源框架 從小程式的設計來看,微信正走向封閉生態。我們開發的微信