The previous chapter gave you some insights into the various functionalities and features you have at your disposal when using ASP.NET Core 2.0 for building efficient and more maintainable web applications. We have explained some of the basic concepts and you have seen multiple examples of how to apply them to a real-world application called Tic-Tac-Toe.
You have progressed quite nicely so far, since you have assimilated how ASP.NET Core 2.0 applications are internally structured, how to configure them correctly, and how to extend them with custom behaviors, which is key for building your own applications in the future.
But let's not stop there! You are now going to discover how to best implement the missing components, evolve the existing ones even further, and add client-side code to allow you to have a fully-running end-to-end...