Preface
One can hardly develop new applications in our "now world" without duct-taping a lot of technologies together, be it new trend databases, messaging systems, or languages of all kinds. When talking about web development, things might get slightly more complicated as not only do you have to mix a lot of technologies together, but they must also work well with the applications accessing them (also known as web browsers). They should also be compatible with your deployment server, which is another story in itself!
In the Python world, where people deliver amazing desktop software following great guidelines such as the Zen of Python and PEP8, we have, at our disposal, a wide range of libraries and frameworks for creating great web applications, each with its own philosophy. Django, for example, is a bundle solution; it makes choices for you on how your project should look, what should it have, and how things should be done. Web2py is another framework solution that goes beyond and bundles even the IDE with it. These are great concepts, but if you want to create something simple, I would suggest you to do it somewhere else. They're usually good choices, but sometimes they're just too much (the latest Django version seems decisive in changing that; let's keep an eye on further developments).
Flask positions itself, not as a full-power out-of-the-box solution like both Django and Web2py, but as a minimalistic solution where you're given the bare minimum to work with and choose all the other stuff. That's very helpful when you want granular control of your application, when you want to precisely pick your components, or when your solution is simple (not simplistic, okay?).
This book is a response to that scenario of beautiful code and many options in the Web world. It tries to walk through the main concerns regarding web development, from security to content delivery and from session management to REST services and CRUD. Important modern concepts such as overengineering, quality and the development process are covered, so as to achieve better results from day one. To make the learning process smooth, subjects are presented without rush and followed by commented examples. The book also sets out to give readers real-world advice on how to prevent common problems with code.
Come learn how to create great Flask applications, delivering value to your projects and customers!