3

When it comes to rendering a large list of items on the client-side, what are my options with Ember.js? Pagination comes to mind as an obvious way to decrease the rendering time, but are there any other tricks that allow you to render a big list of items without that noticeable browser freeze as the javascript executes?

7
  • 2
    I'm having slow loading performance with 850 items. And im running more than average hardware running chrome. I expected it to be fast. Commented Jan 31, 2012 at 9:50
  • 2
    I've updated my ember.js from github and now speed as incresed A LOT, mine where like 6 months old or something. And a lot has hapened meanwhile. Commented Jan 31, 2012 at 12:03
  • Locking up of the browser is mainly caused by the rendering. Commented Feb 1, 2012 at 11:49
  • @Stephan, thanks for the pointer. Going even from just 0.9.5 => 0.9.6 had a noticeable performance boost. Commented Apr 17, 2012 at 14:50
  • 1
    Check out github.com/emberjs/list-view Commented Mar 18, 2013 at 19:02

2 Answers 2

3

ember-list-view for lists

ember-table for tables

I tried a million different ways of rendering lists and templates without these to no avail, so hopefully this helps someone.

Sign up to request clarification or add additional context in comments.

Comments

0

I found a similar performance issue when rendering large lists.

My use cases is to render log entries. I ended up using jQuery and writing directly to the DOM.

Here's a post on how I did it and here's the code.

To cut a long story short, I get 50 records and render them on the screen. At the bottom of the screen, I have a Show More button. If the user clicks this, I append the next 50 of the bottom of the list.

Note that my records are read only. If I had to perform CRUD operations, I would revert to using collections with paging. Collections provide binding support so when the user edits a record, the fields in the list will automatically get updated. Here's the post on CRUD operations.

My code is still using Sproutcore 2 before it was renamed to EmberJS. I think you will find most of the API are the same - just the namespace needs changing.

Hope this helps.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.