Beyond The Browser: From Web to Desktop

A Case Study on Hayward Baker

What to expect?

  • What we are building
  • What technologies we are using
  • How we are implementing it

Hayward Baker

What do they do?

  • Geotechnical Calculations
    • SPT Analysis
    • CPT Analysis
    • Liquefaction
    • and more Civil Stuff...
  • Calculations using Excel Sheets

What they had

What we built

What The Sheet!

The Not So Boring Team

Requirements

  • Desktop Application for Windows 😭
  • Should completely work Offline 😰
  • With Online sync capabilities

Architecture

Windows Application

Server

REST API

Cross Platform

We ❤️ React

Type Safety for Formulas

Local offline Database

Client ❤️s Microsoft

Sync

So what's Different ?

It's still using all the web technologies that we know off.

Releasing a new build

How do you update a desktop application that is completely offline?

Web Application

www.hawa.com

Server

www.hawa.com

Desktop Application

hb.exe

Our Build Process / Auto Update

hb.exe

CI / CD

Storage

Trigger New Build

hb.exe

version.yml

Every 5 mins

What you should do ? Versioning

  • Update package.json version on each release
  • Use Semantic Versioning
  • Make it part of your build process (Automate it)
    • $ npm version patch/minor/major 
  • Add that version to UI
  • If Create-React-App REACT_APP_VERSION=$npm_package_version

Next Leaptalk

Robus Gauli -  Calculations and Chart Optimization

Nischal Khadka -  End to End Testing with Spectron

To be contd...

Thank You!

Beyond The Browser: From Web to Desktop

By Pratish Shrestha

Beyond The Browser: From Web to Desktop

  • 587