Okay, we made it to the end of section three, and we've now got our client application up and running.
And in this section we've taken a look at react.
And we've created our react project using vite.
And we've implemented and added material UI.
Now of course we're going to continue building our application and get ourselves more and more familiar
with using React and Material UI as we go about the process of building our full application.
So don't worry about the newness of this.
If this is your first time encountering react, then we're going to practice a lot in building this
application, so there's plenty more opportunities to get to grips with react and what we implement
inside react so frequently.
Asked questions then do I have to use TypeScript?
Well, in this training course?
It is what I've used to write the code for this, and I appreciate it.
Can add a bit extra to our code, but it is incredibly useful.
It helps us with avoiding simple mistakes.
Typos.
It's especially good at catching them, of course, and at some point whilst you're developing this
app, it's going to catch a mistake that you make as we all make them, and it's going to stop you from
moving forward until you've corrected that mistake.
In JavaScript world, it would forgive that mistake and you wouldn't notice it until a lot later on,
but at that point it would be much harder to troubleshoot.
But when you're new to TypeScript, it can be annoying, especially when you're using third party Utilities
that also have their own types.
So you can always turn off the strictness of TypeScript.
You can set strict to false, and you can set no implicit any to false.
And that will stop the annoying warnings appearing in your code editor.
Now, I'm not saying that's a great thing to do long term, but if we think back to what Martin Fowler
said, make it work.
Make it right.
Make it fast.
If you do use that approach, then you can make it work without using strict types, and you can always
come back later and then make it right.
And what I'm suggesting here, if you come across code that you're struggling to get the TypeScript
types correct for it, don't worry about it straight away.
Get the feature that you're trying to implement working, and then come back and see if you can correct
the types that are being in use and throughout this training course, even though, as we do introduce
third party packages into our app and they do come with their own types and it can seem a bit tricky,
I'll demonstrate the not cheating approach, but you will see on occasions during this training course
some tricky TypeScript shenanigans as we go further into building this application.
But for projects that are not this one, then you do always have that option to fall back on.
So coming up next, we currently have a single page application with effectively a single page.
And we need to correct that.
And next we're going to do so by looking at routing in our application.