Click on the asynchronous book, the top public account

Every day to share with you IT good books technology dry goods workplace knowledge

Participate in the topic discussion at the end of the article and give asynchronous books every day

— Asynchronous small editor


Architect, a lofty term in the field of software technology, the industry has said that “everyone is a product manager”, but rarely heard “everyone is an architect”. Interdisciplinary knowledge itself involves a complex huge system, except for the architecture of a word, it’s very hard to complete definition, we don’t have to look too, like why are we climbing, because of the mountain there, persistent, may also not knowing the way in where, or you never thinking about where to go, but at least you have been on the road, while (! (= succeed try ())).

Becoming an architect is a process, not an end, and now let’s start on the path of being a mobile application architect.

What is an architect?

An architect is a role that is conceived and controlled in order to meet the goal of certain architectural design. In the software industry, there are many subdivisions, such as system architect, enterprise architect, application architect, business architect, etc. This book is for App application architect. Building a perfect architecture generally requires the following characteristics.

  • Have the function required by the customer.
  • Be able to build safely within the required time frame.
  • Performance is good enough.
  • And reliable.
  • Usable and harmless when used.
  • Security.
  • The cost is acceptable.
  • Compliance with regulatory standards.
  • Will surpass their predecessors and competitors.

To sum up, architecture is all about function, security, performance, and stability

The core responsibilities of App architects include selection planning, architecture design, technical problems solving, communication and coordination, and troubleshooting, which should be universal to architects

Programmer development path

In fact, there is no road on the earth, but when many people walk on it, it becomes a road. Lu xun,

Before embarking on the path of architect, let’s talk about the path of programmer development. First look at the development path of programmers in large domestic companies, the author sorted out the general comparison chart of rank system for reference only, as shown in Figure 1-1.

Figure 1-1 Rank system

Combined with their own development, I think there should be two main development routes for programmers — expert line and management line. Management line, different companies have different strategies, and most of them branch from a middle level to management, as shown in Figure 1-2. Different levels have different roles and responsibilities. For example, senior engineers need to accumulate knowledge in both depth and breadth of technology, while architects also need to accumulate knowledge in other fields besides technology itself. Of course, in the long run, if specific business routes need to be combined, the two business routes in the four directions of east, west, north and south can be dispersed into a four-quadrant matrix, corresponding to staff, entrepreneurship, SOHO and investment respectively, as shown in Figure 1-3.

Figure 1-2 Programmer career path


Figure 1-3 Career path for programmers

App Architect skill Matrix

In this section, we’ll talk about the skill matrix you need as an architect, or as an architect on your way.

App Architect Canvas

Before illustrating the skill map, we first draw on the Lean Canvas business model in Lean Startup Field [3] to create our App architect canvas, as shown in Figure 1-4. Know yourself, this is the foundation to begin anything. Career positioning and career positioning, as shown in Figure 1-2 and figure 1-3, do YOU really want to become an architect? With your goals and objectives clear, how do you start? Without a doubt, start with this book. Figure 1-5 shows the basic skills an App architect should have, and then start your crazy growth path. The path of growth is inseparable from learning, and learning must have a certain method, how to learn correctly, please refer to the book “The Architect thing” chapter content. You need a platform or a project to practice and practice. The path you walk is your own path. Let’s cultivate the thinking of architects and move forward toward architects. And finally, what about gains and losses? There is an opportunity cost to everything. Think about it in advance.

Figure 1-4App architect canvas

Skill map


This is a very good way that I have tried to use the skill map/skill matrix for my own learning and growth. I recommend it to readers and it is worth experiencing. The author has thoroughly combed the skill map of App architects, as shown in Figure 1-5. The rest of the book will cover most of the knowledge points. Admittedly, any unilateral thinking and decision-making is incomplete and one-sided, which is only for reference. Meanwhile, I recommend you to refer to The Architect Competency Matrix[4] and Qi Niuyun’s comic book “Architect Skills Matrix” [5].

Figure 1-5App architect skill map

What to read?

At present, most books on App development in the market focus on one-sided technical development and fail to systematically explain mobile application development. Although readers can master the method of App development in a short time, with more and more apps being used, the App architecture becomes more and more complex. In the long run, We need not only ordinary App developers, but also a technical staff who can have a comprehensive understanding of App development from the architecture and can control the whole process. I recommend a book called The App Architect’s Practical Guide.

The first chapter of this book easily starts from the growth path of App system architect, and makes readers understand what App architect does at a glance. Then, it expounds the basic skills of App development through basic knowledge of App grammar, development tools and other basic knowledge. Starting the second describes the architect necessary about the App development process required for comprehensive skills, which covers the App module design, commonly used App architecture and refactoring, quality and stability, performance optimization and safety in reverse and hot technology, covering the ground will be a qualified architect should master the content. The third part describes how App architects can effectively develop and manage an App project and make it sustainable from a team perspective. The fourth part is a lighthearted introduction to all programmers who want to use this book to transform App “coder” into “architect”.

Mobile Internet is the infrastructure of the world of Internet of Things and big data in the future. App development is the core technology for mobile Internet to generate value at present. It is reasonable to believe that as the demand for App development grows, App architects will be taken seriously and become the backbone of the App development industry, so this book will give them hope and help.

Practice Guide for App Architects

By SkySeraph Pan Xuling

Click on the cover to buy the paper book


This book explains the skills and ideas needed to become a programmer to become an architect. It clearly guides programmers on the path to becoming a mobile architect. It is a practical guide for programmers who want to become architects.

It provides a comprehensive introduction to the architecture design and performance optimization of mobile application development. It is a must-have book for architects. It describes the overall development direction of the skills and ideas that the mobile application architect needs to understand, which is a roadmap for the growth of the mobile architect.

Readers can not only learn the development technology of mobile applications, but also gain various engineering knowledge that will be used in practical projects, which is a learning treasure book for architects.

Contents:

The first foundation

Chapter 1 Growth Path of App Architect 2

1.1 Architect Definition 2

1.2 Programmer development Route 3

1.3App Architect Skill Matrix 5

1.3.1App Architect Canvas 5

1.3.2 Skill Map 5

1.4 Chapter Summary 6

1.5 Recommended materials 7

Chapter 2 App Basic Grammar Series 8

2.1 Programming language 8

2.1.1 In those years, what languages 9

2.1.2 Swift 11

2.1.3Swift 3 and Java 8 New features 13

2.2 Object-oriented thinking 14

2.2.1 Programming Paradigm 14

2.2.2 Encapsulation, Inheritance, and Polymorphism 15

2.2.3 The use and thinking of inner class 17

2.3 Threads and Processes 19

2.4 Reflection, annotations, and generics 21

2.4.1 Reflections and Notes 21

Generic 23 2.4.2

2.5 Chapter Summary 24

2.6 Recommended materials 25

Chapter 3 App Development Tools 26

3.1 IDE 26

3.1.1 Android Studio 27

3.1.2 Xcode 29

3.2 Compilation and Debugging 29

3.3 Version Management 31

3.3.1 Code Management 31

3.3.2Git Branch Management 32

Product Design 34

3.5 Programmer collection 35

3.5.1 Packet Capture Tool 36

3.5.2 ADB 36

3.5.3Chrome Development Plugin 37

3.6 Chapter Summary 38

3.7 Recommended Materials 38

Chapter 4 App SDK use series 39

4.1 Begin with Lifecycle 39

4.2 Big talk UI 41

4.2.1 About Layout 41

4.2.2 Common Controls 41

4.2.3 Customizing View 42

4.3 Storage and Network 43

4.4 Chapter Summary 43

4.5 Recommended Materials 44

Chapter 5 Selection and use of open source library 45

5.1 About Open Source 46

5.2 Selection of Open Source Libraries 46

5.2.1 Open Source Project Selection 46

5.2.2 About License 47

5.3 Use of Open Source libraries 48

5.4 Chapter Summary 49

5.5 Recommended Materials 49

The second core

Chapter 6 Common module design of App 52

6.1 Basic Component Library 52

6.1.1 Build your Base Component library 53

6.1.2 What has to be said about photo gallery 54

6.1.3 Talking about network Libraries and encryption 61

6.2 Common Service Modules 65

6.2.1 Starting the Boot Module 65

6.2.2 Registering the Login module 66

6.2.3 Operation Statistics module 67

6.3 Compiling and Packaging 68

6.3.1 Packaging Methods and Process 68

6.3.2Gradle Practical Tips 71

Version 6.4 For version 75

6.4.1iOS App Adaptation 76

6.4.2Android App Adaptation 77

6.5 Chapter Summary 78

Chapter 7 App Architecture and Refactoring 79

7.1 Components and Modules 80

7.2 Componentization, modularization, and Plug-in 80

7.2.1 Three Concepts 80

7.2.2App plug-in 82

7.2.3 Componentization of App 83

7.3UML Basic Skills 86

86 7.3.1 UML tools

7.3.2 Common UML Figure 87

7.3.3 UML instances, 88

7.4 Grandiose design Mode 88

7.4.1 Six Principles 89

7.4.2 Overview of Design Modes 89

7.4.3 Design Patterns practice 90

7.5 Interface Design 91

7.5.1 API, What the and according to 92

7.5.2 How API 92

7.6 Common Architecture Modes 95

7.6.1 MVX mode 95

7.6.2 Common Software Architectures 97

7.6.3 App Architecture 100 from the perspective of componentization

7.7 Refactoring sleepless Nights 102

7.7.1 Reconstruction Overview 102

7.7.2 Architecture Reconstruction 103

7.7.3 Code Refactoring 104

7.8 Is architecture Design Enough

7.9 Chapter 106

7.10 Recommended materials 106

Chapter 8 QUALITY and Stability of App series 108

8.1 Quality standard and stability index 109

8.1.1 Application core quality 109

8.1.2 Stability Measurement Index 109

8.2 Means of quality and stability 112

8.2.1 Quality Control 112

8.2.2 Troubleshooting Principles 115

8.2.3 Continuous App Integration 115

8.2.4 Code quality monitoring 125

Crash 138

8.3.1 Fundamentals and Principles of Crash 138

8.3.2Crash Collection and Statistics 142

8.3.3 are included 150 Crash analysis

8.4 Test session 160

8.4.1 Test Overview 161

8.4.2 Compatibility Test 165

8.4.3 Performance and Security Testing 174

8.4.4 Automated Tests 174

8.4.5 180 A/B Testing

8.4.6 Code coverage 182

8.4.7 Online Drill 183

8.5 Summary of this Chapter 183

8.6 Recommended Materials 183

Chapter 9 App Performance Optimization series 185

9.1 Performance Analysis 186

9.1.1 Performance Dimensions 186

9.1.2 Performance Optimization 186

9.1.3 Performance Test Platform 187

9.2 Hardware Performance Optimization 187

9.2.1 Obtaining electric quantity information 188

9.2.2 Power consumption analysis 190

9.2.3 Optimization of electric quantity 191

9.3UI and CPU Performance Optimization 194

9.3.1 Basic Principles 194

9.3.2 Fluency measurement 196

9.3.3 Caton Analysis and Optimization 201

9.4 Memory Performance Optimization 206

9.4.1 Memory Mechanism and Principles

9.4.2 Memory Analysis Tool 210

9.4.3 Leaks and Spills 210

9.4.4 Memory Performance Optimization 212

9.5 Network Performance Optimization 215

9.5.1 Network Performance Overview 216

9.5.2 Network Performance Testing and Traffic Measurement 218

9.5.3 Network Performance Optimization 220

9.6App package Size optimization 223

9.6.1 Overview of App Package Size Optimization 223

9.6.2App Package Size analysis 224

9.6.3App package Size optimization 227

9.7App startup speed optimization 230

9.7.1App Startup Mode and Process 230

9.7.2App startup time metric 232

9.7.3 Optimization of App startup speed 234

9.8App Code optimization 235

9.9 Summary of this chapter 240

9.10 Recommended materials 240

Chapter 10 App Security Reverse Series 242

10.1 Reverse Overview 242

10.1.1App Package Composition 243

10.1.2 Reverse Tools 245

10.1.3Root and Jailbreak 247

10.1.4 Secondary Packaging 247

10.2 Reverse Analysis 248

10.2.1 Static Analysis 248

10.2.2 Dynamic Analysis 249

10.2.3Hook and injection 249

10.3 Safety Test 251

10.4 Safety Suggestions 252

10.4.1 Confusion and Signature 253

10.4.2 Reinforcing the shell 262

10.4.3 Secure Coding and Privacy 263

10.5 Chapter Summary 265

10.6 Recommended Materials 265

Chapter 11 App Hot Technology 267

11.1 Process Survival 267

11.1.1 Basics 268

11.1.2 Survival methods 271

11.2 MultiDex 271

11.3 RxJava 273

11.3.1 RxJava base 273

11.3.2RxJava Application Instance 276

11.4 Hybrid 281

11.5 HotFix 282

11.6 AOP 283

11.6.1 OOP and AOP 283

11.6.2AOP Application Example 283

11.7 Chapter summary 286

11.8 Recommended Materials 286

The third product chapter

Chapter 12 How did App Become 290

12.1 App practice of 290

12.2 Development Process 291

12.3 Also talk about version 292

12.4 Chapter Summary 293

Chapter 13 Item, production, design and Transportation “Four Heavenly Kings” 294

13.1 Project Management 294

13.1.1 Agile Scrum 295

13.1.2 Bus Mode 298

13.2 Product Ideas 298

13.2.1 Product Manager 299

13.2.2 Product Thinking 299

13.3 Design Philosophy 302

13.3.1 UI and UX 302

13.3.2 Design Concept 304

13.4 Promotion and Operation 306

13.4.1 Operating Index 306

13.4.2 Big talk 309

13.4.3 Operation 310

13.5 Chapter 310

13.6 Recommended Materials 310

Chapter 14 My High Performance Team 312

14.1 From the code specification 312

14.2 Code Review 313

Morning meetings, a productive start to the day

14.4 Communication and Group Building 315

Don’t forget to share technology

14.6 Interview, Interview, Interview

14.7 Self-management, flat 318

Finally, talk about overtime 319

14.9 Summary of this chapter 319

14.10 Recommended materials 319

The fourth extension

Chapter 15 The Architect Thing 322

15.1 Full Stack Engineer 322

15.2 Architect thinking 323

15.3 Learn and Practice 324

15.4 Soft Skills 325

15.5 Chapter Summary 326

15.6 Recommended materials 326

Deep Understanding of Spring Cloud and Microservice Building

The Fang Zhipeng

Click on the cover to buy the paper book


When it comes to micro services, there are many different opinions, but it is difficult to have a clear concept to describe it. Microservices are not a “silver bullet”, I understand microservices as a culture, and what we need to do is apply the concept of microservices to practical development. After a series of technology selection, Spring Cloud has finally become our choice for landing micro-services with its mature components and perfect one-stop solution.

At this time, Spring Cloud related materials are still rare in China. There are no complete Chinese books and tutorials for reference, but only official English documents and scattered online tutorials for reading. It was in this situation that Fang Zhipeng, the author of this book, gradually gained his own accumulation and understanding in the process of technology selection and subsequent micro-service implementation. At the same time, he serialized “The simplest Spring Cloud tutorial in history” in his blog. As soon as this tutorial was published, it was well received by programmers, so it was finally organized into this book.

Throughout the book, the text is clear and clear. The practice of each component of Spring Cloud is introduced by combining theory with practice, and part of the source code is interpreted. Illustrated and plain language, worthy of the name of “simple”. This book is a combination of the author’s front-line experience and experience in the implementation of micro-services, and a specific guide to the implementation of Spring Cloud practice, which is very worthy of reference.

Micro-service Distributed Architecture Development Practice

The Gong Peng rico

Click on the cover to buy the paper book


This book does not discuss too much theoretical things, based on the existing mature framework, around the specific requirements encountered in the actual project, from the perspective of microservices distributed architecture to decompose and realize these requirements one by one. Readers who master this knowledge are fully capable of quickly building reliable, efficient and flexible microservices distributed architecture.

Click on the picture to sign up

Today’s topic

What do you know about architects? Deadline: 17:00, April 15, leave a message + forward this activity to the moments of friends, xiaobian will select 3 readers to give a book asynchronous.

Stretch recommended

New book in February 2018

A blockbuster book for January 2018

Primary school students start learning Python, the closest programming language to AI: A Wave of Python books from Amway

Policy warming: Everyone is learning big data, a wave of good books recommended

Eight new books. Send one you like

AI | classic books (introduction to artificial intelligence which books to read?

Long press the QR code, you can follow us yo

I share IT articles with you every day.


If you reply “follow” in the background of “Asynchronous books”, you can get 2000 online video courses for free. Recommend friends to pay attention to according to the prompts to get a gift book link, free of charge asynchronous books. Come and join us!

Scan the qr code above and reply “follow” to participate in the event!


Click here to buy the App Architect Practice Guide

Read the original