using AI to build software and how to avoid the race to the average
Using AI to build software can result in a slippery slope towards developing average code.
PLEASE ACCEPT OUR. COOKIE POLICY
Developers of Angular applications usually get their data from APIs, using HTTP. Most of the time that data is acquired asynchonously. Whilst the asynchronous programming model has some well documented advantages, such as the client being able to show most of the view even whilst slow running queries are still running in the background, it also adds some complications.
For example, if the Angular App contains client side calculations that use reference data as inputs, the reference data must obviously be there before the client side calculations can be made.
In Angular, data is usually returned from a service using an Observable which is subscribed to early in the component lifecycle. When the data arrives the component can use it.
So within a component if X = A + B, and A and B are pieces of data that come from different API endpoints, the component can't just subscribe to A to calculate X since the endpoint that delivers B might not have returned any data yet. Also, since each endpoint may be returning data from a completely different source system it isn't clear which piece of data will be returned first as the running times for the server side queries may vary wildly.
This is the use case that Angular resolvers were created for. Resolvers ensure that the data required by a component is already there before the component is loaded. This means that users don't have to write any complicated logic within a component to handle the vagaries of when data from various services arrive, instead Angular handles all that and only loads the component when all the data required is present.
Implementing resolvers is straightforward and is described very well here: https://angular.io/api/router/Resolve
Using AI to build software can result in a slippery slope towards developing average code.
Using DotNet 8 and Aspire With Azure Container Apps Makes Kubernetes Enabled Apps Incredibly Easy
Moving to a micro-services architecture can sometimes seem daunting due to the amount of technical choices to be made and the amount of planning involved. Often however, the migration can be made in manage-able steps. Here is one classic example.
Fast Endpoints have become very popular with .Net developers recently, but how much faster are they than regular Controller endpoints using .Net 8
GPT4 and other tools have good text summarisation capabilities but only Deep Mind is providing the real breakthroughs.
Managing Infrastructure State can be tricky in the cloud. AZTFY and Terraform can help with management