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:

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