it all depends on what kind of experience the user needs, what he will do with the tasks, is your user a potential job candidate looking for a specific job? or is it some kind of administration application where the user manages tasks?
in general, laying 1000 items on 1 page is a bad user experience, working with downloading additional tasks to scroll down is such a hot function these days as facebook, twitter ... it can be useful for comments, but jobs - this is something else, you need to go from beginning to end without pressing βmoreβ 10 times or scrolling down 10 times.
possible solutions:
- Thus, paging is, of course, another option, using a pager is a protective way to work with too many elements and allows a person to go from page 1 to 10 without going through 9 others.
- Another thing you can do is create filters, you can search for jobs by: location, firm, sector, ... this will reduce the size of the collection, which will be visible at any time.
purely technical solutions:
you should read this blog post , it starts on how to get an exact click of an element from the view, if you have selected all the elements the collection is just 1 look, but develops in this matter, having 1000 separate views 1 for each job added to jobListView or having these jobs added to jobListView, so there is only 1 view.
The latter can be implemented correctly, significantly reducing the interaction of your application with the DOM. With the implementation correctly, I mean, adding all the tasks to the for loop, adding them to the table / list in memory, and only at the very end attach the table / list to the DOM, this reduces your code to 1 interaction with the DOM, not 1000 applications .
Yes, Derik is more focused on rendering 1 view of the model, although he does not touch on the topic of performance, with the exception of a small one: first, make sure he quickly makes an operator that does not provide you with any solutions. And if your list of tasks is just a listing and a link to the details page of the task, without any events, the "1 view for everyone else" option is still very important.