The creator of the first website, Sir Tim Berners-Lee, envisaged the web as an open platform that would allow internet users to share information, access opportunities, and collaborate without geographic and cultural restrictions. Interestingly, software developers are innovatively driving the realization of this mission.
As developers, we enable feature-rich web applications that make positive impacts on individuals and businesses around the world. Apart from sharing information, the web has drastically changed from mere static web pages to dynamic and database-driven web applications. Web technologists are coming up with new tools and techniques to make access to information on the internet hassle-free and natively convenient.
By the end of this chapter, you’ll have a better understanding of full stack web development in the context of client-server architectures. We’ll discuss major interactions that exist between the frontend of web applications and a database-driven backend.
Having these skill sets will usher you into the hall of fame of full stack web developers. This comes with complete knowledge of what it takes to start a web application development project from scratch and transform it into a full-blown web application. Whether you are a lone developer or a developer functioning in a collaborative team role, knowledge of full stack web development will boost your confidence to perform efficiently. In addition, you’ll have the flexibility to fit any assigned role in a team setting.
Further, we’ll dive into the reasons to use React, a UI library for building the user-facing end of web applications. You’ll briefly be introduced to the world of React and the reasons why React is essential to build complex modern web application interface components that allow users to have a smooth experience.
Developing web applications requires setting up the development environments. In full stack web application development, the frontend and backend have separate development environments. We’ll discuss how to set up React for the frontend and Flask as backend technology to power server-based processing and database interactions.
Additionally, we’ll dive into getting ready with Git, which is a source version control tool that helps developers to track changes to the code base. You are expected to acquire enough basic knowledge to kickstart deploying your code to GitHub, an online platform for version control.
In this age of technological innovation and the proliferation of creative software developments, source version control is an integral part of development. It fosters collaboration among software developers to solve problems in open source or commercial projects.
We’ll end the chapter by discussing the implementation of a real-world project we will build in this book, Bizza. The project takes you on a journey from a frontend web application perspective to a database-driven backend, connected to the REST API layer to facilitate communication.
So, without further ado, let’s start to experience the world of full stack web application development using two in-demand tech stacks, React and Flask. By the end of this book, you will be able to develop full stack applications.
In this chapter, we will cover the following main topics:
- An introduction to full stack web development
- Why should we choose React?
- Why should we choose Flask?
- Getting ready with Git
- What are we building?