[EXPERIMENTAL] Fleact lite

Authored by SBisson on Jan 11 2018, 8:27 PM.

Description

[EXPERIMENTAL] Fleact lite

NOJS is serverside handlerbars app

JS is client-side React+Redux app

It loads like Special:Notifications:

  • hide the main content when client-js is there
  • use the json blob to render the js app

It includes VE for editing the board description.

List of potential performance improvements
grouped by potential impact:

Small - Medium

  • Break the fleact module into 2 with the first one containing only what's needed for initial rendering and the second one (lazy loaded) containing the editing code (including VE).
  • Reduce the initial page size
    • Deduplicating posts content (DOM vs. blob)
    • simplifying the handlebars templates knowing they won't be used in JS app
    • Send fewer topics in the no-js version (and provide better pagination if it causes problems)
  • (Perceived) Start with a topic placeholder or an animation to eliminate the "blank page" feel

Large

  • Install a service worker to serve the js app (or part of it) so there is no initial latency

Huge

  • Pre-render the js app on the server with v8js or nodejs

Change-Id: I4b408dbccafb30603e6f01676b4a417b9d2ef39c

Details