Проектирование и создание JavaScript framework'а для...

24
Проектирование и создание JavaScript frameworkдля высоконагруженных сайтов Никита Манько / Mikita Manko

Transcript of Проектирование и создание JavaScript framework'а для...

Page 1: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

Проектирование и создание

JavaScript framework'а для

высоконагруженных сайтов

Никита Манько / Mikita Manko

Page 2: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

Никита Манько,sr. software engineer @ EPAM

@MikitaManko

Page 3: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

Проект

• Front-end: UI Widgets•Back-end: services & DBs

Page 4: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

Проект

• Integration with sites of 70+ brands (real hell)

Page 5: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.
Page 6: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

What is high-load?

1m+ hits per day/hour/minutes?

Page 7: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

Architecture

•Core• Isolated modules/widgets• Events• Internal widgets

Page 8: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

Architecture

Single responsibility – for each separate task create separate module

Page 9: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

Widgets/Modules

•Versions• Inheritance

Page 10: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

Widgets/Modules

•Context/sandbox

Page 11: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

High-load tips & tricks

-Akamai

Page 12: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

High-load tips & tricks

-Report tracking

Page 13: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

High-load tips & tricks

-Local Storage

Page 14: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

High-load tips & tricks

- Move 3-rd party APIs to client

Page 15: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

High-load tips & tricks

-AppDynamics

Page 16: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

High-load tips & tricks

-Client-side profiling

Page 17: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

High-load tips & tricks

-jMeter load tests

Page 18: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

High-load tips & tricks

-Jasmine

Page 19: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

High-load tips & tricks

- Selenium web-driver UI tests

Page 20: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

High-load tips & tricks

- Mobile Optimized (OOP is here?)

Page 21: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

High-load tips & tricks

- Client-side error tracking

Page 22: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

High-load tips & tricks

- Move more stuff to front-end

Page 23: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

A slide with no useful information at all

• Just filling the gap between previous slide and the next one (which will be along in just a moment).• No need to write it down, unless you feel

completed to do so.• In fact I’m not really sure why I bothered with it.• Nothing on this slide is examinable.

Page 24: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko.

Никита Манько,sr. software engineer @ EPAM

@[email protected]

Вопросы?