We launched the Relearn Android paid column in June 2019,

So far, we’ve connected with 1,111 great developers, and I’ve had people tell me that they’ve been inspired to write by the column.

Take “deep thinking” as the foundation

Over the past two years, we have worked tirelessly to implement a first-principles and matter-of-fact approach to deep thinking in each of our articles on the topic of “Architectural Components,”

With the help of “deep thinking,” and based on tracking and reflecting on a large number of samples, we have taken a unique approach to capturing the essence from a software engineering perspective and opened source a series of frequently used repositories,

Software from well-known manufacturers such as Tencent Music, BMW and TCL are all using warehouses such as Unpeek-LiveData that we are maintaining.

I accidentally became the root of all evil.

Since when have you often seen confusing phrases like “consistency” in adverts or online articles from training institutions?

These terms are new to Android, and they all have a common source of online rhetoric about “consistency issues,”

In fact, these terms are derived from my long-term in-depth thinking, practice and communication, and are highly generalized for the matching of phenomenon essence. Every article in relearning Android has provided a complete analysis process of background reasons, responsibility boundaries and so on.

However, it is a great pity that the term “seeking truth from facts” is often used to “embellish articles” and “sell dog meat”. These abuses have virtually distorted and damaged the image of the term “seeking truth from facts”.

So over the past two years, we have actively reported “soft articles written by training institutions” and added references to relevant articles in the comments section,

Thank you very much for your active feedback.

Essential summary

Based on deep reflection, the “essential generalizations” that we have established and spread widely include but are not limited to:

Jetpack architecture component essence:

Lifecycle essentially addresses the consistency of “Lifecycle management”

The essence of LiveData is to solve the consistency problem of “cross-domain message synchronization”

The essence of the ViewModel is to solve the consistency problem of “state save recovery”

The essence of DataBinding is to solve the conformance problem of null-safe view instances

The essence of Navigation is to solve the consistency problem of “route initial parameter recovery”

If there is one thing they have in common, it is the “cohesion” of boilerplate logic in various ways to avoid consistency problems.

The article source

Jetpack MVVM Introduction

Comprehensive Analysis of “Consistency Issues” in Architectural Components

,

Bring you a True Jetpack Lifecycle

Open Mode and Defect Analysis of Jetpack Navigation

The Little-known Background and Unique Mission of LiveData

Jetpack ViewModel for Page Development

Jetpack DataBinding from Being Misunderstood to Smelling Good

The nature of declarative UI:

The essence of declarative UI is functional programming,

The cornerstone of functional programming is pure functions,

The property of a pure function is that it has only one entry, only one exit, and no side effects,

Declarative UI circumvents null-safe view instance consistency by masking view instances,

That is, declarative UIs can be used to replace frameworks like DataBinding,

To avoid null security issues, use a framework such as DataBinding if your corporate project insists on using Java.

If kotlin is allowed, then the current combination of Kotlin + ViewBinding is the preferred solution.

The article source

“All-in-one” Declarative UI Literacy Dry Goods”

Jetpack DataBinding from Being Misunderstood to Smelling Good

Nature of architectural patterns:

The essence of MVP is based on the “dependency inversion principle” to achieve the replacement of components, suitable for the preparation of non-page development scenarios (see my open-source Linkage-RecyclerView in the use of adapters),

The essence of MVVM is to solve the problem of null security conformance of view instances based on “data binding”, i.e. it is a pattern dedicated to page development,

When we remove the DataBinding framework and use something like Compose or Kotlin + ViewBinding to avoid consistency issues, the effect is the same, but it is no longer MVVM.

The article source

How to Get Colleagues to Love Architectural Patterns, Write Fewer Bugs, And Comment More

The relationship between MVP and MVVM

Things about LiveData:

LiveData’s design is flawed.

On the one hand it provides event-oriented design,

This made it possible to ensure “reliable and consistent message distribution” through a structure of “decision tightening” (known as “uniquely trusted sources”),

On the other hand, it treats itself as a “state” and offers only sticky designs,

It is this confusing design that leads to the phenomenon known as “data dump”.

To distinguish between “unique trusted source” and “data dump,” you need to understand and distinguish between “state” and “event.”

The article source

Exclusive Analysis of read/write Separation design for Unique Trusted Sources

Exclusive Analysis of background reasons for LiveData Data Backfilling

Open Source Projects

Many manufacturers or teams, including Tencent Music and Bytedance Live, have referred to or are using scaffolding and other projects that we open source and maintain

Github.com/KunMinX/Jet…

Unpeek-livedata to solve LiveData dump problem

Github.com/KunMinX/UnP…

Fix Navigation transition Smooth-Navigation

Github.com/KunMinX/Smo…

I worked with Flywith24 to develop and maintain the Jetpack MVVM-Java to Kotlin example

Github.com/Jetpack-Mis…

As a dependency inversion principle MVP Linkage-RecyclerView

Github.com/KunMinX/Lin…

A vision of the future

Since its development, Relearn Android has evolved from a simple writing column into a community of experts. On average, byteDance has a member of staff every two weeks, and HencoderPlus has also been joining.

As for writing, Relearning Android has always been original, only writing “deep thinking” articles that reveal the essence, teaching people to fish and teaching people to fish.

Instead of blindly expanding without principle, we choose carefully selected topics and long-term revision and polishing to ensure that we can properly cover the background, various scenarios and the latest developments of a certain field.

In addition, considering that some readers need to collect screenshots, we have gradually added “quotation cards” for the column, so that readers who have subscribed can save them to their mobile phones, view them at any time, and review the original text directly through the TWO-DIMENSIONAL code.

Finally, thank you for your care and support all the time!