Book Image

Python Web Development with Sanic

By : Adam Hopkins
Book Image

Python Web Development with Sanic

By: Adam Hopkins

Overview of this book

Today’s developers need something more powerful and customizable when it comes to web app development. They require effective tools to build something unique to meet their specific needs, and not simply glue a bunch of things together built by others. This is where Sanic comes into the picture. Built to be unopinionated and scalable, Sanic is a next-generation Python framework and server tuned for high performance. This Sanic guide starts by helping you understand Sanic’s purpose, significance, and use cases. You’ll learn how to spot different issues when building web applications, and how to choose, create, and adapt the right solution to meet your requirements. As you progress, you’ll understand how to use listeners, middleware, and background tasks to customize your application. The book will also take you through real-world examples, so you will walk away with practical knowledge and not just code snippets. By the end of this web development book, you’ll have gained the knowledge you need to design, build, and deploy high-performance, scalable, and maintainable web applications with the Sanic framework.
Table of Contents (16 chapters)
Part 1:Getting Started with Sanic
Part 2:Hands-On Sanic
Part 3:Putting It All together

Serializing JSON content

Next to HTML content, JSON is one of the most common forms of data transferred on the web. If you are building a Single-Page Application (SPA), (also known as a Progressive Web Application or PWA), it is likely that your backend server only or mostly returns JSON content. A common build pattern for a modern web application is to build a frontend user interface with a JavaScript framework powered by a backend server that feeds the frontend with dynamic JSON documents.

Choosing a serializer

Of course, the Python standard library ships with a JSON package that makes serializing Python objects to JSON strings (and the reverse) very simple. However, it is not the most performant implementation. In fact, it is quite slow. Many third-party packages have popped up to attempt to fix this problem. We will explore two of the common packages that are often used with Sanic.

When talking about response serialization, what we care about is the operation of the dumps...