What is Full-Stack Web Development?
Full stack web development involves the development of both the client-side (front-end) and server-side (back-end) of a web application. Full stack developers are responsible for designing and building the complete web application, from the user interface to the database, and everything in between. This requires a deep understanding of technologies such as HTML, CSS, JavaScript, server-side programming languages (such as Node.js, Python, or Ruby), and databases (such as MySQL, MongoDB, PostgreSQL). Full Stack developers also need to have knowledge of server administration and development, as well as security and performance optimization. With the rise of cloud computing and the increasing complexity of web applications, full-stack development has become an in-demand skill, and full-stack developers are often highly sought after in the job market.
Think of a full stack web application as a completed free-style Lego build in the sense that you can take several different combinations of Lego blocks to build whatever you want. In this book, we will be focusing on the MERN stack which stands for MongoDB, Express, React.js, and Node.js. At the time of this books writing, the MERN stack continues to be one of the more popular stacks. Here is a visual representation of how the components of the MERN stack interact with each other:
In this book series, we will first start with the front-end and work our way through the back-end. By going in this order, you will quickly see visual confirmations of your learning and work. The front-end is what your users will see but that is not to say the back-end is less important but the back-end is less glorious in the sense that it is not the part that you typically see when interacting with a web application.
Book 1 will cover HTML5 and CSS.
Book 2 will focus on JavaScript.
Book 3 will bring the front-end together with the React library.
Book 4 will move on to the back-end covering Node.js and MongoDB.
Book 5 will bring together the front-end with the back-end by covering the MERN stack as a whole.
If you are absolutely new to software development, I strongly suggest going through all the sections of this book in order and complete all of the exercises and full-stack project components in each chapter before moving onto the next book. If you are already familiar with some of the technologies, you should still work through the full-stack project components as this will be built upon gradually through each chapter culminating in a full stack application at the end of the book series. Skipping a component may get you lost. Each exercise is structured in a way so as to be independent of the others but will only focus on one concept. It is fine to skip exercises but because each exercise focuses on a single concept, there is an expectation that you are knowledgable of concepts covered in prior exercises.