9:00am–12:30pm Tuesday, June 12, 2018
Don't be daunted by web accessibility testing. Nicolas Steenhout outlines an accessibility testing workflow that can be integrated in your day-to-day coding or testing workflows. You'll review automated versus manual testing and learn how to use a variety of testing tools on real-life sites.
Read more.
9:00am–12:30pm Tuesday, June 12, 2018
No runtime exceptions, no "undefined is not a function," no JavaScript fatigue—Elm is a functional programming language for building resilient frontend applications. Join Jeremy Fairbank to get hands-on experience with Elm and quickly learn how to build fast and safe applications with Elm's framework, the Elm Architecture.
Read more.
9:00am–12:30pm Tuesday, June 12, 2018
Performance is at the forefront of many, if not most, web development projects. Fortunately, modern browsers provide a wealth of performance-related information and services, which can be used to optimize page load speed and responsiveness. Dan Shappir offers an overview of the aptly named Web Performance API and shows how to best use it to extract detailed performance information.
Read more.
9:00am–12:30pm Tuesday, June 12, 2018
To create a successful product, you need a solid understanding of your users. The key to success? Collaboration. Rachel Krause walks you through a collaborative process for creating a product users will love, from establishing users to creating a design that can be taken right into development without the need for high-fidelity mockups or detailed documentation.
Read more.
1:30pm–5:00pm Tuesday, June 12, 2018
Luca Mezzalira walks you through reactive programming using two different frameworks: Vue.js and MobX. You'll start with a basic example that will be extended during the workshop, adding new functionalities and analyzing how the reactive approach helps in your frontend projects.
Read more.
1:30pm–5:00pm Tuesday, June 12, 2018
CSS Grid is the brand-new spec available in the latest browsers. Jen Kramer details Grid's basic syntax, using a layout of a Mondrian painting as an example, and explores alternative Grid syntaxes as well as nested and offset grid layouts. Jen concludes by walking you through combining Flexbox and Grid to solve a web page layout problem.
Read more.
1:30pm–5:00pm Tuesday, June 12, 2018
Your web browser doesn't have a cute name like Alexa, Siri, or Cortana, but it can be just as talkative. Scott Davis explains why your smartphone, with its built-in speaker and microphone, is a perfect device for building a browser-based conversational UI.
Read more.
1:30pm–5:00pm Tuesday, June 12, 2018
When it comes to learning about a new framework, there's no better way than building things from scratch. Join Benjamin Hong for a hands-on deep dive into Vue.js. You'll start from a bare-bones HTML5 template and build three applications from the ground up. Along the way, you'll explore Vue.js key concepts and learn how it compares to other frameworks like Angular and React.
Read more.
1:30pm–5:00pm Tuesday, June 12, 2018
Join expert Pete Hodgson to get started with React on the right foot. Pete focuses on React fundamentals explained through two big ideas—testability and stateless components—as you learn how to build industrial-grade React apps. You’ll leave with hands-on knowledge of the major moving parts of React along with experience using tools and techniques for testing your React code.
Read more.
9:50am–10:30am Wednesday, June 13, 2018
Alexis Menard offers an overview of the WebXR Device API (formerly known as WebVR 2.0) and explains how to build a VR experience on the web from scratch. You'll get familiar with VR concepts, learn how to use them with the WebXR Device API, and discover how to port your existing WebVR 1.1 experience if you already have one.
Read more.
9:50am–10:30am Wednesday, June 13, 2018
Functional programming is all the rage these days, but with lingo like "lambdas," "functors," and "monads," it can be intimidating to get started. Join Kyle Shevlin to learn just enough functional programming for you and your team to get started without getting lost in the vernacular.
Read more.
9:50am–10:30am Wednesday, June 13, 2018
GraphQL is a new API technology that has exploded in popularity over the past year. But what's all the hype about? Peggy Rayzis details what GraphQL is and explains how integrating it into your application can solve many of the pain points frontend developers face when working with remote data.
Read more.
3:35pm–4:15pm Wednesday, June 13, 2018
Many popular services employ real-time data to engage users, but traditional web technologies like REST and Ajax were not designed for the real-time web. Matthew Larson and Ian James share an alternative approach to real-time data that is easier to understand and scales well using Redux and WebSockets and demonstrate these principles in action with a real-time multiplayer game.
Read more.
9:00am–9:40am Thursday, June 14, 2018
Browser extensions built with the WebExtensions APIs are compatible with all modern browsers. Princiya Sequeira shares lessons learned migrating a legacy privacy add-on to a web extension, with performance being the key factor. Along the way, you'll explore all things web tracking.
Read more.
9:50am–10:30am Thursday, June 14, 2018
There is a lot of talk about progressive web apps these days, but what apps actually need to be progressive? Maybe users don't need a push notification every time you post a picture of your pet. Tara Manicsic details what kinds of apps really benefit from the advancements of modern web technologies and walks you through spinning one up.
Read more.
11:00am–11:40am Thursday, June 14, 2018
Once there was the "video" tag, but content distributors decided it wasn't enough. They wanted more—more power, more protection, more control—so encrypted media extensions were born, and digital rights management appeared in our browsers. Sebastian Golasch walks you through the technical details behind EMEs, CDMs, and DRM by reverse engineering and building a Netflix video player.
Read more.
3:35pm–4:15pm Thursday, June 14, 2018
Instead of allowing our phones to make us oblivious to the world around us, what if we were able to use them to facilitate interactivity in the real world? Alex Banks details (and invites you to participate in) interactive challenges that use the power of GraphQL to create graphable relationships, covering the code that produces each activity and the data produced by the activity itself.
Read more.
3:35pm–4:15pm Thursday, June 14, 2018
HTTP/2 server push gives us the ability to proactively send assets to a browser without waiting for them to be requested. Sounds great, but is this new mechanism really a silver bullet? Using new research and real-world examples, Patrick Hamann leads a deep dive into server push and attempts to answer the question we're all asking: Is it ready for production?
Read more.
4:25pm–5:05pm Thursday, June 14, 2018
Listening is power. By tuning in and applying self-management and directed curiosity, you can help others solve their own problems. Doing this not only leads to greater ownership but also creates more leaders (rather than "order takers") in your organization. Heidi Helfand shares practical communication skills so you can become a more available and empowering coworker, friend, and leader.
Read more.