O'Reilly logo

Building Polyfills by Brandon Satrom

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 2. Principles and Practices of Polyfill Development

In Chapter 1, we talked about what polyfills are and are not, various types of polyfills, and why these libraries are still important in the world of web development. In this chapter, I’m going to introduce the concept of responsible polyfills, that is, polyfills built to serve the needs of the consuming web developer. It’s a common sense subject, for sure, but one that I still believe warrants explicit discussion.

Once I’ve introduced the responsible polyfills concept, I’ll share some principles of polyfill development to use as your guide, regardless of the type of library you’re building. For many of these principles, the discussion will include some of the common challenges and pitfalls of polyfilling you might run into.

Building Responsible Polyfills

When building a polyfill, or any library for that matter, you’ll probably start by asking yourself several questions. For instance:

  • Why is this library necessary?
  • Why am I building it?
  • What should this library do?
  • How will developers want to use it?

For most of us, the act of creating a new piece of software is driven by an unmet need of our own. If you encounter a platform feature not supported in all browsers, and think that you have the skills, time, and desire to create a polyfill, that may be all it takes to get you started. And, as the developer and first user of your library, you often have a good handle on answering most or all of the preceding questions.

Even still, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required