Skip to content

dmkorol/web-app-performance-optimization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 

Repository files navigation

Web App Performance Optimization


This guide applies only for Single Page Application (SPA)

UX optimization (related to user psychology)

  1. Show loading

  2. Progressive loading. (facebook news feed example) Show mock and load content after.

  3. Use AppShell link

  4. Use event capturing and reproduce events after load (App shell)

    • Load script while user fills fields or read some information

Browser optimization

  1. Critical Path and Render Blocking Resources (CSS + JS)

  2. No more then 7 connections to the server in the same time.

    • Inline images
    • Inline js
    • Inline css
  3. Ordering of loading

    • Index.html
    • <head> async loading of css/js deffer for js (??)
    • why we put <script> into end of the index.htm (???)
    • http/2 file loading order (???)
  4. Parsing js/ First paint (???)

  5. www.webpagetest.org

Network (size optimization)

  1. Reduce HTTP Requests (time to connect with server)

    • DNS resolve(chaching DNS)
    • Inline js, html, json
  2. Budgeting

  3. Images optimization

    • JPG 80 vs JPG 100 critical/non critical
    • SVG when possible
    • FontIcons vs SVG or compile your own (???)
    • Custom fonts vs SVG
    • Inline base64 vs separated files
    • Images Retina (Sprites are dead) (???)
    • webp (???)
    • Images alternative text with size <img alt='' width='' height='' />
    • Save with optimization (???) photoshop save as
    • Desktop app for Windows FileOptimizer
  4. Gzip one file VS. many Gzip + many bundles

  5. Caching files

    • ngnix, Apache, IIS
  6. Fast delivery

Angular

  1. Code minification

    • ng build --prod
  2. Lazy loading / Preloading

  3. Analyse files

    • web pack bundle anyliser (???)

Optional. Performance optimization depends on application.

  1. Delivery only what is needed

    • Reduce first bundle
    • Optimise critical pages
  2. Virtual scroll

  3. Reduce DOM elements

    • <ng-container></ng-container>
  4. Web workers for highly performance calculations

  5. Prefetching

  6. Angular

(???) Define types of application and provide check lists

  • CRM

    • Admin panels
    • User panel
  • Mobile application

  • Landing pages

  • E-shop

  • Site builder

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published