Our approach to development considers our client’s present and future needs as they relate not only to functionality and performance, but longevity and scalability. We strive to ensure our clients get the most out of their investments for years to come.
Developing Enterprise Applications
When scaling enterprise applications, creating boundary contexts is essential to help modularly develop applications and improve features quickly.
We take one of two approaches: monorepos or microfrontends, with a recommendation for monorepos. Our team will work with stakeholders to understand what solution best fits the organization’s needs and create a solution that will last.
State Management
We have extensive experience with managing state in Angular applications. Our team typically recommends using NgRx or Apollo Client depending on whether REST or GraphQL are used for APIs. These libraries are extensively used and battle tested in production environments and promoted by the Angular team.
State management is critical to large applications that share knowledge across multiple submodules. These tools allow us to create stores that application modules can communicate through to share knowledge about global objects important to key user flows and experiences.
Migration Philosophy & Approach
When migrating systems, we can either take an incremental adoption strategy or an all-at-once approach.
Pending on the existing solution, we opt for an incremental adoption approach. We do this by targeting well-encapsulated modules and migrating them independently to provide value back to the business quickly. This allows new features and business requirements to be added to the existing system in parallel with the migration and users to test any new UI enhancements in an isolated manner to test for adoption.
However, in some cases where an incremental adoption is not the best approach, we may recommend an all-at-once migration if the business can support this timeline.
Native Applications or Progressive Web Applications (PWA)
Many of our clients have web applications and a need for a native desktop or mobile solution. With Angular, we utilize technologies like Ionic and Cordova to develop mobile solutions and Electron to develop desktop solutions.
These solutions allow applications to be maintained in the same source code while making the applications available via the native alternative.
An alternative solution we may recommend depending on the requirements may be a Progress Web Application (PWA). PWAs are supported by Angular out of the box and allow for a native look for an application on mobile devices without the cost of developing a native solution.