With Google Appengine, we can page to next page of a query using a cursor and with some effort we can also go to the previous page. But there is no good way to go to the n-th page, I believe for scalability reasons. It can be possible to implement "last" page if we do a reverse query and we might be able to go to the n-th page but I'm not sure whether it will work since I never saw an example of it, but according to the manual it's supposed to be doable to iterate to the page you want:
So if I can't implement a complete pagination I'm thinking about doing it in alternative ways:
1) Infinite scroll e.g. like Facebook displays status updates. There are no "pages", only scroll.
2) Just a button on the bottom which says "show more". I've seen sites that use this for their product catalogues and it was ok.
What are the drawbacks of chosing either of the above as an alternative to "classic" paging (First Previuos Next 1 2 3 4 .... 17 18 29 20 Last)
Spec my case involves listing articles by time (newest first), 50 articles per page in an app similar to craigslist listing classified ads. So there could be workarounds that I can use for my specific problem since I list articles according to time and I can page to the next page using cursors, but that's also all I can do and I'd like to deliver a more complete solution.
References:
https://developers.google.com/appengine/docs/python/ndb/queries#cursors