back back
LinkedIn Twitter Instagram

Technology Stack

 

The tech stack is crucial to the success of any project.
So how does ours stack up?

Unfamiliar with the term ‘technology stack’? This bit of tech jargon simply refers to the combination of programming languages and software used to develop a piece of software. Getting the right mix of these underlying development tools is essential.

As software specialists and experienced experts in our field, we have selected a tech stack that contains the best in breed enterprise level tech. These are all ‘here to stay’ tried and tested technologies that have been very carefully selected to give us the flexibility to create any software platform required. So what exactly is in our tech stack?

 

Our tech stack toolbox – App Engineering Department

 
 
 

React and React Native

We’re big fans of React. It’s a mature JavaScript framework for web development which allows web applications to be written entirely in JavaScript. It enables greater functionality than traditional applications, without a corresponding increase in code complexity. Using the ‘Virtual DOM’, whenever a UI change is required, rather than updating the entire page, React only updates what’s changed from the old to the new state. With React, applications are broken into self-contained, easily reusable ‘components’, which not only permit greater clarity, they also allow for easier refactoring.

We write our Android and iOS mobile applications using React Native. Why? Because this framework allows a high percentage of code to be shared across both mobile platforms. How? Both are written using JavaScript. Also, business logic written for React web applications can be shared with mobile applications, too. This is much more efficient than full native mobile development and provides nearly identical performance.

 

Xamarin

The Xamarin platform is an open-source collection of tools and libraries for building iOS and Android apps using .NET. User interfaces are constructed using declarative XAML syntax, with business logic written in the same C# language that powers our backend Cloud services.

Xamarin is a mature platform, acquired by Microsoft in 2016, that allows for UI and business logic to be defined once and shared across platforms. Xamarin.Forms includes a variety of standard XAML UI templates, while Xamarin.Android and Xamarin.iOS still allows for specific customization when needed. Furthermore, it is possible to invoke mobile-native languages such as Java and Swift, which maximizes compatibility with other third-party libraries. Apps written in Xamarin offer near-native performance, as the C# source code is compiled to native assembly for each platform.

 

Our tech stack toolbox – Cloud Engineering Department

 
 
 

.NET Core, SQL Server

NET Core is a cross-platform application framework that can be run on Linux, Mac and Windows on-premises servers or in the cloud. It’s actually a full re-write of Microsoft's earlier .NET Framework, with an emphasis on performance, testability and compatibility.

Web APIs, libraries and desktop applications can all be developed using the C# language. This modern, object-oriented language is still being actively developed and improved by Microsoft and the open-source community, with version 8 having just been released in 2019.

SQL Server is a highly secure, enterprise-grade relational database management system. It’s dependable as it’s remained one of the most popular data persistence options for decades. A relational database maintains data accuracy using atomic transactions, which ensures that each data change is reliably processed. Plus, the fairly recent addition of JSON support to SQL Server allows for a hybrid relational and document-based approach. So, you get the best of both worlds.

 

Azure and Kubernetes

Azure is Microsoft's global cloud platform. We fully embrace Azure and our software development team uses this to provision virtual machines, network infrastructure, SQL Server databases and Kubernetes clusters.

Because our server and client-side software are written to support containerisation using Docker, they can be deployed to Kubernetes. Kubernetes has now become the industry standard in container orchestration. It provides global resiliency and scalability for applications and is also offered as a managed service within Azure.

 

Our tech stack toolbox – Testing

 
 

Unit Testing

As a project’s code base evolves over time and requirements change, having a strong foundation of unit tests becomes increasingly important. Unit tests are fast, repeatable tests that check that individual components behave the way we expect them to in isolation. By running unit tests automatically while writing code in Visual Studio, and as part of our continuous integration pipelines in Azure, we can ensure that we quickly identify bugs early and avoid regressions. We make use of the popular xUnit testing framework, in addition to using the Moq library for generating mock components.

Integration Testing

In addition to low-level unit tests that focus on small components, we battle test our software using automated integration tests. This ensures that the application as a whole is behaving as intended. At AVAMAE we find Postman suite gives us an organized and effective way of testing our Cloud APIs.

Tests are bundled into collections that represent the desired requests and responses we need to be confident that everything is running smoothly. These integration test collections can then be configured to run as part of our continuous integration pipelines every time we release new software versions. Even after release, we write our software from the ground up to ensure that we can continue to periodically run our integration tests as a health check, and clean up any test data created as a result.

Let’s talk tech?
 
If you’ve a project you want to discuss or just have a question regarding our technology stacks, give us a buzz. We’ll get back to you with all the answers and a free no-obligation fixed price quote if required. Call us on +44 (0) 20 3855 0690 or fill out the short form on our Contact Us page.
 

Companies we have developed software for:

Foyles
Strengthscope Ltd
Compare Hospitality
Iceland
11 Cavendish Square
Millerhare
Virtus
Trait Online
Skippy Scout
Pauline Books & Media
LSE Lighting
King's Fund
Criteo Live
Great Eastern
Good2Bid
Novartis
Informa plc
eGigger
Alliance Boots
UCLH
Enigma Quests
Horizon Leeds
Companies Markets
GetSet4PE
Petainer
Jaguar Landrover
Centrica
Grazing Events
Manoto 1
Buyfair
Homebase
Yell
Capital Medicare
ASDA
British Safety Council
Service Monitor
Fan Quake
Michael Northcroft
Saudi Aramco
Scottish Court
Criterion
CO-OP
Reed Business Information
Argos
British Airways
Faber and Faber
4D Model Making Materials
Nine Avenue
UTC Aerospace
All So Pro
TSI
HSBC
British Gas
Experian
Click Research
Harris Hill
Capita
Dober
SmoQue Grill
Imperial College
Marshall
Vulpine
Phones 4U
Asit
Grazing Food
Gaimerz
Saikou
Think we need to talk?
Got a software development project or app in mind? Let’s hook up, chat things through and we’ll come back with a free no-obligation quote. Call us on +44 (0) 20 3855 0690 or fill out the short form on our Contact Us page.