How Google uses Node.js?

Myles Borins, developer advocate for Node.js at Google, shares reasons for why companies decide to use Node.js
11 August

Snapchat Inc. made the decision to use Google Cloud to host the vast majority of its computing, storage, bandwidth, and other services.

Google Cloud Platform is a suite of cloud computing services that run on the same infrastructure that Google uses internally for its end-user products, such as Google Search and YouTube. Alongside a set of management tools, it provides a series of modular cloud services including computing, data storage, data analytics and machine learning.

In this enterprise conversation, Myles Borins, developer advocate for Node.js at Google, shares reasons for why companies decide to use Node.js, and conversely, what might be blocking some companies from adopting the platform. Myles gives us insights about the overall design of Node.js and the fact that its openness does not always allow for a clear, defined way of building out services, APIs or applications. This reality can either help or hinder the needs of a company.

Myles also provides a variety of use cases around Node.js and offers information about Google’s compute services that currently employ the code, such as Virtual Machines, App Engine environments, and Google Cloud Functions. Learn even more about Google and Node.js by listening to the full interview here. Myles will also be presenting at Node.js Interactive 2017, discussing the history of modules within the JavaScript Ecosystem.

What is Puppeteer?

Short overview of Chrome team developed Node library which provides a high-level API to control headless Chrome over the DevTools Protocol
17 October

Puppeteer is a Node library which provides a high-level API to control headless Chrome over the DevTools Protocol. It can also be configured to use full (non-headless) Chrome.

What can it do? 

Most things that you can do manually in the browser can be done using Puppeteer! Here are a few examples to get you started:

  • Generate screenshots and PDFs of pages.
  • Crawl a SPA and generate pre-rendered content (i.e. "SSR").
  • Scrape content from websites.
  • Automate form submission, UI testing, keyboard input, etc.
  • Create an up-to-date, automated testing environment. Run your tests directly in the latest version of Chrome using the latest JavaScript and browser features.
  • Capture a timeline trace of your site to help diagnose performance issues. 

The goals of the project are simple:

  • Provide a slim, canonical library that highlights the capabilities of the DevTools Protocol.
  • Provide a reference implementation for similar testing libraries. Eventually, these other frameworks could adopt Puppeteer as their foundational layer.
  • Grow the adoption of headless/automated browser testing.
  • Help dogfood new DevTools Protocol features...and catch bugs!
  • Learn more about the pain points of automated browser testing and help fill those gaps.

Project is maintained by Chrome DevTools team. Learn more at GitHub and try it out on official website.