You can create a design system, but you can also have different versions of your design system. And then reliability. And by reliability I mean, when you execute some code, it basically should not fail, right? Once the code, it should produce the expected outcome. Those are, you know, you have ways to work around that and to improve those things and mitigate quite a lot of those things. Performance and consistency. But it's not the case with reliability.
Let me give you an example. I'm going to use Twitter as an example here. Let's say we want to break up Twitter into micro-frontends. And so, we have this page contains, this is the home page. It's a feed page and this is, we'll create a feed micro-frontend. When you click on that button, it shows a model and we could create another micro-frontend for that. It's a different team, engaging team, whatever. It's micro-frontend, we'll call it reply micro-frontend.
What's going to happen is, at some point in time, we have these two versions, everything is working. So, the user goes to Twitter, then the user gets an HTML that says, oh, you need to download this JavaScript for the feed. And so, you, that's fine, it works. It's, it's displayed on the browser. But then on the background, version two of that micro-frontend is deployed. You can test that, you can also test that, ensure that journey where the user is on a feed and replying to a tweet, works. You can run some integration tests, works, release. Then a new version is deployed. You can do the same. You can test, release, and so on. This point in time, the user didn't, didn't reply, so didn't execute that action. At the point in time later, the user wants to reply, some tweet, and then it gets the version three of this microfrontend. So the question is, will it work? We never tested that, right? You could test that, but imagine it grows exponentially. The more releases you have and the more microfrontend, it will be like, enormous amount of work, so you probably don't test. Will it work? Well, the answer is, if they are completely independent, they should work. Right? So that's fine.
Comments