How to Choose Technology Stack for Web App Development

Alexey Fedorchak
9 min readSep 17, 2020

--

Hey I’m Oleksii. I’m a web developer with 5+ years of experience. All I learn along that time I will share here: medium.com/@ofedorchak68.

If you have something to discuss with me, please find me on linkedin:
https://www.linkedin.com/in/oleksii-fedorchak-web-developer/
Or contact me via email:
ofedorchak68@gmail.com.

The technology stack lies at the foundation of web application development. In many ways, picking the right tech stack is key to creating a successful app.

However, with so many options to choose from, deciding on the appropriate tech stack becomes quite challenging. The choice is even harder for startups and smaller businesses with limited resources.

Don’t want to pick a wrong tool for your web app? Then, keep reading until the end. We will tell you how to choose the right tech stack for web application development and what pitfalls to avoid.

Technology Stack for Web App Development: Definition and Types

Let’s start with the basics of web application development.

There are two sides to web app development: front-end and back-end. What are they?

Front-End

Front-end is referred to as a “client-side” of web development. It involves information that the user sees on the screen: the interface, animations, images, as well as audio and video content.

The most popular front-end tech stack components are:

  • HTML (Hypertext Markup Language) & CCS (Cascading Style Sheets) — tools that tell the browser how to display the website’s content on the desktop and mobile screens.
  • JavaScript — a programming language that makes the web pages interactive. The JavaScript consists of various libraries and frameworks (like jQuery, React.js, Angular, and Backbone).

Back-End

Unlike front-end, this side of web development isn’t visible to users. Back-end is often called the “server-side” of programming that powers up the web app.

Nowadays, you can choose from myriads of programming languages for website and application development. There are also frameworks that can simplify the coding process.

Some of the most common back-end programming languages and frameworks include:

  • Java
  • Node.js
  • Python
  • Ruby of Rails
  • PHP
  • Scala

But the coding language alone isn’t enough to run a web app. It also needs a place to store the data (relational and non-relational databases), a caching system to optimize the workflow, and a server to handle user requests.

The most widespread databases for web app development include:

  • PostgreSQL (relational)
  • MySQL (relational)
  • MongoDB (non-relational)

As for the caching system, most users consider Redis and Memcached to be the best choice.

And what about the server side of things? Most programmers choose between Apache and Nginx.

Source

To sum up, here are the technologies you need to begin web application development:

  1. Front-end tools
  2. Programming language & framework
  3. Server
  4. Cache system
  5. Database

All of these tools put together are called a technology stack. Now, how do you choose the right one?

Pick the Right Technology Stack with Mitexi

Are you looking for a perfect tech stack to facilitate the development of your web application?

At Mitexi, we know what programming languages, frameworks, and databases work best for any type of project. With our knowledge and expertise, you can create your application much faster and with fewer resources. In addition to that, our vetted specialists can enhance your pre-existing tech stack by adding new frameworks and libraries.

What to Avoid When Choosing a Web App Tech Stack

Many entrepreneurs and small businesses don’t dedicate enough time to research before choosing the technology stack for web development. On top of that, some people do the opposite but choose tools based on questionable online researches. As a result, the entire project suffers delays and unplanned costs.

That’s why we think that it’s equally important to know what practices to avoid when choosing a tech stack.

  1. Don’t Look at Competitors

You need to understand that every project is unique in its own way. You must identify the target audience, its needs, and find fitting solutions. This way, you can set clear goals for your web app.

Therefore, you shouldn’t rely on competitors’ practices when choosing tools for your project. That doesn’t mean you should ignore your rivals completely. However, you need to remember that picking the wrong tech stack will cost you a lot of money in the long run.

2. Don’t Rely Solely on Online Research

The World Wide Web is overflowing with all sorts of recommendations and solutions about any matter.

We think it’s right to assume that you are going to find at least a couple of contrasting opinions about what technology stack to choose for web app development. Whose advice should you follow?

Here’s the thing. Picking a tech tack is not about theory — it’s about practice and experience. You have a slim chance of choosing the right stack if you don’t have the expertise. And, as we mentioned, a mistake can be extremely costly in the long run.

What do we recommend? Instead of relying solely on theoretical knowledge, you need the help of professionals who know the web app development’s ins-and-outs. This way, you will minimize the potential resources and time required to complete the project.

3. Don’t Rely on Your Experience

Let’s assume you or your colleagues have successful web apps under your belts. But how long ago was that?

The technology doesn’t stay idle. The tech stack you or your partner used a few years ago may be outdated today. Moreover, the tools you used for that project may not suit your current application.

4. Avoid Personal Preference

This criterion depends on your tech-savviness and background in web development.

Do you have relevant experience with web app creation? Are you a CTO or a web architect? Then, you have a good chance to pick the right tools for your stack.

If you have a few projects but from more than a few years ago — it’s better to consult with professionals before choosing an appropriate tech stack.

How to Choose a Fitting Technology Stack

Now that we learned what practices to avoid when choosing a key stack, let’s get to the main part.

Without further ado, here are the factors you need to consider to pick a fitting technology.

  1. Web Application Type

Firstly, you need to have a full picture of your web application. This includes:

  • target audience (desktop or mobile users, their location, and other factors)
  • type of your business (E-commerce, online store, landing page, social network, etc.)
  • app objectives (audio & video streaming, file sharing, etc.)

Then, you need to settle on the project’s complexity. Usually, all web apps fall into three categories based on this criterion:

  • Simple. Web apps made with out-of-the-box solutions and CMS software (perfect for landing pages).
  • Moderate. These projects are created with specific frameworks and allow for more functionality (E-commerce stores).
  • Complex. The most sophisticated web applications with a lot of third-party integration capabilities built using numerous programming languages (the examples include fintech software, social networks, and other services).

Based on the application’s objective, the web project can be made for:

  • Traffic processing. Do you plan on sharing heavy on-demand content? Then, you should pick an appropriate programming language that can process heavy loads and traffic spikes.
  • Stable latency. Many services (like social networks) need to provide low latency so that users won’t feel discomfort. In this case, you need to choose a tech stack that would make the app more responsive.
  • Development Cost. No one wants to run out of budget half-way through the development. That’s why you need to account for the development costs when choosing a tech stack.

The most important factors to consider here are:

  • Developer’s rate. The hourly rate depends on the technology the developer uses. The simple rule: the more complex the tech stack is, the higher the payment rate will be.
  • Maintenance cost. The expenses don’t end after you created an app. It also has to be appropriately maintained. If you want to reduce potential costs to a minimum, we recommend choosing free open-source tools.
  • Development Time. You shouldn’t delay releasing your application. This is the best way to get ahead of the competition (especially for startups and smaller companies). Therefore, the less time it takes to develop your project — the more profitable it will become.

The time it takes to release your app greatly depends on the technology stack. Here is what you need to account for when picking the right tool:

  • Simplicity. Many out-of-the-box solutions make development much easier. In addition to that, it’s better to choose tech that is easy to test (bugs are inevitable in every application, after all). For instance, you can get the open-source Ruby framework. It has tons of free publicly available libraries and allows for a test-driven development approach.
  • Third-party integration. Check if the tech supports third-party integration. This will allow developers to add more functionality to your app without much hassle (or extra costs).
  • Availability. The web app won’t write itself. Before deciding on a tech stack, make sure that there are enough developers who can work with it. You also need to understand that development is just the start — you need specialists to maintain your applications after release as well.
  • Community. It’s a good idea to choose technology with active communities of developers and enthusiasts formed around them. This way, the developer will find a solution to any problem much faster. Consequently, your project will be ready quicker than you’d expect.
  • Stack Scalability. You should plan ahead and consider what happens to your app after the launch. The best-case scenario — your project will gain traction and grow.

That’s why you need to think about the tech stack’s scalability: both vertical (ability to add new functions and components to the app) and horizontal (ability to process more users).

Choosing appropriate scalable tools is not easy. There are also a lot of contrasting opinions on the web. That’s why we recommend turning to professionals for a consultation before proceeding with development.

2. Security Capabilities

Malware and ransomware attacks have long become the biggest threat to online businesses. In 2019, annual losses from hacker attacks reached $2.1 trillion. At the same time, the number of security breaches keeps increasing every year.

What’s the conclusion? It’s crucial to have an adequately protected web application.

Of course, there are no technology stacks that can guarantee total safety from attacks. However, if you pick a reliable tool and stick to the official security guidelines — you will minimize potential risks and prevent as many threats as possible.

Examples of Tech Stacks Behind Successful Projects

As we said, it’s unwise to copy your competitors. However, it won’t hurt to know about modern web app stacks.

Let’s take a glance at successful web services and technologies behind them:

  • Shopify. Ruby on Rails runs the technology behind Shopify — one of the most well-known online store building services.
  • Instagram. The go-to photo-sharing social network that houses billions of users worldwide is powered up Python.
  • Airbnb. The world’s best-known apartment rental service is also based on Ruby programming language.
  • Quora. This trendy question-and-answer platform is powered by the Pylon framework and uses JavaScript built on top of jQuery.
  • Facebook. The biggest social network uses various technologies for its services. For the front-end, it uses PHP. The server-side is powered by Java, Thrift, C++, and Erlang (among others).
  • Reddit. The “front page of the Internet” uses Python and Git.
  • Pinterest. This wide-known image sharing social network’s tech stack includes Acquia, Apache, Python, and Django.

If you have doubts about what stack to choose for you project, just let me know! I ‘m always ready to help!

Just join me in linkedin:

Or contact me via email: ofedorchak68@gmail.com!

--

--

Alexey Fedorchak
Alexey Fedorchak

Written by Alexey Fedorchak

Hi! I’m expert certified Laravel/PHP developer.

No responses yet