In addition, it is now also a popular server side language on the web thanks to Node.js, and its use has also extended to embedded systems, IoT, mobile, and desktop, amongst others.
Whilst we are familliar with a variety of different frameworks, we typically use one of React, Vue.js, or Angular in our projects. This gives us the flexibility to build and maintain a range of UIs and frontends for our customers.
Angular is a frontend framework produced and maintained by Google. It is a fully fledged framework and as such offers more features and is more opinionated than React and Vue.js. Angular is particularly suited to developing complex enterprise-grade apps used by large companies.
Single page applications
We are skilled and experienced in both developing from scratch and maintaining and improving existing single page applications.
Regardless of the library or framework the app is written in, we implement industry best practices in regards to:
- Updating 3rd party packages: to ensure we are no longer using deprecated or unsupported packages.
- Security scanning of third party dependencies via well known tools such as npm audit
- Linting and formatting of code using Prettier, ESLint
- Catching build errors early on in the development life cycle using precommit hooks, e.g. Husky
- Automating builds, tests, and deployments via CI/CD pipelines
- Using modern best in-class development toolchains, e.g Webpack
In terms of aesthetics and styling of interfaces for an app or website, we typically use a framework such as Bootstrap, Material UI, Tailwind, etc.
Sometimes clients have an existing site or app that they wish to embellish with a particular UI feature, e.g. increased interactivity, data visualisation, animation, etc. In these cases we write custom components in either React or Vue.js and embed these into an existing page.
This approach allows advanced client-side UX features to be developed using a modern library without having to rewrite the entire codebase or modify large parts of it.
Automated Testing and Browser Automation
We are familiar with tools such as Cypress and Puppeteer which allow programmatic replication of user actions inside a web browser, e.g. user logs in, user signs up, user navigates to the “Contact Us” page, etc. This enables the creation of robust automated testing suites so that code changes and new features do not break existing functionality.
This technique can also be applied in other situations where it is advantageous to perform browser automation.
In both cases, we configure uptime checks. When the application is running on a virtual machine in the cloud, we also configure logging, monitoring, and alerting.
Our Way of Working
Get In Touch