Looking to revamp our website, which features a feed similar to Pinterest. Considering moving away from the messy jQuery code and leaning towards either AngularJS or Backbone+Marionette for a more structured approach. The site is user-generated with a strong emphasis on consumption. Users can like, bookmark, and comment on posts, with a lightbox feature that allows for detailed views of posts, comments, and related content (much like Pinterest).
We have dabbled in Backbone but find the boilerplate overwhelming. Marionette seems promising, but we are open to exploring other options like Angular if they offer long-term benefits.
Here are our requirements:
- The initial page must remain static for SEO purposes. Transitioning to a new framework should be seamless without much hassle.
- We prefer pre-loading data needed for the lightbox view within the feed to enhance transition speed. While some data (title, description, etc.) is already available, additional details like comments and related posts would need to be fetched separately.
- Changes made to posts in the feed or lightbox view should reflect across both areas effortlessly.
- We aim to unify our mobile site (developed using Sencha Touch) with the main site by sharing a common codebase wherever possible.
Concerns specific to Angular include:
1) Can we maintain static initial page loads while rendering additional pages dynamically via templates?
2) Is it feasible to source data from multiple locations for different parts of the page? For instance, pulling main post content from embedded JSON while fetching additional details from separate AJAX calls.
3) Given the vast number of elements in our setup, will Angular’s two-way binding negatively impact performance? Can it be turned off selectively for certain elements to conserve memory, especially important for mobile devices?
Considering the unique demands of our use-case, would AngularJS be suitable? Any tips or tricks to optimize its performance in this scenario?