SlideShare a Scribd company logo
JS digest
May 2017
by Oleksandr Oliynyk,
Software Developer at ElifTech
www.eliftech.com
Agenda
Things to mention from April:
▪ new React (v15.5.0)
▪ bye-bye Phantom.js and hello
headless Chrome
▪ new MS Edge
▪ new Firefox (v53)
▪ new Chrome (v58 and v59b)
▪ Browser’s market share
▪ Facebook F8 takeaways
May:
▪ Native ES modules at
browsers
▪ Cool libs (HR.js, React VR,
AcrossTabs, stylelint, sizzy,
k6)
▪ Glimpse, new debugging tool
▪ Polymer 2.0 landed
▪ Google I/O takeaways
▪ The Modern Mobile Web:
State of the Union
▪ npm 5.0
▪ Node.js 8.0
www.eliftech.com
React (v15.5.0)*
▪ New Deprecation Warnings
▪ React.PropTypes and React.createClass
▪ New packages
▪ prop-type and create-react-class
▪ Discontinuing support for React Addons. The add-ons have now all either been
deprecated or moved to separate modules
▪ Separating modules and reorganizing them
▪ Who will have 0 warnings with 15.5, won’t have them with 16
*More about it here
www.eliftech.com
bye-bye Phantom.js?*
▪ Vitaly Slobodin, main maintainer droped the project
▪ greet headless Chrome (from v59)
▪ Chrome asked maintainer to use Chromium as runtime target
▪ PhantomJS creator Ariya Hidayat seems to have hopes for PhantomJS on Chromium
▪ big challenge. As of this writing, PhantomJS has 1,801 open issues :)
▪ and main maintainer started Phantomium (PhantomJS API with Chrome)
*More about it here
www.eliftech.com
new MS Edge*
▪ Web developers can start testing EdgeHTML 15 today by downloading a free virtual
machine from Microsoft Edge Dev
▪ New tabs management, reading experience…
▪ Microsoft Edge on the Creators Update uses 31% less power than Google Chrome 57,
and 44% less power than Mozilla Firefox 52
▪ For developers: Payment Request API, CSS Custom Properties, WebVR Developer
Preview, WebRTC, async-await, TCP Fast Open, Intersection Observer, experimental
support for WebAssembly…
*More about it here
www.eliftech.com
new Firefox (v53)*
▪ Quantum Compositor Process on Windows
▪ Light and Dark Compact Themes
▪ New WebExtension Features
▪ New CSS Features: Positioned Masks and Flow-Root
▪ A Better Default Media Experience
▪ 64-bit Everywhere
*More about it here
www.eliftech.com
new Chrome (v58 and v59b)*
▪ IndexedDB 2.0 standard is now fully supported in Chrome
▪ Progressive Web Apps become more immersive with display: fullscreen
▪ goodbye to the clearfix, with display: flow-root
▪ Headless Chromium
▪ Native notifications on macOS
*More about v58 here, v59b here
www.eliftech.com
Browser’s market share*
All platforms
*More about it here
www.eliftech.com
Browser’s market share(cont.)
▪ Mobile
▪ in 2016 Opera shared that Opera Mini was Africa’s favourite browser, with an
impressive 58% market share.
*More about it here
www.eliftech.com
Browser’s market share(cont.)
www.eliftech.com
Facebook F8 takeaways*
▪ Facebook Messenger 2.0 (with Smart Replies)
▪ Facebook Camera Becomes an AR Platform
▪ Live Video and GIPHY
▪ Facebook Spaces, the New VR Platform
▪ Ultra-Connectivity (Terragraph and Aquila)
▪ 360 Degree Camera
▪ Silent Speech Recognition
▪ ‘skin-hearing’ project and thoughts to text
*More about it here
www.eliftech.com
www.eliftech.com
Native ES modules at browsers*
ES modules are starting to land in browsers! They're in…
▪ Safari 10.1.
▪ Chrome Canary 60 – behind the Experimental Web Platform flag in chrome:flags.
▪ Firefox 54 – behind the dom.moduleScripts.enabled setting in about:config.
▪ Edge 15 – behind the Experimental JavaScript Features setting in about:flags
*More about it here
www.eliftech.com
Native ES modules at browsers(cont.)
www.eliftech.com
Native ES modules at browsers(cont.)
Need to know:
▪ "Bare" import specifiers aren't currently supported
▪ nomodule for backwards compatibility
▪ Defer by default
▪ Inline scripts are also deferred
▪ Async works on external & inline modules
▪ Modules only execute once
▪ Always CORS
▪ No credentials
*More about it here
www.eliftech.com
Cool libs m/
HR.js*
▪ plugin for highlighting and replacing text in the DOM
▪ Zero-dependency
*More about it here
new
HR("#replace_highlight_examp
le", {
highlight:"elit",
replaceWith: "boo",
backgroundColor:"#B4FFEB"
}).hr();
www.eliftech.com
Cool libs m/ (cont.)
React VR*
▪ React VR is a framework for the creation of VR applications
▪ pairs modern APIs like WebGL and WebVR
▪ learn once, write anywhere
*More about it here
www.eliftech.com
Cool libs m/ (cont.)
AcrossTabs*
▪ cross-origin communication among different browser tabs
▪ Fully fledged API to get information regarding the tabs
▪ Only ~4 KB gzipped
▪ Parent → Child communication
*More about it here
www.eliftech.com
Cool libs m/ (cont.)
stylelint*
▪ modern CSS linter
▪ Understands CSS-like syntaxes
▪ Automatically fix some stylistic warnings
▪ Used by Facebook, Github, Wikimedia, GSA, and WordPress among others
*More about it here
www.eliftech.com
Cool libs m/ (cont.)
sizzy*
▪ test responsiveness easily
▪ has chrome extension
*More about it here
www.eliftech.com
Cool libs m/ (cont.)
k6*
▪ Like unit testing, for performance (load testing)
▪ built with Go and JavaScript
*More about it here
import { check } from "k6";
import http from "k6/http";
export default function() {
let res = http.get("https://httpbin.org/");
check(res, {
"is status 200": (r) => r.status === 200
});
};
$docker run -i loadimpact/k6 run --vus 10 --duration 30s -
www.eliftech.com
Glimpse, new debugging tool*
▪ Full-stack Node.js web diagnostics
▪ Information about both client and server-side requests
▪ experiment by Microsoft
*More about it here
Magic happens here:
1. In your app`s root directory, use npm to install Glimpse.
npm install @glimpse/glimpse --save-dev
2. Initialize Glimpse before any other require() or application logic (typically at
the top of index.js or app.js).
if (process.env.NODE_ENV !== 'production') {
require('@glimpse/glimpse').init();
}
3. Open your app in a browser. The Glimpse HUD should now be at the bottom
right of your app.
www.eliftech.com
www.eliftech.com
Google I/O*
▪ Active monthly Android users surpass 2 billion
▪ Google Assistant is now available on iOS
▪ Android Go aims to connect the “next billion” users online
▪ uses neural networks to train other neural networks
▪ shift from mobile-first to AI-first
*More about it here
www.eliftech.com
Polymer 2.0 landed*
▪ support for ES6 class-based syntax
▪ lightweight core at just 11k
▪ new Polymer Analyzer - a static analyzer for the web
*More about it here
www.eliftech.com
The Modern Mobile Web: State of the Union*
▪ Posted by Rahul Roy-chowdhury, VP Product Management, Chrome
▪ 2,000,000,000 AMP pages have been created
▪ Success stories:
● Average page load time decreased from 12 seconds to less than one second, and
conversion rates increased by 95% (Wego’s website)
● engagement rates have more than doubled since launch (Forbes)
● 20% of users who book using their PWA had previously uninstalled their app (Ola)
*More about it here
www.eliftech.com
Wowowowowow npm@5!*
▪ A new, standardised lockfile
▪ --save is no longer necessary
▪ npm no longer blasts your screen with the whole installed tree
*More about it here
www.eliftech.com
Carbon node.js v8.0*
▪ will become the current LTS version from October 2017 and will be maintained till
December 31st, 2019
▪ Say hello to the WHATWG URL parser
▪ util.promisify()
▪ started the process of assigning static error codes to all errors
▪ have dropped the "v" in Node.js 8
*More about it here
www.eliftech.com

More Related Content

PPTX
JS digest, March 2017
PPTX
JS digest. Mid-Summer 2017
PPTX
JS digest. July 2017
PPTX
JS digest. February 2017
PPTX
JS digest. January 2017
PPTX
Introduction to Node.js
PPTX
JS digest. October 2017
PDF
Fixing Gaps. Strengthening the Chromium platform for content blocking
JS digest, March 2017
JS digest. Mid-Summer 2017
JS digest. July 2017
JS digest. February 2017
JS digest. January 2017
Introduction to Node.js
JS digest. October 2017
Fixing Gaps. Strengthening the Chromium platform for content blocking

What's hot (20)

PPTX
SnapyX
PDF
Intro to Node.js
PPTX
Confoo - Javascript Server Side : How to start
PPTX
Node.js Internals and V8 / Operating System Interaction
PDF
Firebase and AngularJS
PPTX
Introduction to Node.js
PPTX
Docker & azure
PPSX
Node.js In The Enterprise - A Primer
PDF
React Typescript for beginners: Translator app with Microsoft cognitive services
PPT
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
PPTX
.Net platform .Net core fundamentals
PPTX
Net core
PDF
Introduction to Node.js
PPT
Web assembly overview by Mikhail Sorokovsky
PPTX
Developing a native mobile apps using Ionic&Cordova
PDF
Build a lego app with CocoaPods
PDF
Isomorphic React Applications: Performance And Scalability
PDF
What's new with JavaScript in GNOME: The 2020 edition (GUADEC 2020)
PDF
JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka
PDF
Amsterdam.js talk: node webkit
SnapyX
Intro to Node.js
Confoo - Javascript Server Side : How to start
Node.js Internals and V8 / Operating System Interaction
Firebase and AngularJS
Introduction to Node.js
Docker & azure
Node.js In The Enterprise - A Primer
React Typescript for beginners: Translator app with Microsoft cognitive services
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
.Net platform .Net core fundamentals
Net core
Introduction to Node.js
Web assembly overview by Mikhail Sorokovsky
Developing a native mobile apps using Ionic&Cordova
Build a lego app with CocoaPods
Isomorphic React Applications: Performance And Scalability
What's new with JavaScript in GNOME: The 2020 edition (GUADEC 2020)
JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka
Amsterdam.js talk: node webkit
Ad

Similar to JS digest. May 2017 (20)

PPTX
JS digest. November 2017
PPTX
JS digest. January 2018
PPTX
Progressive Web Apps and React
PDF
APIs, now and in the future
PDF
three_software_development_trends_to_follow_in_2016
PDF
Making sense of the front-end, for PHP developers
PPTX
Frontender in-2016
PPTX
JS digest. Decemebr 2017
PDF
HTML 5 & The Modern Web
PDF
JSFoo-2017 Takeaways
PDF
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
PDF
Frontend. Global domination.
PDF
Front-end. Global domination
PDF
[4developers2016] The ultimate mobile DX using JS as a primary language (Fato...
PPTX
Introduction to Modern and Emerging Web Technologies
PPTX
Web components and Package managers
PDF
Empowering the Mobile Web - Mills
PDF
Empowering the "mobile web"
PDF
Empowering the “Mobile Web” with Chris Mills
PDF
More efficient, usable web
JS digest. November 2017
JS digest. January 2018
Progressive Web Apps and React
APIs, now and in the future
three_software_development_trends_to_follow_in_2016
Making sense of the front-end, for PHP developers
Frontender in-2016
JS digest. Decemebr 2017
HTML 5 & The Modern Web
JSFoo-2017 Takeaways
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
Frontend. Global domination.
Front-end. Global domination
[4developers2016] The ultimate mobile DX using JS as a primary language (Fato...
Introduction to Modern and Emerging Web Technologies
Web components and Package managers
Empowering the Mobile Web - Mills
Empowering the "mobile web"
Empowering the “Mobile Web” with Chris Mills
More efficient, usable web
Ad

More from ElifTech (20)

PPTX
Go Concurrency Patterns
PPTX
Go Concurrency Basics
PPTX
Domain Logic Patterns
PPTX
Dive into .Net Core framework
PPTX
VR digest. August 2018
PPTX
JS digest. July 2018
PPTX
VR digest. July 2018
PPTX
IoT digest. July 2018
PPTX
VR digest. June 2018
PPTX
IoT digest. June 2018
PPTX
IoT digest. May 2018
PPTX
Object Detection with Tensorflow
PPTX
VR digest. May 2018
PPTX
Polymer: brief introduction
PPTX
JS digest. April 2018
PPTX
VR digest. April, 2018
PPTX
IoT digest. April 2018
PPTX
IoT digest. March 2018
PPTX
VR digest. March, 2018
PPTX
VR digest. February, 2018
Go Concurrency Patterns
Go Concurrency Basics
Domain Logic Patterns
Dive into .Net Core framework
VR digest. August 2018
JS digest. July 2018
VR digest. July 2018
IoT digest. July 2018
VR digest. June 2018
IoT digest. June 2018
IoT digest. May 2018
Object Detection with Tensorflow
VR digest. May 2018
Polymer: brief introduction
JS digest. April 2018
VR digest. April, 2018
IoT digest. April 2018
IoT digest. March 2018
VR digest. March, 2018
VR digest. February, 2018

Recently uploaded (20)

PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
Operating system designcfffgfgggggggvggggggggg
Upgrade and Innovation Strategies for SAP ERP Customers
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
How to Migrate SBCGlobal Email to Yahoo Easily
Design an Analysis of Algorithms II-SECS-1021-03
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Odoo POS Development Services by CandidRoot Solutions
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Which alternative to Crystal Reports is best for small or large businesses.pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development
VVF-Customer-Presentation2025-Ver1.9.pptx
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PTS Company Brochure 2025 (1).pdf.......
Design an Analysis of Algorithms I-SECS-1021-03
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Operating system designcfffgfgggggggvggggggggg

JS digest. May 2017

  • 1. JS digest May 2017 by Oleksandr Oliynyk, Software Developer at ElifTech
  • 2. www.eliftech.com Agenda Things to mention from April: ▪ new React (v15.5.0) ▪ bye-bye Phantom.js and hello headless Chrome ▪ new MS Edge ▪ new Firefox (v53) ▪ new Chrome (v58 and v59b) ▪ Browser’s market share ▪ Facebook F8 takeaways May: ▪ Native ES modules at browsers ▪ Cool libs (HR.js, React VR, AcrossTabs, stylelint, sizzy, k6) ▪ Glimpse, new debugging tool ▪ Polymer 2.0 landed ▪ Google I/O takeaways ▪ The Modern Mobile Web: State of the Union ▪ npm 5.0 ▪ Node.js 8.0
  • 3. www.eliftech.com React (v15.5.0)* ▪ New Deprecation Warnings ▪ React.PropTypes and React.createClass ▪ New packages ▪ prop-type and create-react-class ▪ Discontinuing support for React Addons. The add-ons have now all either been deprecated or moved to separate modules ▪ Separating modules and reorganizing them ▪ Who will have 0 warnings with 15.5, won’t have them with 16 *More about it here
  • 4. www.eliftech.com bye-bye Phantom.js?* ▪ Vitaly Slobodin, main maintainer droped the project ▪ greet headless Chrome (from v59) ▪ Chrome asked maintainer to use Chromium as runtime target ▪ PhantomJS creator Ariya Hidayat seems to have hopes for PhantomJS on Chromium ▪ big challenge. As of this writing, PhantomJS has 1,801 open issues :) ▪ and main maintainer started Phantomium (PhantomJS API with Chrome) *More about it here
  • 5. www.eliftech.com new MS Edge* ▪ Web developers can start testing EdgeHTML 15 today by downloading a free virtual machine from Microsoft Edge Dev ▪ New tabs management, reading experience… ▪ Microsoft Edge on the Creators Update uses 31% less power than Google Chrome 57, and 44% less power than Mozilla Firefox 52 ▪ For developers: Payment Request API, CSS Custom Properties, WebVR Developer Preview, WebRTC, async-await, TCP Fast Open, Intersection Observer, experimental support for WebAssembly… *More about it here
  • 6. www.eliftech.com new Firefox (v53)* ▪ Quantum Compositor Process on Windows ▪ Light and Dark Compact Themes ▪ New WebExtension Features ▪ New CSS Features: Positioned Masks and Flow-Root ▪ A Better Default Media Experience ▪ 64-bit Everywhere *More about it here
  • 7. www.eliftech.com new Chrome (v58 and v59b)* ▪ IndexedDB 2.0 standard is now fully supported in Chrome ▪ Progressive Web Apps become more immersive with display: fullscreen ▪ goodbye to the clearfix, with display: flow-root ▪ Headless Chromium ▪ Native notifications on macOS *More about v58 here, v59b here
  • 8. www.eliftech.com Browser’s market share* All platforms *More about it here
  • 9. www.eliftech.com Browser’s market share(cont.) ▪ Mobile ▪ in 2016 Opera shared that Opera Mini was Africa’s favourite browser, with an impressive 58% market share. *More about it here
  • 11. www.eliftech.com Facebook F8 takeaways* ▪ Facebook Messenger 2.0 (with Smart Replies) ▪ Facebook Camera Becomes an AR Platform ▪ Live Video and GIPHY ▪ Facebook Spaces, the New VR Platform ▪ Ultra-Connectivity (Terragraph and Aquila) ▪ 360 Degree Camera ▪ Silent Speech Recognition ▪ ‘skin-hearing’ project and thoughts to text *More about it here
  • 13. www.eliftech.com Native ES modules at browsers* ES modules are starting to land in browsers! They're in… ▪ Safari 10.1. ▪ Chrome Canary 60 – behind the Experimental Web Platform flag in chrome:flags. ▪ Firefox 54 – behind the dom.moduleScripts.enabled setting in about:config. ▪ Edge 15 – behind the Experimental JavaScript Features setting in about:flags *More about it here
  • 15. www.eliftech.com Native ES modules at browsers(cont.) Need to know: ▪ "Bare" import specifiers aren't currently supported ▪ nomodule for backwards compatibility ▪ Defer by default ▪ Inline scripts are also deferred ▪ Async works on external & inline modules ▪ Modules only execute once ▪ Always CORS ▪ No credentials *More about it here
  • 16. www.eliftech.com Cool libs m/ HR.js* ▪ plugin for highlighting and replacing text in the DOM ▪ Zero-dependency *More about it here new HR("#replace_highlight_examp le", { highlight:"elit", replaceWith: "boo", backgroundColor:"#B4FFEB" }).hr();
  • 17. www.eliftech.com Cool libs m/ (cont.) React VR* ▪ React VR is a framework for the creation of VR applications ▪ pairs modern APIs like WebGL and WebVR ▪ learn once, write anywhere *More about it here
  • 18. www.eliftech.com Cool libs m/ (cont.) AcrossTabs* ▪ cross-origin communication among different browser tabs ▪ Fully fledged API to get information regarding the tabs ▪ Only ~4 KB gzipped ▪ Parent → Child communication *More about it here
  • 19. www.eliftech.com Cool libs m/ (cont.) stylelint* ▪ modern CSS linter ▪ Understands CSS-like syntaxes ▪ Automatically fix some stylistic warnings ▪ Used by Facebook, Github, Wikimedia, GSA, and WordPress among others *More about it here
  • 20. www.eliftech.com Cool libs m/ (cont.) sizzy* ▪ test responsiveness easily ▪ has chrome extension *More about it here
  • 21. www.eliftech.com Cool libs m/ (cont.) k6* ▪ Like unit testing, for performance (load testing) ▪ built with Go and JavaScript *More about it here import { check } from "k6"; import http from "k6/http"; export default function() { let res = http.get("https://httpbin.org/"); check(res, { "is status 200": (r) => r.status === 200 }); }; $docker run -i loadimpact/k6 run --vus 10 --duration 30s -
  • 22. www.eliftech.com Glimpse, new debugging tool* ▪ Full-stack Node.js web diagnostics ▪ Information about both client and server-side requests ▪ experiment by Microsoft *More about it here Magic happens here: 1. In your app`s root directory, use npm to install Glimpse. npm install @glimpse/glimpse --save-dev 2. Initialize Glimpse before any other require() or application logic (typically at the top of index.js or app.js). if (process.env.NODE_ENV !== 'production') { require('@glimpse/glimpse').init(); } 3. Open your app in a browser. The Glimpse HUD should now be at the bottom right of your app.
  • 24. www.eliftech.com Google I/O* ▪ Active monthly Android users surpass 2 billion ▪ Google Assistant is now available on iOS ▪ Android Go aims to connect the “next billion” users online ▪ uses neural networks to train other neural networks ▪ shift from mobile-first to AI-first *More about it here
  • 25. www.eliftech.com Polymer 2.0 landed* ▪ support for ES6 class-based syntax ▪ lightweight core at just 11k ▪ new Polymer Analyzer - a static analyzer for the web *More about it here
  • 26. www.eliftech.com The Modern Mobile Web: State of the Union* ▪ Posted by Rahul Roy-chowdhury, VP Product Management, Chrome ▪ 2,000,000,000 AMP pages have been created ▪ Success stories: ● Average page load time decreased from 12 seconds to less than one second, and conversion rates increased by 95% (Wego’s website) ● engagement rates have more than doubled since launch (Forbes) ● 20% of users who book using their PWA had previously uninstalled their app (Ola) *More about it here
  • 27. www.eliftech.com Wowowowowow npm@5!* ▪ A new, standardised lockfile ▪ --save is no longer necessary ▪ npm no longer blasts your screen with the whole installed tree *More about it here
  • 28. www.eliftech.com Carbon node.js v8.0* ▪ will become the current LTS version from October 2017 and will be maintained till December 31st, 2019 ▪ Say hello to the WHATWG URL parser ▪ util.promisify() ▪ started the process of assigning static error codes to all errors ▪ have dropped the "v" in Node.js 8 *More about it here