ASP.NET Zero
Upgrades, modernisation and support for existing ASP.NET Zero applications.
Angular Expertise
Development, framework upgrades and ongoing engineering support for existing Angular applications and Angular front ends connected to business systems.
Existing Applications
Angular applications tend to stay in service for years. Over that time the framework and TypeScript both move on, packages are deprecated or replaced, the APIs behind the application change shape, and the UI is asked to do more than it was first designed for.
Implementation decisions that were reasonable at the time can also become harder to work with — particularly once the developers who made them have moved on and the reasoning behind them is no longer written down anywhere.
EKSTRUH can review an existing Angular codebase and work out an appropriate development, upgrade, modernisation or maintenance approach. Taking on an existing application follows an initial technical review, which is what establishes whether we can help and what the work would involve.
Most Angular work we are asked about is extending an application that already exists, not replacing it.
That covers new features and components, forms and business workflows, dashboards and other data-driven interfaces, API-connected functionality, authentication-related front-end work where appropriate, UI improvements and bug fixing. Front-end refactoring is done where the work in hand justifies it.
The Angular ecosystem is large and every application picks a different subset of it. We scope against the packages and patterns an application actually uses rather than claiming familiarity with all of them.
Four specialist areas, applied to existing Angular applications and front ends.
For applications that need to move from an older Angular implementation toward a newer appropriate version.
Angular does not always allow a direct jump to the latest release. Depending on where an application is starting from and what it depends on, the upgrade may need to run through several versions in sequence, with TypeScript and package compatibility resolved at each step rather than all at the end.
How much work that becomes depends on the current Angular and TypeScript versions, the size of the application, third-party dependencies, custom components, the build configuration, how much test coverage exists and the compatibility of the APIs behind it.
For Angular applications where the challenge is broader than changing the framework version.
An older Angular application does not automatically need rewriting, and moving away from Angular is not inherently an improvement. Equally, a full rewrite is not always the wrong answer — occasionally an application has diverged far enough that incremental work costs more than starting again. That judgement belongs to the assessment, not to a general rule.
In practice most of this work is incremental: improving legacy components, modernising the UI, replacing dependencies, tidying application structure and build configuration, and redeveloping selected features where they justify it.
Ongoing front-end engineering for Angular applications that need maintenance, troubleshooting and continued development.
Front-end maintenance has its own rhythm. Dependencies move faster than most backends, browsers change underneath a running application, and a backend API change can surface as a UI defect with no obvious connection to its cause. A good deal of the work is investigation before it is code.
What an application needs depends on its version, dependency count and how often it is released, so arrangements are agreed against the application itself.
Add Angular development capacity to an existing application or software team.
This is often the practical answer when a team has backend capability but no dedicated front-end specialist, or when an upgrade needs someone to own it while feature work continues in parallel.
Engagement details are agreed per project.
An Angular upgrade touches several moving parts at once: the framework itself, TypeScript, the dependency tree, the build configuration, the application code and the APIs it talks to. A version number describes only the first of those.
The things that usually determine the effort are deprecated functionality that needs replacing, third-party packages that have their own release schedules or have been abandoned, custom components built against older framework behaviour, build tooling and configuration changes, API contracts that the front end assumes, and whatever test coverage exists to prove the result still works.
Where technical debt has accumulated, it tends to surface during an upgrade rather than being caused by one. That is useful information: it is far easier to plan for when it is found during assessment.
Planning the path is a distinct stage for Angular because the answer is not always a single move. Establishing whether an upgrade is direct or sequential changes the shape of everything after it.
Identify the Angular and TypeScript versions, application structure, dependencies and build configuration.
Identify framework, package and API compatibility considerations.
Determine whether the upgrade can be direct or requires staged version changes.
Apply framework, TypeScript, dependency and application-code changes.
Test affected application behaviour, UI, API interactions and build output.
Release appropriately and address follow-up maintenance or improvements.
Angular is frequently used as the front end for .NET and ASP.NET Core applications, including those built on ASP.NET Zero and ABP.IO. That combination is where a good deal of our Angular work sits.
It matters because front-end problems often are not only front-end problems. API integration, authentication flows, data contracts and general front-end/backend compatibility all sit on a boundary, and being able to work on both sides of it means an upgrade or feature can be carried through rather than handed over halfway.
Angular also connects perfectly well to backends built on other technologies, and plenty of the applications we see do exactly that. Where the backend is ours to work on too, see ASP.NET Zero and ABP.IO.
Most Angular applications are only as useful as the systems behind them, and much of the engineering effort goes into that boundary.
Work here covers REST API integration, retrieving and submitting data, authentication integration where relevant, form and data validation, and connecting the interface to business workflows. It also covers the parts users notice most when they are missing: sensible loading states and error handling when a request is slow or fails.
Where the systems behind the API also need work, that is covered by our business systems and integrations service.
There is no single correct Angular architecture, and imposing one on an existing application is rarely worth the disruption. What helps is consistency in the decisions an application has already made.
In practice that means components with clear responsibilities, reusable UI patterns where they genuinely repeat, predictable data flow, deliberate dependency management, consistent handling of forms and validation, and a project structure someone new can follow.
The remaining piece is usually documentation — not exhaustive documentation, but a written record of the project-specific decisions that would otherwise have to be reverse-engineered from the code.
This is a capability within Angular support and modernisation work rather than a separate performance service.
Where an application has measurable performance problems, investigation might look at unnecessary work being done on each change, rendering behaviour, bundle size, the pattern of data and API calls, individual expensive components, the loading strategy and the weight of dependencies.
Performance problems in an Angular application are not always caused by Angular. Slow APIs, heavy payloads and network conditions produce the same symptoms, which is why the work starts with measurement rather than assumptions about the cause.
The exact technology mix depends on the existing application. The backend context above describes environments we regularly work alongside, not a requirement of the Angular work itself.
Situations where bringing in front-end specialists tends to be worthwhile.
Upgrades, modernisation and support for existing ASP.NET Zero applications.
Development, upgrades and support for modular ABP.IO applications.
New websites, web applications, portals, dashboards and MVPs.
APIs, data movement and connections between business platforms.
Framework upgrades, migration and improvement of existing applications.
Add dedicated Angular development capacity to your team.
Whether you're building something new, modernising an existing application or need specialist development support, let's discuss what you need.