Bleeding Edge Web

@EdgeATX

edgeATX.github.io/slides

edgeATX-invite.herokuapp.com

Bleeding Edge Web: July 2017

News From the Bleeding Edge

— Brian Moeskau (@bmoeskau)

Lightning Talk: Async Components with VueJS

— Ted Patrick (@__ted__)

The Peer-to-peer Web

— Paul Frazee (@pfrazee) and Tara Vancil (@taravancil)

Housekeeping

Parking Validation ($5 instead of $30)

Buffalo Billiards after-meetup

Announcements?

Thanks to our venue:

Capital Factory

Thanks to our sponsor:

MaxPoint

News from the
Bleeding Edge

Browser
Update

Browser Pop Quiz

Last check — June 28, 2017:

Chrome Firefox Edge Safari
59 54 15
16215
10.1

Browser Pop Quiz

As of July 25, 2017:

Chrome Firefox Edge Safari
59
60
54 15
1621516241
10.1

Chrome 60

Shipped July 25 (yesterday)

Chrome 60

Web Budget API

Chrome Platform Status Page

Release schedule and features by release

Maybe inspired by this?

Firefox 55 (beta)

Planeed to ship Aug 8 — Release Notes

We'll review next month, but a few interesting previews:

Edge 15 (16241)

Released July 13 (Windows Insider Preview)

Platform version updated to EdgeHTML 16

Safari 11.0 (preview)

Latest preview release July 12 — Release Notes

Coming with MacOS "High Sierra" (currently in beta)

Languages, Libraries &
Frameworks

ES2017 / ES8 Spec Released

ES2017 / ES8 Highlight

String.padStart / padEnd

'edge'.padStart(2);              // 'edge'
'edge'.padStart(8);              // '    edge'
'edge'.padStart(8, 'bleeding');  // 'bleeedge'

'edge'.padEnd(8);         // 'edge    '
'edge'.padEnd(8, 'web');  // 'edgewebw'

ES2017 / ES8 Highlight

Object.values

let meetup = { x: 'bleeding', y: 'edge' };
Object.values(meetup);
// ['bleeding', 'edge']

Object.values('edge');
// ['e', 'd', 'g', 'e']

ES2017 / ES8 Highlight

Object.entries

let meetup = { x: 'bleeding', y: 'edge' };
Object.entries(meetup);
// [['x', 'bleeding'], ['y', 'edge']]

Object.entries('edge');
// [['0', 'e'], ['1', 'd'], ['2', 'g'], ['3', 'e']]

ES2017 / ES8 Highlight

Object.getOwnPropertyDescriptors

const meetup = {
  get desc() { return 'BEW'; }
};

Object.getOwnPropertyDescriptors(meetup);
// { desc: {
//     configurable: true,
//     enumerable: true,
//     get: function desc(){},
//     set: undefined
// }}

ES2017 / ES8 Highlight

Trailing commas in function calls

function meetup(bleeding, edge, web,) { // OK!
  // ...
}
meetup('this', 'is', 'neat',) // Also OK!

ES2017 / ES8 Highlight

Async functions

function meetupPromise() {
  return new Promise(resolve => {
    setTimeout(() => { resolve('BEW'); }, 2000);
  });
}
async function getMeetup() {
  const meetup = await meetupPromise();
  console.log(meetup); // 'BEW'
}

ES2017 / ES8 Highlight

Async functions

console.log('1');
getMeetup();
console.log('2');

> 1   // immediately
> 2   // immediately
> BEW // after 2 seconds

ES2017 / ES8 Highlight

Shared memory and atomics

Enables sharing data between multiple workers and the core thread

Find out more

Interesting Releases

Security

Let's Encrypt

A free, automated, and open Certificate Authority

In Case You
Missed It

Flash is Officially Dead

And now for something completely different...

PHP7 to ES7 syntax translator

Get the code

Upcoming
Events

Alexa Skills Tour

Thanks!

http://edgeATX.github.io/slides

Brian Moeskau — @bmoeskau


Bleeding Edge Web

/

#