SlideShare a Scribd company logo
HotStar @ JSFoo-2017
Reflections by HotStar-WEB team on some of the key talks
Talks that excited us
● Demystifying Web Components as the Weapon for Web Convergence
● Safety not Guaranteed
● Building Immersive Experiences with WebVR
● JEST - A Testing Framework
● React Native
● Shadow DOM
Web Components
● They are re-usable, performant, easy to code, easy to use, and lightweight
● Provide Custom Element, Shadow DOM, HTML Import, and HTML Template
● Web Components can help us build standard reusable custom html elements with bundled CSS, HTML &
JS
● Perfectly reusable components across all browsers & even with multiple frameworks like React, Ember,
Vue
● Standardisation of the Web
● Ola, Google, GitHub, Comcast, Salesforce and General Electric
● Polymer supports Web Components very well.
Building JS apps with security in Mind
● Client Side Weaknesses -- Angular and Template Injection, Script Injection in MDWiki
● Server Side Weaknesses -- Jade accessing root object in CodePen, Node.js unserialize() code exec
● Clients sending encryption key and IV in plaintext
● Typo in header could lead to click-jacking attacks
● Content Security Policy
-- directives
-- report-uri for reporting the violation reports
● SubResource Integrity -- Is the file you fetched actually the file you fetched? CryptoHash
● HTTP Strict Transport Security
● OWASP Project
● Think like an attacker when building Apps
WebVR
● What is Virtual Reality
● Why Web-VR?
● Introduction to A-Frame
● Getting started with A-Frame
JEST - Unit Testing Framework
- How does current testing frameworks work ?
- How do we test UI using current frameworks ?
- JEST has a reference to previous working snapshot of UI
- Snapshot is nothing but a JSON data which represents the DOM
Shadow DOM
- What we used to do ?
- What we do now with react ?
- How is shadow dom better ? - Encapsulation of UI elements
- Currently Polymer has the api built in for Shadow DOM
React Native - Do we need it ?
- Currently we write business logic at 3 points. Web, iOS and Android
- React Native saves us from this.
- Pros:
Change once and it will reflect at all places
One Language to rule all
- Cons:
Bundle size
UI Elements
Interactivity is different in different platforms. So in such cases we again end up building
platform specific components
Since React Native is new, the framework itself is changing at fast pace.
Webpack Bundling
- JS Chunking - route basis
- CSS Chunking - route basis
- Chunking to create on demand loading
- Separating Mobile Code from Desktop as UI and functionalities are different
- Chunking at component level for heavier components
- Reduce Image size and load image on basis of platform
- Lazy Loading of Fonts as it blocks rendering
- And of course gzip assets
- Caching the pages and not putting load on server for server side rendering
This type of bundling lead to lower size of assets to be shipped to browser and faster first time load. Most
of the work is already done for our web 2.0 except the images which will get solved with cloudinary.
References
● Demystifying Web Components as the Weapon for Web Convergence -- Rahat Khanna
● Safety not Guaranteed -- Riyaz Walikar
● Building Immersive Experiences with WebVR -- Ram Vaishnav
● Importance of Testing & the Right Way to Test React Components -- Manjula Dube
● Improving Load time of a Production React App -- Kanav Arora

More Related Content

PPT
Next generation frontend tooling
PDF
Unit Testing in JavaScript
PDF
Hello world - intro to node js
PDF
Lessons in Open Source from the MongooseJS ODM
PDF
Introduction to jest
PDF
MongoDB MEAN Stack Webinar October 7, 2015
PPTX
Why you should switch to Cypress for modern web testing?
PPTX
PHP Indonesia - Nodejs Web Development
Next generation frontend tooling
Unit Testing in JavaScript
Hello world - intro to node js
Lessons in Open Source from the MongooseJS ODM
Introduction to jest
MongoDB MEAN Stack Webinar October 7, 2015
Why you should switch to Cypress for modern web testing?
PHP Indonesia - Nodejs Web Development

What's hot (20)

PDF
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...
PPTX
QA Challenge Accepted 4.0 - Cypress vs. Selenium
PPTX
ОЛЕКСІЙ ОСТАПОВ «Найкрутіші особливості автоматизації на Playwright Python» K...
PDF
Afrimadoni the power of docker
PDF
TDD a REST API With Node.js and MongoDB
PPTX
Automated Testing with Cucumber, PhantomJS and Selenium
PPTX
Typescript: JS code just got better!
PDF
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
PDF
DownTheRabbitHole.js – How to Stay Sane in an Insane Ecosystem
PDF
ITT Flisol 2013
PPTX
TypeScript Jump Start
PDF
Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
PPTX
WordPress Development Environments
PPTX
Introduction to cypress in Angular (Chinese)
PDF
КОСТЯНТИН КЛЮЄВ «Postman: API Automation Testing Swiss Army Knife» Kyiv QADay...
PDF
Conquering AngularJS Limitations
PDF
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
PPTX
CQ5 Development Setup, Maven Build and Deployment
PPTX
Stencil JS for Framework Free Web Components | Steven Zelek
PPTX
Introduction to Integration Testing With Cypress
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...
QA Challenge Accepted 4.0 - Cypress vs. Selenium
ОЛЕКСІЙ ОСТАПОВ «Найкрутіші особливості автоматизації на Playwright Python» K...
Afrimadoni the power of docker
TDD a REST API With Node.js and MongoDB
Automated Testing with Cucumber, PhantomJS and Selenium
Typescript: JS code just got better!
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
DownTheRabbitHole.js – How to Stay Sane in an Insane Ecosystem
ITT Flisol 2013
TypeScript Jump Start
Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
WordPress Development Environments
Introduction to cypress in Angular (Chinese)
КОСТЯНТИН КЛЮЄВ «Postman: API Automation Testing Swiss Army Knife» Kyiv QADay...
Conquering AngularJS Limitations
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
CQ5 Development Setup, Maven Build and Deployment
Stencil JS for Framework Free Web Components | Steven Zelek
Introduction to Integration Testing With Cypress
Ad

Similar to JSFoo-2017 Takeaways (20)

PDF
React Conf 17 Recap
PDF
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
PDF
[4developers2016] The ultimate mobile DX using JS as a primary language (Fato...
PDF
Developing Apps With React Native
PPTX
Mobile gotcha
PPTX
Frontender in-2016
PDF
Experiences building apps with React Native @UtrechtJS May 2016
PDF
Introduction to React Native
PDF
React Tech Salon
PPTX
Web development post io2016
PDF
JS digest. May 2017
PPTX
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
KEY
Single Page Applications - Desert Code Camp 2012
PDF
Zepto and the rise of the JavaScript Micro-Frameworks
PDF
The Gist of React Native
PPTX
Vuejs and Web components - current state
PDF
React - The JavaScript Library for User Interfaces
PPTX
JS digest. Mid-Summer 2017
PDF
How Can the Hermes Engine Help React Native Apps.
PDF
Rapid Evolution of Web Dev? aka Talking About The Web
React Conf 17 Recap
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
[4developers2016] The ultimate mobile DX using JS as a primary language (Fato...
Developing Apps With React Native
Mobile gotcha
Frontender in-2016
Experiences building apps with React Native @UtrechtJS May 2016
Introduction to React Native
React Tech Salon
Web development post io2016
JS digest. May 2017
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
Single Page Applications - Desert Code Camp 2012
Zepto and the rise of the JavaScript Micro-Frameworks
The Gist of React Native
Vuejs and Web components - current state
React - The JavaScript Library for User Interfaces
JS digest. Mid-Summer 2017
How Can the Hermes Engine Help React Native Apps.
Rapid Evolution of Web Dev? aka Talking About The Web
Ad

Recently uploaded (20)

PDF
cuic standard and advanced reporting.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Empathic Computing: Creating Shared Understanding
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
Electronic commerce courselecture one. Pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Big Data Technologies - Introduction.pptx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Approach and Philosophy of On baking technology
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Machine learning based COVID-19 study performance prediction
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PPTX
Cloud computing and distributed systems.
cuic standard and advanced reporting.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Empathic Computing: Creating Shared Understanding
GamePlan Trading System Review: Professional Trader's Honest Take
Electronic commerce courselecture one. Pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Per capita expenditure prediction using model stacking based on satellite ima...
Understanding_Digital_Forensics_Presentation.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Big Data Technologies - Introduction.pptx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Approach and Philosophy of On baking technology
Spectral efficient network and resource selection model in 5G networks
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Unlocking AI with Model Context Protocol (MCP)
Machine learning based COVID-19 study performance prediction
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Cloud computing and distributed systems.

JSFoo-2017 Takeaways

  • 1. HotStar @ JSFoo-2017 Reflections by HotStar-WEB team on some of the key talks
  • 2. Talks that excited us ● Demystifying Web Components as the Weapon for Web Convergence ● Safety not Guaranteed ● Building Immersive Experiences with WebVR ● JEST - A Testing Framework ● React Native ● Shadow DOM
  • 3. Web Components ● They are re-usable, performant, easy to code, easy to use, and lightweight ● Provide Custom Element, Shadow DOM, HTML Import, and HTML Template ● Web Components can help us build standard reusable custom html elements with bundled CSS, HTML & JS ● Perfectly reusable components across all browsers & even with multiple frameworks like React, Ember, Vue ● Standardisation of the Web ● Ola, Google, GitHub, Comcast, Salesforce and General Electric ● Polymer supports Web Components very well.
  • 4. Building JS apps with security in Mind ● Client Side Weaknesses -- Angular and Template Injection, Script Injection in MDWiki ● Server Side Weaknesses -- Jade accessing root object in CodePen, Node.js unserialize() code exec ● Clients sending encryption key and IV in plaintext ● Typo in header could lead to click-jacking attacks ● Content Security Policy -- directives -- report-uri for reporting the violation reports ● SubResource Integrity -- Is the file you fetched actually the file you fetched? CryptoHash ● HTTP Strict Transport Security ● OWASP Project ● Think like an attacker when building Apps
  • 5. WebVR ● What is Virtual Reality ● Why Web-VR? ● Introduction to A-Frame ● Getting started with A-Frame
  • 6. JEST - Unit Testing Framework - How does current testing frameworks work ? - How do we test UI using current frameworks ? - JEST has a reference to previous working snapshot of UI - Snapshot is nothing but a JSON data which represents the DOM
  • 7. Shadow DOM - What we used to do ? - What we do now with react ? - How is shadow dom better ? - Encapsulation of UI elements - Currently Polymer has the api built in for Shadow DOM
  • 8. React Native - Do we need it ? - Currently we write business logic at 3 points. Web, iOS and Android - React Native saves us from this. - Pros: Change once and it will reflect at all places One Language to rule all - Cons: Bundle size UI Elements Interactivity is different in different platforms. So in such cases we again end up building platform specific components Since React Native is new, the framework itself is changing at fast pace.
  • 9. Webpack Bundling - JS Chunking - route basis - CSS Chunking - route basis - Chunking to create on demand loading - Separating Mobile Code from Desktop as UI and functionalities are different - Chunking at component level for heavier components - Reduce Image size and load image on basis of platform - Lazy Loading of Fonts as it blocks rendering - And of course gzip assets - Caching the pages and not putting load on server for server side rendering This type of bundling lead to lower size of assets to be shipped to browser and faster first time load. Most of the work is already done for our web 2.0 except the images which will get solved with cloudinary.
  • 10. References ● Demystifying Web Components as the Weapon for Web Convergence -- Rahat Khanna ● Safety not Guaranteed -- Riyaz Walikar ● Building Immersive Experiences with WebVR -- Ram Vaishnav ● Importance of Testing & the Right Way to Test React Components -- Manjula Dube ● Improving Load time of a Production React App -- Kanav Arora