Skip to content

12. Conclusion

This document has presented the construction of a MVC web application using the [NestJS] framework: an application whose HTML pages are generated by the server, without a browser-side [JavaScript] framework. It followed the progression of the “Introduction to ASP.NET MVC” course through examples: controllers and routing to views, forms, internationalization, security, and data access, followed by a complete case study.

There are numerous parallels between the two frameworks:

ASP.NET MVC (2013)
NestJS (2026)
controller, action ([ActionResult])
controller [@Controller], action [@Get], [@Post]
action template, [[Required]], [[Range]]...
Class DTO, decorators of [class-validator]
[ModelState.IsValid]
[validate()] and form redispatch
views [Razor] ([.cshtml]), [_Layout.cshtml]
views [Handlebars] ([.hbs]), [layout.hbs]
partial views, helpers HTML
Partials [{{> name}}], helpers [hbs.registerHelper]
[TempData]
Flash message in a cookie
session
cookies (token JWT, language): stateless server
action filters, [[Authorize]]
middleware, guards ([@UseGuards], [@Roles]), interceptors
resource files ([.resx])
dictionaries JSON, helper [t]
[Entity Framework]
[TypeORM]

The case study shows that a classic HTML application, without the essential [JavaScript], remains a simple and robust solution: each page is a URL, the browser’s “Back” button works, and the server controls everything. The minimal use of [JavaScript] (the confirmation window) enhances the user experience without being necessary for the application to function.

To learn more, you can consult the [NestJS] documentation (docs.nestjs.com), and compare this application to its two sister applications, which use the same [NestJS] server in version JSON with a [Angular] or [Flutter] client.