 Chrome 63 allows you to import JavaScript modules dynamically. My favorite interview coding question becomes a piece of cake with async iterators and generators, and you can override the browser's default overflow scroll behavior with the CSS overflow scroll behavior property. I'm Pete LaPage. Let's dive in and see what's new for developers in Chrome 63. Importing JavaScript modules is super handy, but it's static. You can't import a module based on runtime conditions. Thankfully, that changes in Chrome 63 with the new dynamic import syntax. It allows you to dynamically load code into modules and scripts at runtime. It can be used to lazy load a script only when it's needed, improving the performance of your application. Instead of loading your whole application when the user first hits your page, you can grab only the resources you need for them to sign in. Your initial load is small and screaming fast. Then, once the user signs in, load the rest and you're good to go. Writing code that does any sort of iteration with async functions can be ugly. In fact, it's the core part of my favorite interview coding question. Now, with async generator functions and the async iteration protocol, consumption or implementation of streaming data sources becomes streamlined, and my coding question becomes much easier. Async iterators can be used in four of loops to create your own custom async iterators through async iterator factories. Scrolling is one of the most fundamental ways to interact with a page, but certain patterns can be tricky to deal with. For example, the browser's pull to refresh feature where swiping down at the top of the page causes a hard reload. In some cases, you might want to override that behavior and provide your own experience. That's what Twitter's progressive web app does. When you pull down, instead of reloading the whole page, it adds any new tweets to the current view. Chrome 63 now supports the CSS over scroll behavior property, making it easy to override the browser's default overflow scroll behavior. You can use it to cancel scroll training, disable or customize the pull to refresh action, disable rubber banding effects on iOS, add swipe navigations and more. The best part, over scroll behavior, doesn't have a negative effect on your page performance. I love web push notifications, but I've been really frustrated by the number of sites asking for permission on page load without any context, and I'm not alone. 90% of all permission requests are ignored or temporarily blocked. In Chrome 59, we started to address this by temporarily blocking a permission if the user dismissed the request three times. Now, in M63, Chrome for Android will make permission requests modal dialogs. Now, remember, this isn't just for push notifications, this is for all permission requests. If you ask for permission at the appropriate time and in context, we found that users are two and a half times more likely to grant permission. These are just a few of the changes in Chrome 63 for developers. Of course, there's plenty more. The finally method is now available on promise instances and is invoked after a promise has been fulfilled or rejected. The new device memory JavaScript API helps you understand performance constraints by giving you hints about the total amount of RAM on a user's device. You can tailor your experience at runtime, reducing complexity on lower end devices, providing users with a better experience and fewer frustrations. The intel.plural rules API allows you to build applications that understand pluralization of a given language by indicating which plural forms for a given number and language. And that can help with ordinal numbers. All the details, including links to the docs and specs are in the description below. And be sure to check out the latest new and Chrome DevTools video to learn what's new in DevTools. Then click the subscribe button and you'll get an email notification whenever we launch a new video. I'm Pete LePage and as soon as Chrome 64 is released, we're right here to tell you what's new in Chrome.