Курс можно начать проходить в любое время

on demand

Сложность курса: middle

Старт курса

2016-04-18 2016-04-18 Europe/Kiev FAST WEB APPLICATIONS: DEVELOPMENT, PROFILING, OPTIMIZATION --- Smartme University


In recent years, web technologies became a kind of a "silver bullet" for UI and cross-platform development, but the attitude towards this issue is still not univocal.

Performance issues compared to native application is one of the main problems faced by developers when creating web applications. Lots of know how are needed in order to create a HTML/JS application, which will be as fast as IOS or Android Native. 

During this course, you will learn techniques that will enable you to develop high performance web applications, improve UI responsiveness making your users even happier. 

"Performance optimization is not just about making your own application faster. Also we will be talking about the implementation of those things you could not do before..." — Challenging Native.

Course content:

  • Page loading 
    • Why this is important? Performance criteria 
    • How does HTTP work?
    • Number of files and traffic optimization techniques 
    • CSS/JS loading order 
    • What is Critical Path?
    • Return of server rendering
    • Strengths and weaknesses of HTTP2
    • Checklist 
    • Handy services 
  • JavaScript performance 
    • Why this is important? Success criteria, measurement methods
    • How modern JS engines work
    • Hidden classes 
    • Function optimization 
    • Data handling optimization 
    • jQuery, event delegation 
    • Introduction to a case study 
    • JavaScript Profiling: Profile tab. JavaScript profiling: Flame Chart 
  • JavaScript memory management. Garbage Collector
    • General theory
    • Common practices and memory leak handling example
    • Specific memory management techniques
  • Rendering and animation speed 
    • Main browser execution thread
    • Reflow/Layout
    • Hardware/Software rendering 
    • Rendering optimization practices
  • Alternative methods of content rendering
    • Canvas 
    • WebGL 
    • SVG