iOS development learning route

Beginner iOS Development

To put it bluntly, iOS intermediate development means that you have learned the basic UI interface construction, put it on the shelves, and settled for a period of time. You feel that you are still suitable for this industry, and you are also suitable for and accept this so-called iOS development engineer industry. You can say Is an intermediate iOS developer.
This precipitation time can be completed in about 1 year of actual work.
If you think this industry is not suitable for you, please carefully consider your own situation, whether to switch to another computer language, or completely switch careers .Do
you understand the implementation
principle of AFNetworking? Do you understand the principle of SDAutolayout/Masonry, a layout library.
Can you handle the basic iOS crash reasons/cannot compile reasons/cannot be put on the shelf? Do
you have a certain work efficiency and stable work efficiency. (And It's not to say that one of the above has survived, is busy, works overtime every day, and has a bunch of bugs)
whether it can handle crashes caused by third-party libraries.
Can it be well integrated into the working environment and complete the work indicators at each stage? , without making yourself exhausted. The use of
Xcode The flexible use of
third-party libraries The use of
AFN
MJRefresh
various websites
Instructions : As a junior iOS developer, you need to have the following skills:
Essential skills (all will be viewed in the case of Next)
How to judge whether it can be upgraded
Conclusion

Intermediate iOS Development

How to judge whether it can be upgraded?
Conclusion
Application memory processing
Application push processing
Application modularization/unit testing
Application third-party integration/centralized management/stable iteration
Read powerful third-party source code/have a quick start with new third-party libraries Ability.
Ability to accept the development of various new functions (here, even if you haven't done it, you can still solve any business needs by learning: for example: Bluetooth, AR, camera, hardware interaction, etc.)
Clearly understand the data How to transfer data, how to exchange data between application and background, the process of exchanging data, results, format.
Flexible use of multi-threading.
Processing of various concurrent events/and rationality/fluency of interface Flexible use of
design patterns.
Description: as As an intermediate iOS developer, you need to have the following skills
Required skills (see the next item if you know all)

Advanced iOS Development

Application componentization/architecture layering
Data structure, operating system, computer network have their own understanding and cognition
Shell script/python/Ruby/JS at least one.
Note: As an advanced iOS developer, you need to have The following skills (I am not an advanced developer, so I can only give you advice here.)
Required skills

Detailed study route

Learning Route
Introduction
Here only some conceptual things and learning route planning are briefly explained. For the real knowledge, please start from the basic knowledge of iOS. Introduction to
Objective-C Concepts
Compilation principles Program startup principles End programs. Monitor system event Info. plist .pch App composition Open the program Execute the main function Execute the UIApplicationMain function Initialize the UIApplication (create and set the proxy object, open the event loop) grammar. (The definition here may be a bit rigorous, oral teaching is the main) Basic grammar Object . Attribute Data type Method Inheritance Frame/CGRect/CGPoint and CGSize memory (introduced for the case of MRC) ARC/MRC weak reference/strong reference Difference between Assign, retain, copy, strong import and @class Xcode use


























The first is for the Xcode menu bar, I hope you can translate the English meaning of each function in each menu, which will help you to familiarize yourself with and deepen your impression of using Xcode.
Familiar with the various functions of Xcode.
UIKit controls.
Interface analysis (Download the App for learning).
Interface
adaptation Recommend interested developers here, download and analyze the top50 applications in each category in the AppStore, learn more about how big companies and popular applications develop applications, and the most popular ones , The novel way of developing the interface can be summarized, and guess how other programmers develop in large applications.
Code architecture.
Code architecture article recommendation: https://casatwy.com/iosying-yong-jia-gou- tan-kai-pian.html
The use of various tools and third parties.
In fact, the establishment of each project is roughly divided into: project framework construction, native interface construction, and third-party libraries embedded. There are many functions that use third-party libraries, Most third-party libraries exist for the purpose of rapid development and complete function implementation. Developers need to be able to select the best and best third-party libraries for use according to different business logic.
Code encapsulation
When using more third-party libraries Afterwards, developers are required to learn its development characteristics, as well as its encapsulation methods, and use them in their own projects to encapsulate their own code. Flexible use.
Complete projects.
Development skills
Personal experience

iOS basics

Basic knowledge of iOS
How to learn iOS
Begin to dabble in more than the knowledge in the iOS field. You will learn the basic knowledge of related positions, such as front-end and back-end or server operation and maintenance, or project-related knowledge, and move closer to your own career plan. See
more open source Or the specified third-party library.
Collect and read various blogs or forums of the great gods.
Start to consider the detailed optimization, memory processing and power consumption in the project. Lay a
good foundation and learn various common grammars in OC.
Learn how to put on the shelves and put them on the shelves If you will be rejected for what reason, learn about the rules of App listing.
Learn more about the official documentation.
Just getting started (how to learn),
just 1 year in the job (how to be stable),
3 years in the job (how to advance),
framework learning
AFNetworking
SDAutoLayout
YYKit
SDWebImage
MJRefresh
MJExtension
Bugly
Qiniu
Masonry
TZImagePickerController Hyphenate_CN
Third
-party framework
Apple 's own framework
Basic UI controls
UILabel Title bar
UIButton Button
UIImageView Picture view
UITextField Text Input Box
UITextView Text Display View
UIProgressView Progress Bar
UISlider Slide Switch
UIGesture Gesture
UIActivityIndicator Daisy Control
UIAlertView (iOS8 Abolished) Alert Box
UIActionSheet (iOS8 Abolished) Action Form
UIAlertController (iOS8 Appears) Warning View Controller
UIScrollView Scroll View
UIPageControl Page Controller
UISearchBar Search Box
UITableView Table View
UICollectionView Collection View
UIWebView Web Browser
UISwitch
UISegmentControl Select Button
UIPickerView Picker
UIDatePicker Date Picker
UIToolbar Toolbar
UINavigationBar Notification Bar
UINavigationController Notification View Controller
UITabbarController Select View Controller
UIImagePickerController Album
UIImage Picture
Using Xcode
Memory Monitoring
Global Breakpoints
Global Search and Replace
Interface Adaptation
StoryBoard
Interface Preview
Basic Operation Status Bar
Preferences
Xcode Source Control Source Code Manager
Xcode workSpace Workspace
Xcode Scheme Planning
Xcode AutoLayout Constraining
Xcode CoreData Database
LLDB Breakpoint Debugging
Data Storage
Sand Box Storage
NSDictionary Archive
NSUserDefault
CoreData
NSKeyedArchiver
SQLite
FMDB
plist
App Lifecycle
alloc
init
Create View
ViewDidLoad
ViewWillAppear
ViewDidAppear
ViewWillDisappear
ViewDidDisappear
View will disappear (do some UI processing when the view will disappear)
The view has disappeared (do some data processing after the view disappears)
viewDidDisappear destroy timer
dealloc
didReceiveMemoryWarning
controller life cycle
application life cycle
developer account & listing process
personal
company
enterprise
https://www.jianshu.com/p/6601a241da8e
https: //www.jianshu.com/p/7c98651d3532
https://www.jianshu.com/p/9b994a019ee6
Article recommendation:
Common knowledge
Response chain
Exception catch
Internationalization
Code modularization
Category /Extension
Difference between iPad and iPhone
Static library
Memory management
Quartz2D
real machine debugging
isKindOfClass and isMemberOfClass
Return/Break/Continue
Core Animation
CALayer
AutoLayout
KVC/KVO
predicate NSPredicate
Frame animation
Interface rotation + status bar hiding
plist file
Communication
NS series
Macro definition
View hierarchy
Switching view Deep and
shallow copy
Object serialization
Write file
Get sandbox path
Flip view
Extend view
Nine basic data types
Jiugong grid
Coordinate comparison between
UIColor, CIColor and CGColor The relationship of
drawing
static variable
tag value,
delayed execution method

Intermediate knowledge points

Design Patterns
UIScrollView/UITableView/UICollectionView Nesting
Dynamic Row Height
Notification/Agent/Block
Program Startup Principle
Touch Event/Gesture Mixing Runtime
NSRunLoop GCD ReactiveCocoa Develops 3DTouch Interface Rendering Charles Vase Capture Package Distinguishing Simulator/Real Machine Project Common Knowledge Block Bluetooth/sensor Physical emulator UIDynamic address book acquisition Audio /video/QR code Real machine debugging Apple in-app purchase/advertising Push/remote push Singleton mode Multithreading Network request Location Source code management Git





















iOS advanced knowledge points

iOS Advanced Knowledge Points
Socket
XMPP
Encryption
MD5 Detailed
Base64 Encryption and Decryption
RSA Asymmetric Encryption
AES Symmetric Encryption
Audio
Basic
Core Audio
Audio Toolbox
OpenAL
AVFoundation
Speex Voice Chat
AudioQueue/AudioSession
Speex Introduction
Video
AAC Video.H264 Push Stream
P2P Transmission
Live
RTMP Protocol
RTMP Live Application And delay analysis
If you do an inke version of the App
to publish and play RTMP
FFmpeg FFmpeg
-based streamer
HLS streaming media transmission protocol (HTTP Live Streaming) Technical analysis and implementation of
FFmpeg
ijkPlayer
live broadcast
Algorithm
Introduction
Bubble Sort
Quick Sort
Insertion Sort
Merge Sort
Binary Search
Hill Sort
Dynamic Programming
Heap Sort

Official Kit

ARKit.
SiriKit
HealthKit
HomeKit
SearchKit
IOKit
PDFKit
CloudKit
GameplayKit
SpriteKit
SceneKit
MusicKit
ResearchKit
MapKit
StoreKit
AVKit

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324668416&siteId=291194637