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?
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).
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.
Sign up to receive updates and announcements from DynAgility.