Thought Leadership From Industry Peers

Last Updated: 14 November 2018
A CIO's guide to choosing the right Technology Stack for Web Application Development
Vinoo Thomas | Head - Technology Advisory Group Ignitho Technologies About the author Orginally Published: 09 November 2017

Selecting the right technology stack before developing an application often gives a tough call to the CIO/CTO, developers, as well as the businesses. The diverse options available can be quite confusing and if you are a non-technical person, a wrong step in choosing the right technology stack for the application can yield grievous consequences. Many of us ignore the fact that there are only a few prominent factors to consider during this decision process. As a first step, let us clear the misconceptions around the term ‘tech stack’ and make the classification of technologies much simpler.

What is Tech Stack?

The term Technology stack refers to a combination of client-side and server-side technologies, also popular as front end and back end. Client-side is where the real interaction with the user happens. The back end consists of a server, an application, and a database. When one layer of the web application is built on top of the other with the help of codes and hardware modules, it forms a stack. Typically, a stack consists of different layers of components/servers which are used to build software applications and solutions.

Now, if you are wondering which technologies we recommend and practice for building robust applications, here is the list.

Most Commonly Used Tech Stacks

 

.NET Stack

.NET has extensive features and is a thoroughly battle-tested framework exclusively used for building dynamic applications .NET stack is a subset of Overflow Stack, a wide-ranging tech stack with high capabilities to fulfil the developer’s requirements. NET stack is often used with other open source technologies to build robust small scale as well as huge enterprise level applications. .NET stack consists of 60 frameworks, platforms including CLI languages spread over 13 layers.

LAMP Stack

The LAMP stack is one of the earliest and popular stacks, which is made of all open source software components. LAMP stack is an open source Web development platform. LAMP uses:

  • Linux as the operating system or the base layer
  • Apache as the Web server
  • MySQL as the relational database management system and,
  • PHP/Pearl/Python as the object-oriented scripting/programming language

It is also the most traditional stack model around, and very solid with high flexibility, customizable and easy to handle features.

Variations of LAMP include:

  • WAMP (Windows/Apache/MySQL/PHP)
  • LAPP (Linux/Apache/PostgreSQL/PHP)
  • MAMP (Mac OS X/Apache/MySQL/PHP
  • XAMPP (Linux, Mac OS X, Windows/Apache/MySQL/PHP, Perl)

MEAN Stack

MEAN Stack is an open source, Javascript software stack used for building dynamic web apps and websites. The MEAN stack consists of MongoDB, Express.js, Angular JS (or Angular), and Node.js. In MEAN stack, development of both server-side and client-side applications have language uniformity as the support programs are coded in JavaScript. This also makes it easier for the developers to code these applications smoothly and transition process is also simpler.

The variation of MEAN includes MEEN - MongoDB, Express.js, Ember.js and Node.js.

ROR Stack

Ruby on Rails stack enables quick app development due to its faster integration features. The framework is highly scalable, follows the ActiveRecord pattern and is compatible with MySQL on the back end. Ruby on Rails has its own built-in database and has a vast collection of open source codes. It can easily accommodate changes without spending much time.

To make it easier, here’s a collated list of some of the popular tools and frameworks used in a tech stack.

Frontend

Middleware

        

Backend

 

Choosing a Web Tech Stack - Factors to be Considered

  1. Type of Project

    One key factor influencing the web tech stack choice is the type of the project. If the project is a small-sized one that needs to be delivered in shortest time, the developer prefers simple options such as CMS (WordPress) which consists of many in-built features and templates. And if the project is a mid-level or large one, it would need a combination of technologies that can enable seamless integration across various platforms.

  2. Team's Expertise and Knowledge Base

    The knowledge base and expertise of the development team involved in the project not only influence the decision-making process but also the success of the project. In case a member of the team is not able to tackle an issue, there should be at least one such developer who can properly manage the situation and solve the issues without wasting much time. A Test-Driven Development approach should be adopted to the team where Quality Assurance is done after completion of each module.

  3. Time to Market (TTM)

    There is a deadline for each project. The product developed must be launched on the planned date. While choosing a tech stack, you need to be sure that timely delivery of the product will be possible using this stack without any monetary or time loss. Also, adhering to timelines and on-time delivery of projects uplifts your goodwill in the market and makes you a credible partner.

  4. Scalability

    Scalability refers to the stage of the product when the owner decides to upgrade it to enhance productivity. This can happen after the prototype launch and customer feedback. After choosing the tech stack, a Minimum Viable Product (MVP) version should be built first without exploiting the allotted budget or time. Using this MVP model, the developers should be able to scale it up with upgraded functionalities.

  5. Maintainability

    Any tech stack chosen for the software solution development should have easy to use and manageable codes. If the codes are too lengthy, the developer would need a long time to process it and take long hours of work to complete it. In other cases, very shorter and concise codes become difficult to debug. The chosen tech stack should have codes that are short, easy to manage and transit.

  6. Overall Cost of Development

    These days most of the tech stacks are available as open source with few in-built features. But for advanced functionalities, you might need to purchase the licensed version. While choosing a tech stack, you need to carefully analyse both inbuilt as well as premium features to check its compatibility with your project and see if falls within your budget criteria.

To get started with selecting the right stack for your project, get your homework done first! You need to understand thoroughly the basics of your project requirements. Rather than relying on time-proven technologies, the need of the hour is to be practical by deeply analysing the pros and cons of each tech stack. A talented team of skilled and professional web developers with proven technical expertise can be one of your valid guidance sources. Similarly, there can be many other factors that can help you with this decision making. Hence, cross-check all the aspects and make sure you get it right the first time itself!

Further Read

23 November 2018
Alison Booth
Programme Management Expert Balfour Beatty | Allianz
22 November 2018
Joseph Olassa
Co-founder & CEO Ignitho Technologies

What sets us apart

Innovation led Digital Application Services for enterprises, using Frugal Innovation Methodology, delivering Rapid Application Development & Deployment
Quick Enquiry

This website uses 'cookies' or bits of information to analyse and understand your preferences. We use it for analytics and metrics to know about our website visitors. You can know more about cookies from our Privacy Policy.