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:

Pauline Books & Media
Capital Medicare
Informa plc
Strengthscope Ltd
SmoQue Grill
Harris Hill
Experian
UTC Aerospace
Good2Bid
Grazing Food
HSBC
Alliance Boots
Reed Business Information
Great Eastern
Horizon Leeds
UCLH
Argos
Trait Online
British Safety Council
King's Fund
Novartis
eGigger
Criteo Live
Centrica
4D Model Making Materials
11 Cavendish Square
LSE Lighting
Gaimerz
Dober
Jaguar Landrover
Michael Northcroft
All So Pro
Click Research
CO-OP
Yell
Marshall
Buyfair
Service Monitor
Virtus
Saudi Aramco
Nine Avenue
British Gas
Asit
Criterion
Petainer
Compare Hospitality
Vulpine
Phones 4U
Faber and Faber
Foyles
ASDA
Companies Markets
Fan Quake
Iceland
Skippy Scout
TSI
Manoto 1
GetSet4PE
Homebase
Millerhare
Capita
Grazing Events
Saikou
Scottish Court
British Airways
Enigma Quests
Imperial College
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.