Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Based on presentation (general-optimization.pdf) on optimization by Ali Khalili during Hackathon V3.0

Image Modified

Image Modified

Image Modified





Splitting layout

  • multi-page application  → in components/defaultHTMLlayout.js → based on URL load certain libraries (e.g. CKeditor for visiting URL /edit)
    • we can have a generic layout inherited by other layout if needed (e.g. ui intl libraries or shim libs need to be reused in most of the other layouts).
  • multiple single-page applications → standalone aplication. E.g. presentation layout (reveal.js is large), slide edit layout (CKeditor = 600kb, Latex_ams.. libary = 500kb, ), slide view, user profile layout, etc... In practice → separate github repot + is separate application → has own server.js/client.js/etc...
    • multiple single-page applications → Better for scalability
    • multi-page application → better for user loading (only load libraries when necessary, based on URL/page visit)
      • Presentation mode - standalone/multiple single-page applications - do not need to load fluxible, etc.. (single page application). Needs to load reveal.js and Latex_ams.. libary and maybe some SVG/diagram libraries, semantic UI)
      • exam mode (
      • user profile
      • slide edit layout → multipage → part of platform → on loading /edit also load ckeditor, Latex_ams.. libary and some SVG/diagram libraries

...