How iOS developers learn truth: a long journey

Source: Internet
Author: User
Tags passthrough version control system

When I had my kids shoes, I asked my iOS Developer If the entry standard was Shenma? It's hard for me to solve this problem, and if I rush to give an answer, there will surely be thousands of experts.

Immortal, immortal, Taoist. When we are still a waste of water and sweat on the slate, sometimes the fairy who occasionally fly by the sword may pass by in the sky. The golden sunshine shines on the Swordsmanship dancing with the wind. At this time, you may feel an impulse to become such a master one day and fly freely. It's just a long journey, and it's a long journey. It takes too much effort to turn from a day after tomorrow to become a great god.

I personally belong to the external disciple of iOS development. I am getting started. So let's take a look at the answers provided by the Internal disciple of iOS development.

For more information, see the pdf document.

Objective-C Language

To learn how to do this, you must be in the palace first! Unless it is the reincarnation of the immortal, any real person must begin with the most basic and painful refining. The Objective-C language learning can correspond to the refining or acquired realm of the practitioners. After the painstaking efforts of the realm of the day after tomorrow, a real person can easily defeat several common hooligans, but when a dozen or more people flock together, hurry and escape.

To learn iOS development, you must first learn Objective-C! The main programming language used in iOS development is Objective-C. Although C and C ++ can be used for mixed programming, Objective-C is the core part.

Including:

Basic class and Inheritance of object-oriented programming, scope of variables and methods, basic concepts and classifications of MVC)

Methods and function messages, class definitions and attributes, and mixed programming with C/C ++)

Memory Management strong/weak, automatic ARC reference counting, automatic object release)

Code design mode Block statement, Target/action, Protocol)

UIKIT view level, draw events, touch events, and animations)

Multimedia configuration, AVFoundation, C language API)

Core iOS7 class library

The programming language is only the foundation, and the real development tool is the core class library of iOS7. Mastering the Objective-C language only changes you from an ordinary person to a chivalrous guest, but there is still a long way to go from being a real expert. The core iOS7 class library must be mastered from the step-by-step promotion of only understanding the refining of the body to the practice or innate realm of the enemy.

Including:

Camera and microphone

Social networks and sharing

CoreData data persistence

Foundation, including Application loop), Threads thread), Networking network ).

MapKit, that is, how to use a map

Passbook, that is, integration with the Mobile Payment System

CoreLocation: how to find the location you love

Bluetooth and Bluetooth modules. If you want to develop peripheral hardware devices, this is essential.

Notifications, message pushing, including Local and Push (APNS) pushing

CoreMotion, such as Gyroscope-related things

GameKit, related to third-party game device controllers)

SpriteKit, similar to cocos2d 2D Game Engine

Third-party dependent Database Management

After being promoted to the ground, a real person is separated from low-level interests and becomes a real member of the team. Although its own perception and cultivation of Heaven and Earth Avenue are fundamental, if there are a few spirit, fairy or even artifacts in hand, whether it's a magic weapon to protect your own body or a tool that makes the enemy feel chilling, it can make you laugh on the road to cultivation.

For iOS developers, they are good at using the power of third-party class libraries to implement various features of their products, just like a real-person holding a magic weapon. It is hard to handle more magic weapons. The so-called wealth is not exposed, and it is a secret to show off wealth with a lot of magic weapons. At this time, a bag of storage that can hold everything becomes a dream of the real person. Fortunately, CocoaPods is more amazing than the real person storage bag. You only need to use CocoaPods to automatically include various excellent third-party class libraries in the project. If an iOS developer does not understand CocoaPods, it is a poor DS in the real world. IOS developers who understand CocoaPods will at least become one of the middle-class without saying that they will be promoted to Gao fushuai immediately.

For how to use CocoaPods, refer to here: CocoaPods installation and use tutorial

Xcode 5

Practitioners all like the best practices in the world. iOS developers also need a powerful development environment to help them manage their projects.

Finding an ideal place of practice is a luxury for the practitioners. Therefore, a large number of scattered practitioners choose to join various sects or schools. Otherwise, there will be a peak of difficulties.

IOS developers can save this worry because all iOS developers can enjoy the most powerful iOS development environment-Xcode 5 for free.

The Xcode5 learning includes:

Project management: includes file structure, navigation, Build settings, and attribute list.

Code Editor: includes how to highlight, find, automatically complete, view files, Assistant Editor, and so on.

Interface Builder: The Interface Builder editor is built in Xcode. This part includes the use of Storyboards and xib, control type and attribute settings, IBOutlet and IBAction, and custom classes, tag, View File structure, etc.

Code debugging tools: including lldb, breakpoint, log, etc.

Instrumentation tool: monitors Memory leakage and CPU usage.

Git version management: Includes repository management, branching, and merging.

For details, see:

Developer Tools Overview

Software Engineering

In addition to self-cultivation and gas training, the real person also needs to train his god, that is, cultivate his soul. The level of the soul has been improved. It is not only beneficial to the cultivation of the soul, but also can control other practitioners to be their younger siblings, or to have exercise points, attract others to work together for their own goals, such as exploring a certain house together ).

In addition to knowing how to write code, iOS developers also need to improve their ideological level and look at project development and management from a higher perspective. At this time, you need to understand some software engineering concepts.

For software engineering, you need to master the following content:

Application Architecture: such as modularization, SOA, and logical Encapsulation

Agile process: such as project owner and user scenarios, iterative development, and efficient communication. The pace of iterative development includes testing and Pair programming, CI and code reviews, QA quality testing and debugging.

Project management: such as project planning and evaluation, tools and documentation, and Licensing.

IOS developer's Shentong method 1-Tests Test

True practitioners are against the sky, and the difficulties and obstacles encountered by ordinary people are hard to understand and accept. When its strength reaches a certain level, it will be able to withstand the threat of a variety of mine robberies, such as the four-nine mine, the six-nine mine, the nine-nine mine, and the ten-year-old mine. No matter how powerful your own strength is, how the physical body can defend against attacks, how the vitality is filled up, and how the soul goes against the sky, it will never go round in the case of a thunder robbery.

During iOS development, no matter how hard we try to stay up late, how hard it is to force coding, and when we test it, we find that the program has crashed directly, which is simply an unbearable issue for those who hate it.

Therefore, an experienced iOS developer often uses the test-driven development idea.

The following content is provided:

Test types: unit test, function test, integration test, performance test, availability test, and regression test.

Continuous test: continuous integration, go to google

XCTest: Xcode-specific test method.

For details about this part, refer:

Quality Coding

Development of TDD for iOS and entry to Kiwi

Xcode Overview: Unit Test Your App

IOS developer's Shentong 2-Git Version Control

As a saying goes, a dog is promoted to heaven. After soaring growth, practitioners often leave their cultivation resources to future generations or friends. On the one hand, it is because of the selfish nature of genes, and on the other hand, it is because we hope that more followers can fly together in this way and work together in the broader world.

The unique hero era of iOS development has passed. Many product or project development teams work collaboratively. Even for pure personal development, version control tools are often used.

Therefore, iOS developers need to have a certain degree of knowledge about Git version control.

Including:

Version Control System: including distributed VCS, Branch, Merge, and Diff

GitHub: Fork and Pull requests

Config: remotes and default behaviors.

IOS developer's magic 3-unique characteristics of Mobile Application Development

Immortal, immortal, Taoist. The day after tomorrow, the congenital period, the Jindan period, the yuanying period, the cave virtual period, the blank period, the robbery period, and the Dacheng period... No matter which stage the practitioner is at, they need to understand and obtain the required resources for specific cultivation stages.

The same is true for developers. Although Web development, PC-side application development, and mobile application development do not have different levels, they have completely different characteristics.

Developers need to master the corresponding knowledge based on the uniqueness of mobile application development:

HIG (Human Interface Guidelines): Human-Machine Interface interaction. For details, refer:

IOS Human Interface Guidelines: Designing for iOS 7

Traffic consumption considerations: one is the size of the installation package, and the other is the traffic consumption during use.

Multi-threaded operations: for example, time-consuming operations such as uploading and downloading files can be stored in a single thread. For details, see Grand Central Dispatch (GCD) Reference.

Status saving and recovery: allows the user to enter the interface and status of the previous application for the next time.

Localization: select the corresponding language display based on the user's Region

IOS developer's passthrough Method 4-star method-refer to others' source code

Whether practicing martial arts or practicing truth, there is an evil method similar to the method of absorbing stars, that is, taking others' skills as their own.

In iOS, there is also such a powerful method, that is, to refer to others' source code. What is more amazing than the star method is that it is a win-win process to refer to the source code of others. It will not reduce the skill of others, but make common progress in the process of discussion.

Source code sources include:

Http://developer.apple.com in Apple's official source code;

Source code inside the http://github.com;

Source code shared by third-party websites such as code4app and cocoachina;

Tutorial site and other third-party sites in the source code such as http://raywenderlich.com );

It's a bit too high to study other people's applications through the reverse process.

Real experts are good at quickly improving their own strength by using the method of absorbing stars. It is really a necessary skill for home travelers to walk in the rivers and lakes.

IOS developer's magic skill 5-Improving English proficiency

What is a great pain for a real practitioner is that there is a peerless passthrough in front of him, but TMD is completely incomprehensible to Mars?

For iOS developers, including other programmers, if their English skills are not good, they will be able to hold thousands of peerless things, but do not understand them.

Therefore, at least spend more time reading English documents, tutorials, blogs, and forums. Instead of learning them, you can improve your iOS skills while improving your English skills. The two complement each other.

Product Release

Practitioners need to consume a large amount of resources during the long process of cultivation. In addition to the family reserve, these resources are only available in the form of surplus value exchange in order to seize the game without any special surprises. For example, the alchemy Division used his xiandan for a skill method, and the alchemy Division used his magic weapon for xiandan. The Verifier who had the extra Skill Method auctioned the Skill Method in exchange for him to become a fairy Dan by a thousand miles.

IOS developers I admit this part is a bit confusing ~), In particular, individual developers are not human beings and need to consume fireworks. Therefore, the product that has worked so hard to be developed must be released online, so that more people can use or even buy it or make investors pay for it ).

Therefore, a real developer must also learn how to release their own products. Therefore, they must master the following knowledge:

Device Test: My first iPad application has not been tested. Do you believe it? However, the first-generation iPad was not officially released yet. It was a special practice in a special historical period and was recognized by Apple. Now try this? TestFlight: How many applications are involved in the test even if the test is completed? Try this tool.

App Store release: Includes provisioning profile, code-signing, and developer portal. For details, refer:

How to publish IOS apps to the Apple APP STORE

Or Apple official documentation, because the specific practices are often adjusted.

Well, an iOS developer with the above foundations will have many twists and turns on his way to becoming a master, but at least there will be a direction or guidance.

The road to truth-building focuses on wisdom and Will training. No matter what method is used, no matter what kind of goal you have. If your will is not firm, you will be influenced by beauty, laziness, entertainment, and other aspects, finally, go.

Let's work together.

Refer:

Https://www.codefellows.org/blogs/everything-a-competent-ios-developer-needs-to-know

Infographic: What iOS 7 developers need to know

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.