From Snapchat to Microsoft Word, virtually every application was built in layers, or “stacks.” Generally, we think in terms of three layers for any app: the user layer, the logic layer, and the data layer.
The user layer combines layout, navigation and clarity to create the user’s experience (UX). If you enjoy using an app – say, Instagram – it’s probably because the UX designers have done a terrific job creating a pleasant experience.
The logic layer is where the user’s intentions are converted into computer interactions. Usually written in a programming language, the logic layer directs the app’s functions. It consists of commands (“if this, then that”) and modules that elegantly manage the computations and make the app work.
If you appreciate the way an app works – say, Gmail – it is probably because the programmers have built functions at the logic layer that create a smooth email experience.
The data layer is where an application’s data lives, generally in a database. Storing, retrieving and updating data is the key to any application’s success.
When you make a post on Facebook, the data you provide – text, images, video – is promptly stored in Facebook’s database. If you update or edit the post, Facebook updates the information in its database, where it is ready for your use. One of your friends sees the post in their feed because Facebook has gone to the database, retrieved the data, and presented it to your friend.
What is a “full stack” for an application?
As you can see from the example about Facebook, it takes all three layers to make an application work properly. Although the user may only see the top layer – the user layer – Facebook only works if the logic and data layers are connected seamlessly and operating perfectly together.
The “full stack” refers to the presence of all three layers and the ways they work together. Each layer consists of user-specific code, and “full stack” describes the way they integrate to form a user’s experience.
For a web application, the full stack is usually constructed from three codebases: “front end” code that faces the user, programming code that directs the app and database code that manages the data.
When your Instagram feed updates automatically, it is most likely a user-facing script at work behind the scenes.
The logic layer contains a programming language such as Python or a library of pre-made components like Flask. So, this technology creates any special functions the app may perform. They teach Alexa to play your favorite songs or show your self-driving Tesla how to follow the road.
The data layer is made with a purpose-designed query language, such as the Structured Query Language (SQL). The data layer is all about moving data in and out of databases.
When your GPS tells you to “turn left at the next intersection,” it is using an enormous amount of mapping data stored in a huge, very fast database.
What is a “full stack developer”?
As you can imagine, every great application uses all three layers extensively. The real secret to a great app is the way the three layers work together.
That is where full stack developers come in. They design and build the application layers and also the integration between the layers. With the best applications, the entire user experience is integrated and transparent.
Achieving that level of performance takes technology and full stack developers who can make it all work together.
How do I become a “full stack developer”?
A strong full stack developer training program will prepare you to work in all three layers of the stack. And it will give you opportunities to show that you can make them work together.
For more information about our Full Stack Developer program, click the link below. Over 18 months of self-paced learning, you will learn to build at the user, logic and data layers. And you will build five fully functional projects that prove you can integrate all three layers of the full application stack.
To learn more about our 18-month Full Stack Developer course, click the link below.