Current location - Training Enrollment Network - Education and training - How to get started with iOS development
How to get started with iOS development
One,

Preparatory work/about to start work

1.Mac, iOS device, developer account

These are all necessary for iOS development, and they are a lot of money, but don't be afraid to spend money, because they are all worth it. If you can learn something, you can get your salary back in a month or two. Think of it as your own "training fee".

2. Mental preparation

such as

If you are a zero-based switch to iOS, you must have the courage and determination to burn your bridges and be prepared for a protracted war. If you are afraid of your hands and feet, I advise you to come again after you have thought about it, so as not to wave.

It takes time and money. My income is very low. I bought a Macbook with three months' salary, and I worry about losing it or breaking it every day. Later, when I learned that I had achieved something, I resolutely chose naked resignation and came to a strange place alone.

Shanghai, after two months of unemployment, found a job. Along the way, I have been under great mental pressure and material pressure.

Second,

Learning route

1. Have a basic understanding of programming.

If you are completely zero-based, I suggest you have a basic understanding of programming first. It is suggested to start with C language, because C language is simple and easy to use, which is similar to Objective-C.

Video recommendation Netease cloud classroom

The course "Computer Professional System" is very suitable for entry.

Books, recommended "C.

Primer Plus”.

2. Goal -C language learning

When you have a general understanding of the C language, you can start learning Objective-C.

Recommended books:

Target c basic course

Object c programming

Note: the contents of these two books are almost the same, but the "Target -C Basic Course" is better and more classic. It is recommended to focus on this book for intensive reading. However, this book is more general and slightly more difficult, so if you encounter something you don't understand, you can look at Objective-C programming, which is simple and detailed.

Need to master and skillfully use:

1) Basic knowledge of object-oriented programming. Including: the difference between object-oriented and process-oriented, why object-oriented programming, the understanding and use of concepts such as class, object, inheritance, method, attribute and interface.

2) Basic framework. Mainly the skilled use of NSString class, NSArray class, NSDictionary class, NSNumber class and NSRange class.

3) Understanding and use of memory management principles MRC and ARC proxy, protocols, categories and blocks.

3.iOS SDK/ Cocoa Touch Learning

With the Objective-C foundation, you can start making apps while watching the Stanford open class (personally, it will be difficult to read this directly without the OC foundation). The video is as follows:

Stanford university open class cs193 p "IOs 7 application development" (target -C language)

Stanford university open class cs193 p "ios8 development" (Swift language)

Recommended books: mastering iOS development

The first iOS app:

Apple officially has a tutorial for making iOS apps-"Start developing iOS apps right away (start

Today, I strongly recommend this demo as your first iOS application, because this tutorial can give you a very comprehensive and detailed understanding of the structure of an iOS application. After completing this Demo, you can combine what you have learned in Stanford open class to create your own APP.

Need to master the place:

1) MVC design pattern. Only by understanding the MVC architecture of iOS can you dissect an application into independent parts, so that you won't be confused when starting a project.

2) 2) various controls of uikit. In particular, UITableView and UICollectionView must be mastered, because most iOS applications are built from these two views, and it will be interesting to understand them.

3) the navigation controller UINavigationController and the tab controller UITabBarController. As mentioned above, these two controllers are also the foundation of the UI framework of most iOS applications, and they are also the most typical example of multiple MVC working together.

4) Realization of scene switching. Skillful use of Segue is very important, because an application usually appears in each interface in turn. How to jump between two interfaces and how to transfer the data from one interface to the next are all problems that will be encountered in actual development.

5) The use of storyboards and AutoLayout. They are all indispensable parts of application UI design.

Other advanced programming of iOS. Including: data access CoreData/SQLite, multithreading GCD, drawing CoreGraphics, animation Coreimagination, network programming, gestures, multimedia AVFoundation, etc. These contents can be further studied in practical use.

7) Use of third-party libraries. Reference: What iOS open source projects are worth learning on GitHub? -Programming

4. Insist on writing code, checking documents and reading technical blogs.

To learn programming, you must be diligent, read more books and videos, and it is no use not to start coding. Even if you can't read a line of code in books and videos, it's important to knock on the code yourself to realize Demo. Programming can be done by hand, not by eyes.

In the process of learning iOS development, it's normal to have something you don't understand. Don't be afraid not to understand. Cocoa has many details, and WWDC releases some new technologies every year. Therefore, if you don't understand the knowledge, you must learn to check Apple's official API document: iOS Dev Center.

When making an APP, you must learn to use Google search if a place will not be realized, or if you encounter problems that cannot be solved. Generally speaking, there are similar problems about stack overflow for the problems encountered by newcomers to iOS, and it is basically accurate to check them.

In addition, articles on some technical blogs such as CSDN are also of great reference value. Recommend several excellent iOS technology blogs-list of Chinese iOS/Mac development blogs: tangqiaoboy/IOS blogcn github.

Third, write last words.

such as

If you can make an APP and find a job according to the above, it is basically an introduction. But this is not the end, this is just a new starting point. IOS development, and even the whole computer/Internet industry,

There is still a long way to go. Apple's entire cocoa framework can be described as extensive and profound, and there are too many things that can be dug deep inside; Moreover, there is no end to the optimization of a program and a piece of code. As a development,

Knowing only one language is not enough. Network programming, database, algorithm, design, interaction and so on all need to be mastered, and language is only a tool to realize these, and language is actually the simplest.

In addition, if you come from a non-professional class like me, you need to make up the basic courses of computer, namely: data structure, algorithm, operating system, database, computer network, compilation principle and so on. Because this knowledge is your "internal strength", these foundations directly determine your position in the ceiling of this field.

while

However, there is almost no big problem with the foundation. The most important thing is your love and enthusiasm for computers and the Internet. You need to have strong self-study ability and keep learning new knowledge so as not to be eliminated by this rapidly changing industry;

You need to keep a curiosity, keep trying and accepting new things, keep innovating, and people who are old-fashioned can't survive in this industry. In the process of my job search, those famous big companies shut me down directly on my resume.

I brushed it off, and those companies that gave me an Offer said that I was chosen because I appreciated my enthusiasm and valued my self-study ability.

So, if you are as passionate about iOS development as I am and dare to accept the challenge, then start working hard now, and I will wait for you on the road ahead!