Проектирование и создание javascript framework'а для...
TRANSCRIPT
![Page 1: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/1.jpg)
Проектирование и создание
JavaScript framework'а для
высоконагруженных сайтов
Никита Манько / Mikita Manko
![Page 2: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/2.jpg)
Никита Манько,sr. software engineer @ EPAM
@MikitaManko
![Page 3: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/3.jpg)
Проект
• Front-end: UI Widgets•Back-end: services & DBs
![Page 4: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/4.jpg)
Проект
• Integration with sites of 70+ brands (real hell)
![Page 5: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/5.jpg)
![Page 6: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/6.jpg)
What is high-load?
1m+ hits per day/hour/minutes?
![Page 7: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/7.jpg)
Architecture
•Core• Isolated modules/widgets• Events• Internal widgets
![Page 8: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/8.jpg)
Architecture
Single responsibility – for each separate task create separate module
![Page 9: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/9.jpg)
Widgets/Modules
•Versions• Inheritance
![Page 10: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/10.jpg)
Widgets/Modules
•Context/sandbox
![Page 11: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/11.jpg)
High-load tips & tricks
-Akamai
![Page 12: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/12.jpg)
High-load tips & tricks
-Report tracking
![Page 13: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/13.jpg)
High-load tips & tricks
-Local Storage
![Page 14: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/14.jpg)
High-load tips & tricks
- Move 3-rd party APIs to client
![Page 15: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/15.jpg)
High-load tips & tricks
-AppDynamics
![Page 16: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/16.jpg)
High-load tips & tricks
-Client-side profiling
![Page 17: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/17.jpg)
High-load tips & tricks
-jMeter load tests
![Page 18: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/18.jpg)
High-load tips & tricks
-Jasmine
![Page 19: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/19.jpg)
High-load tips & tricks
- Selenium web-driver UI tests
![Page 20: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/20.jpg)
High-load tips & tricks
- Mobile Optimized (OOP is here?)
![Page 21: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/21.jpg)
High-load tips & tricks
- Client-side error tracking
![Page 22: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/22.jpg)
High-load tips & tricks
- Move more stuff to front-end
![Page 23: Проектирование и создание JavaScript framework'а для высоконагруженных сайтов Никита Манько / Mikita Manko](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/23.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062802/56649ea05503460f94ba3e67/html5/thumbnails/24.jpg)
Никита Манько,sr. software engineer @ EPAM
Вопросы?