What Is Full Stack Development?
What is Full Stack Development?
Full stack development is a development process for building, deploying and maintaining a web application. Those involved in full stack development understand the bigger picture of the entire system, not just sub-areas like only the front-end or only the back-end. They also understand the different technologies used in the stack and how to best use them together. This means understanding what a stack is and how it is put together because the stack is a critical part of full stack development. So what exactly is a stack? Whether you call it a full stack or a technology stack, a stack is a collection of technologies used for web development. Those technologies are broken down into two major components, front-end and back-end.
What Are The Major Components of a Tech Stack?
Front-End Technologies
Let’s break down and examine the major components of a stack, starting with the front-end. The front-end is all about the user interaction with the web application. If the user can see it, then it is part of the front-end. Technologies that make up the front-end always include HTML, CSS and JavaScript. Also included are front-end frameworks such as React, Angular and Vue.js. Front-end frameworks are packages of pre-written, proven, standardized code giving you a base on which to build. Having this base speeds your productivity without sacrificing quality or functionality so you can focus on building an application the provides your users with a positive, meaningful experience.
Back-End Technologies
The back-end has more technologies available and thus more options from which to choose. The back-end is not visible to the user, but does validate, process, and store all the data from the user. It contains and implements the business logic.
Technologies that are part of the back-end are:
An operating system on which the development is done
A web server that processes requests from the browser and returns the required content
A database that stores all the application data
A programming language that is used to develop the business application
A web development framework that speeds development of the application. Note, the programming language selected dictates the frameworks you can use.
Related Post: Accelerated Product Development v. Outsourcing
While you can individually select each back-end technology, it is not necessary. There are groups of these back-end technologies available in what is called a back-end stack. The technologies that make up these back-end stacks are purposefully grouped and proven to provide the most optimal development and execution environment.
Some of the more popular back-end stacks are:
LAMP an acronym for Linux (operating system), Apache (web server), MySQL (database), PHP (programming language).
Python-Django uses Python (programming language) and Django (application framework). Also uses Apache (web server) and MySQL (database).
MEAN is an acronym for MongoDB (database), Express.js (application framework), Angular (front-end framework), Node.js (runtime environment).
MERN an acronym for MongoDB (database), Express.js (application framework), React/Redux (JavaScript library), and Node.js (runtime environment).
Selecting a technology stack is a critical part of any full stack development project, and with such an array of technologies to choose from it is best to think this piece is a project within your project. It will certainly take time and effort but you must get it right because this choice determines how your web application – this vital piece of your business – will be developed, run and maintained.
Subscribe
Sign up to receive updates and announcements from DynAgility.