Which tech stack to choose for your project in 2020
In this article
From the classic LAMP stack to modern favorites like MEAN and MERN, we break down the key technologies that power the web. Learn how to choose the right stack for your project.
In the previous blog post, we defined a technology stack and discussed why it’s important to choose the right one for web application development.
Now it’s time to discover the most prevalent technologies that are valued both by startups and large enterprises.
Let’s dive in our top of tech stacks you should draw attention to in 2020.
MEAN
Undoubtedly, the MEAN stack is the most popular full-stack solution. Being entirely JavaScript-powered, it brings numerous benefits to web developers among which is the usage of a single language throughout your stack. Another strong advantage is that all the underlying technologies are free and open-source. The community around it is vibrant and active. If any issue arises during the development, you can always rely on its support.
MEAN presents a modern approach for developing fast and robust apps. Besides, all the components of MEAN speak JSON which makes the data flow smoothly between the layers.
Using one language (JavaScript) both for client-side and server-side development improves the communication inside the team and helps to understand your product holistically.
Now let’s break down its structure and take a closer look at its components.
- MongoDB
MongoDB is a popular NoSQL database. Unlike relational databases, it stores data as JSON-like documents. Developers appreciate this database for these key advantages:
- Scalability. MongoDB offers scale-out features, automatic sharding, and replica set to maintain constant availability
- Flexibility. Since it’s schemaless, there is no need to predefine schema. Yet, it’s recommended.
- Short learning curve. The process of configuring MongoDB is easy. Besides, MongoDB query syntax is easy.
- Performance. Due to the flexibility of JSON documents, developers can work significantly faster. Besides, documents make apps fast since all the data for an object is stored in a single document.
MongoDB copes well with big data. Due to being horizontally scalable, it fits perfectly mobile and social networking sites, e-commerce product catalogs, and any apps that rely heavily on geospatial data.
- Express.js
Express.js is a back-end web app framework that supports and hosts Node.js projects. It assists in organizing your app into an MVC architecture on the server-side. The main task of Express.js is to manage the workflow between the client-side and the data model, ensuring easy transferring of data to end-users.
Being written in JavaScript, it’s cross-platform, free and open-source. Lots of features are available for web and mobile apps.
With Express, it’s easy to build a robust API. Another thing to love Express.js for is its incredibly accurate error handling.
- AngularJS / Angular
Angular is a front-end framework, developed and maintained by Google. According to the Stack Overflow Developer Survey 2019, it’s in the topmost used web development frameworks.
Angular extends the syntax of HTML, runs JavaScript code in the browser and serves to make your app’s UI dynamic and interactive. It’s mostly favored by the well-tuned performance and templates that are perfect for building the front end of cloud-native apps.
- NodeJS
NodeJS is an open-source cross-platform engine for building server-side applications. It’s the true backbone of the MEAN stack. NodeJS serves as an integrated web server for the smooth deployment of MongoDB and the app itself to the cloud.
According to the results of Stack Overflow’s Developer Survey 2019, NodeJS tops the rating of the most favorable frameworks, libraries, and tools.
With NodeJS, you can breath more functionality into your app. Built on top of Google’s V8 JS engine, it’s acknowledged as one of the most efficient and lightweight server-side frameworks. It improves runtime performance and successfully handles data-intensive tasks which leads to faster app development and better scalability. NodeJS comes with the largest repository of libraries – npm.
NodeJS is often preferred for microservice architectures. Therefore, it’s appreciated by enterprises and large-scale projects.
Companies that use the MEAN stack are PayPal, LinkedIn, Netflix, and the New York Times.
MERN
In its essence, the MERN stack is the same as MEAN stack but with Angular replaced by React. As well as MEAN, it successfully covers the full development process – from front end to back end.
React
Developed and maintained by Facebook, React is one of the most popular frameworks for building interactive UIs. It’s appreciated by the reusability of components, high performance, and smooth learning curve.
MEVN
In this version of MEAN, Angular is replaced with Vue.js as a frontend framework.
Vue.js
Vue.js is rapidly gaining popularity during recent years. It embodies the best features of React and Angular. Its key advantages are a non-steep learning curve, excellent performance, neat programming style and a rich ecosystem of tools.
LAMP
The LAMP stack is an industry-standard. It’s recognized for its performance, flexibility, and open-source nature. LAMP is often chosen for improving operational efficiency and reducing IT infrastructure costs.
Let’s take a look at its structural components.
- Linux
Linux is an operating system and a first layer of the stack. All subsequent layers run on top of it.
- Apache
Apache is an open-source and free HTTP server that transfers the content between the server and client machines upon request. To be precise, it fetches the content from the server, turns it to static HTML files and returns it to the browser.
To be precise, it’s not a physical server but a software that operates on the server. It establishes a connection between a server and browsers of users (Google Chrome, Safari, Firefox, etc).
Since Apache is a cross-platform software, it works on Unix and Windows servers.
Due to its module-based structure, it can be customized to enable security, caching, password authentication, etc.
- MySQL
MySQL is a relational database management system (RDBMS). It stores information that can be requested to build a website.
- PHP
PHP is a programming language. Instead, you can use a similar web programming language, e.g., Perl or Python.
All these layers are open-source and free products. However, since the stack can run smoothly on any operating system, you can choose different modifications and variations of the same stack:
- WAMP (Windows OS, Apache, MySQL, PHP)
- MAMP (Mac OS, Apache, MySQL, PHP)
- WISA (Windows, IIS, SQL, ASP.NET)
- BAMP (BSD, Apache, MySQL, PHP)
- XAMPP (distribution that contains MariaDB, PHP, and Perl)
- SAMP (Solaris, Apache, MySQL, PHP)
RoR (Ruby on Rails)
Ruby on Rails is a web framework written over Ruby – a dynamic programming language with an elegant syntax. With Ruby on Rails, you can build a complete web application by combining HTML, CSS, JavaScript, and Ruby.
Ruby on Rails has a lot of supporters since it makes writing and debugging code faster and easier. The greatest thing is that Ruby developers can reap benefits from open source tools that speed up development.
Signature stacks
Now that we considered standard solution stacks, let’s discover which bundles of technologies stand behind popular web apps. The following combinations of technologies can be categorized as “signature stacks”.
Uber Tech Stack
- Web server: NGINX, Apache
- Databases: MySQL, PostgreSQL, MongoDB
- Server-side framework: Node.js
- Programming languages: Python, Java, JavaScript, Objective-C
Reddit Tech Stack
- Server: NGINX
- Databases: PostgreSQL, Redis
- Server-side framework: Node.js
- Programming languages: JavaScript, Python
Pinterest Tech Stack
- Programming Languages: Python, Java, Go
- Framework: Django, Javascript MVC
- Databases: MySQL, Hadoop, HBase, Memcached, Redis
- Server: NGINX
Facebook Tech Stack
- Programming Languages: PHP, GraphQL, Hack
- Framework: Tornado
- Databases: Cassandra, RocksDB, Beringei, Memcached
- Server: custom/proprietary
Airbnb Tech Stack
- Programming Languages: JavaScript, Ruby
- Framework: Rails
- Databases: MySQL, Amazon RDS, Hadoop
- Server: NGINX
This time we covered the time-tested tech stacks that are used widely across modern applications. The right tech stack directly affects the success of your project. Hopefully, today you’ve got the step closer to finding your perfect match.
Empower your tech stack with analytics
If your app needs analytical and reporting features, you can always rely on WebDataRocks. Integrating with any front-end technology of your technology stack is as simple as ABC – check out available tutorials to make sure how seamless the entire process is.