what's new and what's next in electron & chromium [2016]
TRANSCRIPT
![Page 1: What's new and what's next in Electron & Chromium [2016]](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0606d1a28ab8f6c8b46bf/html5/thumbnails/1.jpg)
What's new and what's next: Electron & Chromium
Ben Gotow (@bengotow)
![Page 2: What's new and what's next in Electron & Chromium [2016]](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0606d1a28ab8f6c8b46bf/html5/thumbnails/2.jpg)
![Page 3: What's new and what's next in Electron & Chromium [2016]](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0606d1a28ab8f6c8b46bf/html5/thumbnails/3.jpg)
Electron• 364 pull requests closed since the last meet-up
• Cleaner public APIs, documentation in four more languages
• Web Notifications on Windows 8+
• Animated BrowserWindow.setBounds
![Page 4: What's new and what's next in Electron & Chromium [2016]](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0606d1a28ab8f6c8b46bf/html5/thumbnails/4.jpg)
Touch Events• Two new BrowserWindow events scroll-touch-begin, scroll-touch-end.
• IPC them into the renderer process and combine with wheel events to implement gestures!
https://github.com/bengotow/electron-swipe-to-archive
(Coming in the next Electron release)
![Page 5: What's new and what's next in Electron & Chromium [2016]](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0606d1a28ab8f6c8b46bf/html5/thumbnails/5.jpg)
Tracking Chromium
• Electron aggressively tracks Chromium and NodeJS releases.
• Currently at Chromium 47, Node 5.1.1.
• We’re one of the few communities that can build on new features immediately! So… what are the new features?
![Page 6: What's new and what's next in Electron & Chromium [2016]](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0606d1a28ab8f6c8b46bf/html5/thumbnails/6.jpg)
CSS Motion Paths
http://danielcwilson.com/blog/2015/09/animations-part-5/
![Page 7: What's new and what's next in Electron & Chromium [2016]](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0606d1a28ab8f6c8b46bf/html5/thumbnails/7.jpg)
requestIdleCallbackSchedule work when there is free time at the end of a frame, or when the user is inactive.
https://developers.google.com/web/updates/2015/08/using-requestidlecallback?hl=en
![Page 8: What's new and what's next in Electron & Chromium [2016]](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0606d1a28ab8f6c8b46bf/html5/thumbnails/8.jpg)
requestIdleCallback• Ideal for unimportant tasks
which can be paused and resumed, and broken into fixed-time chunks.
• Building thumbnails • Sending analytics • Mining Bitcoin
“Call my function within X milliseconds and give me a function I can call to know when I’ve run out of time.”
![Page 9: What's new and what's next in Electron & Chromium [2016]](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0606d1a28ab8f6c8b46bf/html5/thumbnails/9.jpg)
requestIdleCallbackfunction myNonEssentialWork (deadline) { while (deadline.timeRemaining() > 0 && tasks.length > 0) doWorkIfNeeded();
if (tasks.length > 0) requestIdleCallback(myNonEssentialWork);}
// Wait at most two seconds before processing events.requestIdleCallback(processPendingAnalyticsEvents, { timeout: 2000});
![Page 10: What's new and what's next in Electron & Chromium [2016]](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0606d1a28ab8f6c8b46bf/html5/thumbnails/10.jpg)
array.indexOf(item) !== -1
array.includes(item)
ECMAScript 6
![Page 11: What's new and what's next in Electron & Chromium [2016]](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0606d1a28ab8f6c8b46bf/html5/thumbnails/11.jpg)
array.indexOf(item) !== -1
array.includes(item)
ECMAScript 6
pretty much here!
![Page 12: What's new and what's next in Electron & Chromium [2016]](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0606d1a28ab8f6c8b46bf/html5/thumbnails/12.jpg)
array.indexOf(item) !== -1
array.includes(item)
ECMAScript 6
![Page 13: What's new and what's next in Electron & Chromium [2016]](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0606d1a28ab8f6c8b46bf/html5/thumbnails/13.jpg)
Chromium 47
😅😳
![Page 14: What's new and what's next in Electron & Chromium [2016]](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0606d1a28ab8f6c8b46bf/html5/thumbnails/14.jpg)
Chromium 48
😍😎
![Page 15: What's new and what's next in Electron & Chromium [2016]](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0606d1a28ab8f6c8b46bf/html5/thumbnails/15.jpg)
Memory• Same task scheduling capabilities are driving smarter
garbage collection in Chromium for jank-free scrolling!
• With Gmail open, memory consumption in Chrome 45 is 45% lower than previous versions after two minutes. (50MB less!)
![Page 16: What's new and what's next in Electron & Chromium [2016]](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f0606d1a28ab8f6c8b46bf/html5/thumbnails/16.jpg)
Coming Soon• VP9 Codec: WebRTC support for VP9! HD video
at almost half the bandwidth of VP8 or H264
Chrom
ium 48
Chrom
ium 49
• Proxy: Define custom behavior for fundamental operations (e.g. property lookup, assignment, enumeration, function invocation, etc)
Objective-C: objc_msgsend
Ruby: method_missing
JavaScript: Proxy.handler.apply 🎉