0

I'm trying to build a single page web app using Backbone. the app looks and behaves like a mobile app running on a tablet.

The web app is built to help event organizers manage their lists of people attending their events, and this includes the ability to search and filter those lists of attendees.

I load all attendees list when the user opens the attendees screen. and whenever the user starts to search or filter the attendees, the operation happens on the client side.

This way always works perfectly when the event has about ~400 attendees or less, but when the number of attendees gets bigger than that (~1000), the initial download time takes longer (makes sense) .. but after all data is loaded, searching and filtering is still fast relatively.

I originally decided to go with the option of fully loading all the data each time the app is loaded; to do all search operations on the client side and save my servers the headache and make search results show up faster to the user.

I don't know if this is the best way to build a web/mobile app that processes a lot data or not.

I wish there's a known pattern for dealing with these kinds of apps.

Shreef
  • 198
  • 1
  • 8

1 Answers1

1

In my opinion your approach to process the data on the client side makes sense.

But what do you mean with "fully loading all the data each time the app is loaded"? You could load the data only once at the beginning and then work with this data throughout the app lifecycle without reloading this data every time.

What you also could do is store the data which you have initially fetched to HTML5 localstorage. Then you only have to refetch the data from the server if something changed. This should reduce your startup time.

DanEEStar
  • 6,140
  • 6
  • 37
  • 52