Слайд 2Desirable knowledge
JS
Html\css\js
Ajax\jquery
React (optional)

Слайд 4Array initialization and benchmark find method
Benchmark for
Benchmark for with double equals
Benchmark

map
Example – data structure
Слайд 6Client Performance Techniques

Слайд 8Simple JS
JS with WebWorker
WebWorker

Слайд 9Head
Async
Defer
Defer\Async and head

Слайд 10Network deceleration in devtools

Слайд 11Preconnect example
Resource Hints: prefetch, preconnect
Preconnect – prepare requests in advance, e.g find

dns, make tcp handshake
Prefetch – load resources after page load finished
Other: preload, dns-prefetch
Слайд 12Techniques
JS uglify example
Minification via build tools
JS minification
Styles minification
Html minification
JS Tree-shaking
Image compression or

compression with significant quality loose
Bundling
Gzip content before send from server
Слайд 13Techniques
HTTP Cache Headers Example
Minification via reducing response data
CDN
Code-splitting (lazy load js\css)
Paging
Return only needed

data in response
HTTP Cache Headers
Слайд 15Techniques
Animation
Reduce size and dom changing
Use requestAnimationFrame
Try to be in 16ms frame
Use ccs

animation
Use dom layers
Слайд 16Change size
Use requestAnimationFrame
Animation Examples
CSS animation

Слайд 20Mind Tricks rules in UI
Что бы разница была заметна, нужна разница в

20% времени - Закон Вебера
Как можно быстрее перевести пользователя из пассивного ожидания в активное
1.25 sec for interaction (3sec for 3G)
100ms response and user response
Слайд 21Mind Tricks techniques in UI
Lazy loading
Prediction
SSR

Слайд 26Docs and Links
https://www.smashingmagazine.com/2016/12/front-end-performance-checklist-2017-pdf-pages/
https://medium.com/reloading/javascript-start-up-performance-69200f43b201
https://www.youtube.com/watch?v=HlKijvTa_h0
https://www.youtube.com/watch?v=ghcfHBEe1u4
https://www.youtube.com/watch?v=Tiv_9uweA7w
https://www.youtube.com/watch?v=lgPs_hnIA_M
https://www.youtube.com/watch?v=i9cOoipvST8&feature=youtu.be&list=PL8sJahqnzh8JST_ZwTcGG1FHGgKBMcpn6
https://www.youtube.com/watch?v=7-d3O-7aus0
https://www.sitepoint.com/check-css-animation-performance-with-the-browsers-dev-tools/
http://www.html5rocks.com/ru/tutorials/workers/basics/
https://www.searchengines.ru/ispolzovanie-preload-prefetch-i-preconnect.html
https://learn.javascript.ru/external-script
https://www.searchengines.ru/ispolzovanie-preload-prefetch-i-preconnect.html
https://developer.mozilla.org/ru/docs/Web/API/Service_Worker_API/Using_Service_Workers
https://css-tricks.com/the-difference-between-throttling-and-debouncing/
https://learn.javascript.ru/js-animation
