Contents

For a product/business owner who plans his new venture, the choice of a software stack can be a really important one – it can pretty much make or break a business, right from the get-go. Here’s what you should know about the web stack options that are on the table in the second half of 2021.

Web stack – what is it exactly?

Everyone knows that in the current business landscape, you need top-tier technology to compete on the highest level. What isn’t always apparent, however, is that how various technologies mix is equally important. That is why it’s a very good idea to choose solutions that work well with each other and combine them into an optimized tech stack.

But what, precisely, is a software stack (or a web stack, since we’re mostly talking about web pages and apps)? I suppose the easiest way to describe it is a collection of certain co-existing technologies that serve various purposes. It’s a foundation for whatever software you build, and therefore for your company’s technical capabilities. In some cases,  it can even become important for an organization’s identity, since people value some languages and frameworks above others, and like working with them.

A web stack is comprised of two main parts – back end and front end – with each of them having its own several layers. Each of these layers is built upon and depends on solutions from the level below it. Below you can see a diagram showing the basic structure of a common software stack.

A screen showing a software stack's structure.
Software stack – structure.

How to choose the right technologies for your development stack?

There are several things you need to consider when you choose a solution for your company’s software stack. First and foremost, think about your needs – not just here and now, but also long-term. Organizations usually build on what they have, so you should make sure the technology you’re considering can accommodate whatever you’ll want to add in the future. Scalability and interoperability across systems are really important.

Secondly, take note of your employees’ skill sets and fields of expertise. If you have an in-house IT team that’s going to work with the software (carrying out maintenance, for example), it’s usually a good idea to choose a framework or language your people are familiar with so that they can be efficient. If you want to invest in something new, make sure at least some members of your staff know it, so that they can train others (of course, it’s also a good idea to evaluate how much time and money will that cost so that you know it’s really worth the effort and cons don’t outweigh the pros).

Finally, make sure that you bet on something that’s adequately innovative and futureproof so that later on you’re not forced to make changes to stay competitive.

Back-end technologies to check out in 2021

In simple terms, the so-called back-end is everything in your web app that’s crucial but what the users don’t usually see. It’s the engine that makes everything work as it should but stays hidden from sight. The back-end is comprised of many different services, systems, and functionalities that allow communication with the database, fetching required data, and using it to do whatever the application exists for. What programming languages are used to develop the back end of your software? Well, there are at least few good options to consider.

Java

A screen showing Java's logo.

There’s really no point explaining what Java is, but it has to be mentioned nonetheless. Both the programming language (statically typed) and open-source software platform associated with it are so popular, there’s pretty much no modern Internet without them. Even now – 25 years after Java’s initial launch – James Gosling’s creation (now in Oracle’s hands) remains a very important part of the worldwide web. It’s the technology behind such websites as Google, Amazon, eBay, and LinkedIn.

There’s a breadth of different programming languages based on Java (Java Virtual Machine, to be more precise) which may enhance the development of your software’s backend even further – such as Kotlin and Scala. Thanks to these technologies, Java is also incredibly flexible – it can run on many platforms, which is essential in the current IT landscape. In fact, “write once, run anywhere” was one of the core tenets behind Java and remains a testament to its creator’s foresight.

🔥 If you’re interested in Java and other Oracle technologies, message us at hello@pretius.com. We know these solutions better than most and we can help you achieve whatever you set your mind on.

.NET

Another useful technology to have in your web stack is the .NET platform (pronounced “dot net”). In contrast to Java, Microsoft’s solution isn’t tied to any specific programming language – it works with many different ones. .NET applications can be written in Delphi, C++/CLI, C#, F#, J#, or Visual Basic. .NET provides a runtime environment – so-called Common Language Runtime (CLR) – as well as class libraries that provide additional functionality for the created software.

.NET can be used to make server-side applications (which is why it has a place on this list) and programs running on any operating system compatible with the framework, mainly different versions of Windows – so, if you’re into Microsoft’s solutions, it should be a great choice for your company. However, thanks to implementation projects such as DotGNU or Mono, .NET can now also work great on other platforms. It’s a well-documented, flexible, and constantly supported technology.

C++

C++ is yet another very well-known programming language that is perfectly suitable for back-end use in your web stack. The technology is essentially an extension of the traditional C (with the added benefits of such things as object-oriented mechanisms of data abstraction, and better statistical type control). The important thing is that it remains completely compatible with C on the code level – it’s a core tenet that is being upheld with every new version.

C++ is fast, quite powerful, and flexible (for example, you can use several different programming paradigms, such as procedural, object-oriented, generic, modular, or functional). It also remains very reliable, which is of paramount importance when it comes to building apps for companies. It was used to make such well-known, market-leading programs, applications, and operating systems, like Adobe Photoshop, Spotify, YouTube, Windows, or Microsoft Office.

Python

Python is an open-source, dynamically typed language created three decades ago – in the year 1991. It’s often seen as one of the easiest programming languages to learn, which is somewhat true and has to do with one of the solution’s key characteristics – the clarity and readability of its syntax. That means it’s relatively easy to find people who know how to work with it, which can be really important for a company.

At the same time, despite its age, Python remains a pretty powerful technology – it supports automatic memory management, and can work with many different operating systems and platforms, thanks to a wide variety of interpreters. Just as C++, it doesn’t force one paradigm – it can accommodate object-oriented programming, structured programming, and functional programming. It remains a very solid web stack choice.

Ruby and Ruby on Rails

A screen showing Ruby on Rails's logo.

Ruby is yet another solution worth considering for back-end development. It’s a dynamically typed programming language created in the year 1995 by the Japanese programmer Matsuomo Yukihiro. That’s why it’s exceptionally popular in Japan – it receives various forms of government sponsorship there, the community is really big and active, and there are many local conferences devoted to the technology. Ruby is based on many different languages, such as Eiffel, Lisp, Python, Smalltalk, CLU, and Perl, but its syntax resembles CLU and Perl the most.

The main reason to give Ruby a chance is its popular web application framework called Ruby on Rails (RoR) that uses the Model-View-Controller (MVC) architecture. It’s really easy and fast to work with. One of this solution’s strong points is the implemented Don’t Repeat Yourself (DRY) rule – its purpose is to prevent the developer from repeating the same work in more than one place. Ruby on Rails also supports various plugins that allow you to implement popular functions in your software much faster.

Node.js

The last position on our back-end technologies list is Node.js. It’s a multiplatform, open-source framework that uses JavaScript, and allows you to create server-side applications coded in that language. In the past, JavaScript was mostly used for front-end programming (we’ll talk about that in a minute) so the introduction of backend-focused Node.js really changed the balance of forces. It means that you can potentially use JavaScript for pretty much anything you want – from front-end to back-end – which makes everything easier to put together and can be pretty important, especially in the case of smaller teams. On the other hand, Node.js is still a relatively new technology so if you prefer battle-tested solutions maybe it’s not the best choice for your company.

Front-end technologies worth looking into in 2021

If the back end constitutes everything in your application that makes it tick, without being seen by the user, the front end is almost the opposite of that. It’s what the user sees and interacts with to carry out actions in the software and actually use it for whatever purpose it was designed for. In the current landscape of IT technologies, the front end is dominated by HTML, CSS, and JavaScript. However, yet again, there are lots of various JavaScript frameworks to choose from.

React

A screen showing React's logo.

React – also known as React.js – is a JavaScript library created in 2013 by Jordan Walke, and inspired by XHP (a PHP extension). It’s currently one of the most popular front-end frameworks (as evidenced by the Stack Overflow’s 2020 Developer Survey, where it ranked second on the list of most popular web frameworks) and it’s commonly used to create Single Page Applications (SPA – web apps based on one HTML file).

React is declarative, which means it’s easier to predict and debug. It uses virtual DOMs (Document Object Models) and has a component-based structure. You can quickly make relatively simple, independent “parts” that you later combine into a more complex User Interface (UI). Also, React works in isolation with the rest of the tech stack (that means you can create new functionalities with much less hassle) and you can use it to make mobile apps thanks to the React Native open-source toolset.

Angular

Angular is a framework created in 2016 by one of the giants of the IT world – Google. It uses the TypeScript language (a variant – superset – of JavaScript, that’s gaining on popularity nowadays). While it was initially conceived as a better version of AngularJS, it was actually released as a completely separate framework – it’s not backward compatible with the older technology.

Angular is modular and component-based (just like React), supports server-side rendering and Semantic Versioning (a versioning scheme that uses meaningful version numbers when comparing API versions). The framework gives the developer access to a wide variety of console tools that make it easier to create apps. It was also designed to work well with mobile versions of internet browsers – which obviously makes it fit well into the 2021 reality and a typical business that exists in it.

Vue

Vue (Vue.js) is yet another open-source JavaScript framework that can be used to build UIs and create SPAs. It was published in 2014 and is the work of a team led by an independent software developer Evan You, who previously worked for Google and used AngularJS – Vue.js is heavily based on that framework, but more lightweight. Evan You is still maintaining the project but over the years the framework has attracted a huge community.

Vue.js’s architecture was designed to be incrementally adaptable. The framework is component-based and puts emphasis on declarative rendering and the view layer. The technology also makes use of extended HTML attributes (so-called directives), that can provide HTML apps with additional functionalities. Developers have access to many different tools and features, which are provided via officially supported libraries and packages.

Svelte

A screen showing Svelte's logo.

The last position on our list of interesting front-end technologies is Svelte (Svelte.js), created by Rich Harris. Just like all the others, it’s a JavaScript framework, also compatible with HTML and CSS. Svelte is a relatively new contender on this scene – it came out in 2016 – but it already gained some traction among software developers, thanks to its bold approach to some issues. The State of Frontend 2020 report shows an interesting trend – while React remains the front-end framework developers most often work with, Svelte is one of the top picks when you ask about the technology they’d like to use.

Why is it so interesting? For starters, Svelte doesn’t use virtual DOMs at all. Instead, the code is compiled to small framework-less vanilla JSs, and DOMs are manipulated directly via code. That results in applications that don’t have the structure of a framework and can possibly work faster than those built using more traditional solutions. Svelte also offers its own compiler, which is important because, in this framework, most of the work happens in the compile step – while you build your app.

Svelte is still new and might not be as popular and reliable as some of the other choices, but it’s definitely something worth keeping an eye on, and even now – despite its short time on the market – it can often be a great option, especially for something relatively simple and lightweight.

An important choice

The plethora of different programming languages and frameworks can be quite confusing for someone who doesn’t have the necessary knowledge. At the same time, choosing solutions for your web stack is a very important step, one that can define the software part of your business for many years. The best advice we can give in this regard is this: find someone with expertise and consult them. If you don’t know anyone like that, keep in mind you can always ask for our help – Pretius has 15 years of experience with various technologies. We’re positive we can help you make the right decision. And who knows, if everything goes well, maybe we can also help you design and develop your software?

Share