What is a technology stack?
A tech stack is a combination of software products and programming languages used to create a web or mobile application. Applications have two software components: client-side and server-side, also known as front-end and back-end.
Each layer of the application builds on the features of the one below it, creating a stack. This diagram shows the major building blocks of a typical tech stack, but there can be other supporting components included.
Back-end tech stack
The back-end contains the business logic that works behind the scenes to drive your application. Users will never directly engage with the back-end, all information is passed back and forth through the front-end.
Front-end tech stack
The front-end is the visual part of your application that users will see and interact with. This interaction can happen through a web browser or a mobile app.
When building for the web, the front-end tech stack is made up of:
- HTML (Markup Language)
- CSS (Style Sheet Language)
- JavaScript (Scripting Language)
Front-end frameworks also help provide a better user experience: AngularJS, Backbone.js, ReactJS, jQuery, Twitter Bootstrap, and others help to add functionality to the application that is normally only experienced in native software. For a mobile app the tech stack is simply comprised of an iOS or Android app written in Objective-C/SWIFT or Java, respectively.