back back
LinkedIn Twitter Instagram

Working with React: The AVAMAE Way

Different software developers work differently. There are multiple tools and processes available to help engineers deliver software projects. We just happen to think that the way we do things is best – that’s a bold claim, but it’s not a hunch or arrogance, it’s based on years of experience. For example, the web platform we use for building user interfaces is React, aka React.js or ReactJS.

What Exactly is React?

In short, React is a JavaScript library for building user interfaces that’s built and maintained by Facebook. It’s a highly flexible open-source JavaScript library for creating simple, lightning fast, scalable web apps.

Who Uses It and Why?

React is the leading JavaScript framework for web development and at last count, it had 60% of the market share. So it’s popular... and for good reason.

The big advantage our engineers see in using React is that they can write their web apps entirely in JavaScript and this enables much greater functionality that traditional applications. The truly wonderful thing about this is that it does this without increasing the complexity of the code... and you know how hot we are on simplifying complicated things.

How Does React Simplify Things?

It’s clever stuff. What React does is it breaks applications down into self-contained, easily reusable ‘components’. This permits greater clarity and allows for easy refactoring – in other words, it can change how the code is structured but without changing how it behaves.

We have to admit, it’s now going to get a little complicated explaining things.

Presentational and API logic are decoupled and applications are defined in a declarative style. So, rather than defining at every point how every part of an application should function, the logic is siloed into components. Then the overall application is written in terms of what should be displayed at every point in the application’s state.

By adopting this more expressive modular approach, development is quicker and code is much less prone to bugs. The result is a cleaner piece of software. In software dev, the cleaner the better.

Then There's Virtual DOM...

Another big innovation is the ‘Virtual DOM’. Web browsers are slowed down when they have to render a web page. In fact, with all the graphical processing needed for some pages, it can be noticeably sluggish.

Prior to Virtual DOM, making changes to the DOM or the browser’s logical representation of the page, has been one of the slowest processes in a web app’s lifecycle. Why? Because we have to wait for the entire page to update after every change. Yawn.

React is Rather Bright

Using Virtual DOM, React intelligently calculates what the DOM’s state will be after updates are made by the application. React then compares this state to the previous state. Now it gets really clever. Instead of updating the entire DOM, React finds differences between the old and new state and calculates the minimum number of changes needed to transform the former into the latter.

Having sussed that, React transmits this information to the browser, which then updates the page. Bingo! So, the amount of physical rendering the browser needs to do is minimized and that maximizes the responsiveness of the application.

Like it Simple?

Like the sound of the way we, using React, can simplify how your application is built, performs, looks and feels? Simply call +44 (0) 20 7509 6992 or email robert.mcewan@avamae.co.uk and we can meet for a chat.

28 January 2020
Blog Author
Oliver Pluckrose
Share With:

Companies we have developed software for:

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