First, from the perspective of interaction design, we must first determine which way to implement it, mainly the difference between Web paging and stream paging:
In actual production, compromise methods are often adopted, such as letting users click "More" to continue loading after automatic loading for several times, or adding page numbers in the middle of information flow to locate;
From the development point of view, it can be divided into front-end paging and back-end paging, which determines which side does the main work.
Front-end paging is not much to talk about, because the implementation is relatively direct, all data is pulled at one time, and then the front-end controls the display of data. This article focuses on back-end paging. The difference between interactive classification has been discussed above. The first traditional Web-based paging is a common paging method in web development. Web paging interface, paging by page number. Generally speaking, it paginates according to pageIndex and pageSize. The second type of streaming paging, compared with the Web, is due to the interactive mode of the App, such as pull-down refresh and scroll-up loading. There is no clear page number on the general webpage, and the clear page number on the webpage is often invisible on the App. This method is called streaming paging. Streaming is the classification of UI interaction, which can be realized in many ways and through Web paging interface.
What's wrong with streaming paging with Web paging interface?
So, how to solve these problems of page paging?
The above is a summary after studying some data on the network. Then, it seems that the feasible solution is cursor paging. What should I do when paging data needs to be added, deleted or modified?
So far, it looks good, so we will not consider synchronizing multiple clients to make different modifications to the same account for the time being. Let's go one step further. What if the addition, deletion and modification will affect other original data? Of course, it is not available to pull them all over again, but it is very impolite.
In addition, addition, deletion and modification will affect the sorting of the original data. This happens when the data is multi-layered. For example, data are grouped according to a certain attribute, and the addition, deletion and modification of a certain data will affect the sorting of the whole group. What should I do? It seems that there will be a strong impulse to pull it all back here, but it can be avoided to do more.