Book Image

Python 3 Web Development Beginner's Guide

By : Michel Anders
Book Image

Python 3 Web Development Beginner's Guide

By: Michel Anders

Overview of this book

<p>Building your own Python web applications provides you with the opportunity to have great functionality, with no restrictions. However, creating web applications with Python is not straightforward. Coupled with learning a new skill of developing web applications, you would normally have to learn how to work with a framework as well.</p> <p><em>Python 3 Web Development Beginner's Guide</em> shows you how to independently build your own web application that is easy to use, performs smoothly, and is themed to your taste – all without having to learn another web framework.</p> <p>Web development can take time and is often fiddly to get right. This book will show you how to design and implement a complex program from start to finish. Each chapter looks at a different type of web application, meaning that you will learn about a wide variety of features and how to add them to your custom web application. You will also learn to implement jQuery into your web application to give it extra functionality. By using the right combination of a wide range of tools, you can have a fully functional, complex web application up and running in no time.</p>
Table of Contents (19 chapters)
Python 3 Web Development Beginner's Guide
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Choosing suitable tools


If you want to develop quality applications, you need suitable tools. Tools, of course, do not guarantee quality, but they can make life a lot easier. When developing web applications, there are two kinds of tools you need to consider: the ones you use to design, build, test, and deploy your application, like editors, version management systems, test frameworks, and maybe a package tool, and the tools that deliver your application to the end user. That last set of tools consists of a whole chain of components, from server operating system, web server, and database engine, all the way to the web browser and the JavaScript libraries used to display and interact with the application.

When we start a project, we have to know which tools we need and have to understand the capabilities and limitations of the many variations of these tools. There are, for example, quite a few JavaScript libraries that may be used to provide cross-browser compatible user interaction.

The trick is to make an informed choice. These choices are not necessarily limited to open source tools. If budget permits, it might be worthwhile to have the benefit of the special features many commercial development tools and libraries offer, but in this book, we limit ourselves to open source and/or free resources. This makes sense as the cost of tooling and licenses in small projects can make a significant dent in a budget.

The opportunity to use free tools might not exist for the deployment environment. You may well develop your application on your own Linux box, but test and deploy it on a Windows server. The latter needs a license that will not be free, but even open source options are not always free. Many companies nowadays shift to deploying their applications to the cloud and even though these machines might be running an open source operating system, you pay not only for CPU power and bandwidth but also for support, the latter being crucial in applications that will lose you money if they are not running. However, using open source tools in general gives you a much wider choice because many tools run equally well on any platform.

In the following sections, we will look at the many components that make up the tool chain and will try to show what arguments were used for the choices made for developing the applications in this book and what (if any) viable alternatives are there. Note that some arguments are quite subjective and the choice finally made does not necessarily indicate that the alternative is bad; we certainly are not attempting to start flame wars over which tool is better. We simply list requirements for application development as we see it and try to find the tools suitable for the task. In some situations, another tool might be better, but for this book, we try to find a matching toolset that can be used for all sample applications that are free (as in beer) and easy to learn and use.