March 25, 2019
by John Thomas Lang / March 25, 2019
Whether you’re a beginner or a seasoned digital veteran, deciding the right technology stack — aka tech stack — is crucial to app development success.
A fleeting moment of brilliance...I have an idea for an app. But what’s next?
Once you’ve decided on a web app vs a mobile app, it’s time to determine your tech stack. Let’s start with the basics:
Creating a revolutionary app requires a mix of hardware and software tools combined with a clear value proposition.
A technology stack combines the unique frameworks, programming languages, and developer tools needed for web and mobile app development. While no two tech stacks are identical, most app developers combine two different “arenas” when defining a tech stack: client-side (front-end) and server-side (back-end).
Each crucial element overlaps the other, providing everything needed to develop and maintain an efficacious app.
This provides everything needed to power the application's user experience; put another way, every interaction a user has with an app comes via the client side.
For example, if we consider a car, the front-end would be all the buttons, knobs, and switches a user interacts with. If the user wants to turn on the air conditioner, they don’t need to understand how the electrical subsystem of the car works; they just know that twisting a knob turns on the A/C. In the same way, the front-end normalizes complex systems into discrete, simple user interactions.
Common client-side technologies include:
This ties the user interaction with subsystems that perform logic, talk to databases, coordinate with web services, and more.
Staying with the car analogy, the back-end might be the car’s onboard computer: its electrical subsystem, its hydraulic subsystem, etc. All of these make the car “go”.
Common server-side technologies include:
While technology stacks are an ever-changing landscape, the most common technology stacks are LAMP, MEAN, and MERN. Let’s break it down.
LAMP is widely considered one of the most reliable and accessible technology stacks. Built to run on a Linux operating system, the stack focuses on Apache as the primary web server (i.e., the means by which users access the application), MySQL as the database provider, and PHP (plus complementary frameworks, like Laravel) as the back-end technology.
LAMP doesn’t enforce a particular front-end technology; developers can choose the one that best suits their needs. Components that make up a LAMP stack are almost always supported by hosting providers and ensure stability and ease of use for developers.
While LAMP is one of the older and more reliable stacks, its shortcomings, like difficulty to scale and not being well-suited for single-page apps, tend to steer web and app developers to a different solution.
One of the newer (yet powerful) kids on the block, MEAN combines a modern framework with distinct capabilities that work in concert with each other throughout the stack, proving to be a cutting-edge solution for many developers.
MEAN uses MongoDB as the primary database provider, AngularJS as the front-end technology, and a combination of Node.js and Express.js as the back-end technology.
MEAN provides the best of both worlds by enabling ease of use while allowing developers to scale from a minimum viable product to enterprise technology with ease.
MERN is one of the most commonly used technology stacks for building high-quality applications. Although very similar to MEAN, The main distinction between the two lies in the use of React instead of Angular.
React is like a bucket of LEGO pieces. It provides unlimited freedom but requires some ingenuity to use correctly. Angular is more akin to a predefined LEGO set. It is very straightforward and defined but limits the developer’s freedom.
Both are built on JavaScript (or TypeScript), and it’s usually the case that when you find someone good at one, they’re decent at the other. That said, the community is very passionate about their particular side.
Ever wonder what technology stacks power your favorite brands? Let’s take a look at what industry leaders are using for their stacks.
Tip: Find out if your tech stack is in serious need of an IT audit.
While most experienced developers have preferred technology stacks, it can seem daunting for any non-technical entrepreneur. The best way to navigate the world of tech stacks is to find a resource or subject-matter expert to guide your path. While some subject-matter experts are biased in their decision-making, consulting an expert can be the best money spent and save you from future headaches. If resources are scarce, start with these simple steps:
As with any entrepreneurial endeavor, put the end-user first. The user’s activity is a guiding factor in choosing the right tech stack. For example, if a large percentage of your users utilize a mobile device to engage with your app, selecting a stack that is “mobile-first” could be the most effective choice. If your users are “mobile-only,” your tech stack could vary greatly from other types of applications.
TIP: Familiarize yourself with the six different types of mobile apps to make sure your app is a step above the rest in your category.
Understanding the needs of application is the key to choosing the right tech stack. The size, scope, and complexity of your app may change the direction of your tech stack.
It’s important to understand your resource limitations when choosing a tech stack for your app development. An amazing tech stack means nothing without the proper developers to use it. Most frameworks, development tools, and databases are open-source, meaning they are free to use and widely available. Most open-source entities allow for unrestricted use and provide the developer with a large canvas to paint on. Most application costs come directly from servers and hosting obligations. These should also be considered when choosing your technology stack.
Tip: How much does it cost to make an app? Learn about 5 hidden expenses that could blow your budget if you’re not careful.
Finding the right developer for your project scope is another factor to consider when choosing your tech stack. For example, some developers specialize in front-end or back-end development only. Finding a full-stack developer that can do both could be the right solution but has a direct correlation to resource allocation.
Also, consider the “source” of any developer you hire. Developers with traditional Computer Science degrees are often expensive hires but come with a wide variety of skills and experience that will properly support your application, new or mature. Developers who come from coding boot camps are given deep dives into the most common, most used tech stacks in the industry but may not carry the same level of expertise required to scale an application to enterprise levels.
Tip: More of a DIYer? Learn more about the best application design software to see if there is a solution for you.
Now that you’ve discovered the world of tech stacks, you are one step closer to building your app and taking the market by storm. In everything digital, keep the user first and deliver an experience that delights.
Discover the benefits of rapid application development and its potential to elevate your performance.
John is a former Content Marketing Manager at G2. He has played a key role in scaling multiple award-winning tech startups in Chicago. A proud Colorado native, you can likely find him digging through the crates for vinyl records or nerding out on SABR analytics.
Failure to plan guarantees failure to launch.
What is a product launch? When a business plans and coordinates an extensive effort to debut...
The internet has helped us connect many dots and get things done more efficiently.
Failure to plan guarantees failure to launch.
What is a product launch? When a business plans and coordinates an extensive effort to debut...