IOS SDK Library
1.Foundation
Cocoa is not a programming language (it can run multiple programming languages) and it is not a development tool (we can still develop cocoa programs via the command line), which is the native object-oriented API for creating Mac OS X and iOS programs, providing a programming environment for both applications.
We are often referred to as the "Cocoa framework", in fact cocoa itself is a collection of frameworks that contain many sub-frameworks, the most important of which are "Foundation" and "UIKit". The former is the foundation of the framework and is independent of the interface, which contains a large number of commonly used APIs, the latter being the underlying UI class library, which we will use frequently in iOS development.
2.CoreGraphics
The main engine for drawing on Quartz 2d:ios is a set of two-bit drawing and rendering APIs.
Core Graphics: It supports graphical contexts, loading images, drawing images, and so on. The Core Graphics uses the system's coordinate systems to draw pictures.
Core Animation helps developers implement animated frameworks on iOS.
3.CoreLocation for positioning
Mapkit for displaying maps
4. Cfnetwork
Cfnetwork is an underlying C-based framework provided by Apple in the core Foundation, which encapsulates the BSD socket of the lower OS layer, and the well-known network Framework ASI Network request is the encapsulation of the cfnetwork. Cfnetwork mainly relies on two api,cfsocket and cfstream,cfsocket primarily for communication at the bottom of the network, while Cfstream includes Cfreadstream and Cfwritestream, Used to read and write to the socket, respectively.
5.CoreData
Third-party library Afnetworking,mknetworkkit,asihttprequest,fmdb,zxing,zbar,sdwebimage
Zxing is an open source, Java-implemented, multi-format 1d/2d barcode Image processing library that contains ports that are linked to other languages. Zxing can be implemented using the phone's built-in camera to complete the barcode scanning and decoding.
Zbar is also a class library that scans two-dimensional codes written in C language.
ASIHTTPRequest is using the HTTP network request API in the iOS SDK, which is quite complex and cumbersome to call, ASIHTTPRequest is a set of APIs that encapsulates the Cfnetwork API and is very simple to use. Written in Objective-c, it can be used in Mac OS x system and iOS platform applications. ASIHTTPRequest applies to basic HTTP requests, and to the interaction between rest-based services.
Previously, ASIHTTPRequest was used as a network library, but since it stopped updating, there could be more problems on the iOS7 and decided to replace the network library.
At present, the most popular network library has afnetworking and Mknetworkkit, after some Google, the three libraries to obtain the following comparison:
|
Afnetworking |
Mknetworkkit |
ASIHTTPRequest |
Update status |
Relatively many maintenance and users |
Relatively few maintenance and users |
Stop updating |
Support for iOS and OSX |
Is |
Is |
Is |
ARC |
Is |
Is |
Whether |
Breakpoint Continuation |
No, you can use Afdownloadrequestoperation |
Is |
Is |
Synchronizing asynchronous requests |
Supports only asynchronous |
Whether |
Is |
Picture cached to Local |
No, by Sdurlcache or Afcache |
Whether |
Whether |
Picture Cache to Memory |
Is |
Is |
Whether |
Background download |
Is |
Is |
Is |
Download progress |
No, you can use Afdownloadrequestoperation |
Is |
Is |
Caching offline requests |
No, by Sdurlcache or Afcache |
Is |
Whether |
JSON, XML |
Is |
Is |
Whether |
According to the above comparison, afnetworking although compared to the Mknetworkkit function is weaker, but it is more extensible, and more maintenance, in the long run better than Mknetworkkit.
Frequently used iOS SDK libraries and third-party libraries