Tech stack

Updated: 07/13/2023 by Computer Hope
Digital figures holding tools.

Also known as a technology stack, a tech stack is a package of tools and software technologies that help build and run a particular application or system. It includes many interworking components, like programming languages, frameworks, libraries, databases, and servers. The choice of tech stack options depends on application requirements, scalability needs, developer skills, and available resources. For instance, a tech stack for web applications would differ from one for enterprise systems. Examples of tech stacks include Ruby on Rails, ASP.net, and .NET.

What are tech stack layers?

Tech stacks are comprised of layers; the following list contains details about each layer.

  • Presentation Layer (also known as the top, front-end, or client-side layer) - Focuses on the UI (user interface) and UX (user experience) of an application. It involves technologies and tools that handle visual representation and interaction with users. More specifically, the presentation layer is responsible for rendering content, handling user input, and communicating with the back end. Common technologies used in this layer include HTML (hypertext markup language), CSS (cascading style sheets), and JavaScript, along with frameworks and libraries like React, Angular, or Vue.js.
  • Application Layer (also known as the middle, back-end, or server-side layer) - Contains the logic and functionality that drives the application. It handles requests from the presentation layer, interacts with databases or external APIs, and performs business operations. Essentially, it ensures the appropriate processing and manipulation of data. Technologies used in this layer include server-side programming languages like Java, Python, Ruby, or PHP (PHP: Hypertext Preprocessor), and frameworks such as Django, Ruby on Rails, or Node.js.
  • Data Layer (also known as the bottom or database layer) - Responsible for efficiently storing, managing, and retrieving data used by the application. Relational databases such as MySQL, PostgreSQL, or Oracle are commonly used in this layer. However, NoSQL databases are used too.

Developer, Layer, Programming terms, Resources, Scalable architecture, Software terms