![Roadmap-ASP.NET Core](/wp-content/uploads/2023/03/Roadmap-ASP.NET-Core-2-768x432.jpg)
Roadmap ASP.NET Core
This is my roadmap🗺️ for .NET developers who want to focus on backend/frontend and specifically work with ASP.NET Core.
- Understanding HTTP Basics
- Understanding ASP.NET Core
- APIs with ASP.NET Core
- Web apps
- Real-time apps
- Remote Procedure Call apps
- Tests in ASP.NET Core
- Debug in ASP.NET Core
- Data access in ASP.NET Core
- Host and deploy
- Security and Identity
- Performance
- Globalization and localization
![](/wp-content/uploads/2023/03/Roadmap-aspnet-core-dotnet-scaled.jpg)
– 1. Understanding HTTP Basics –
1. Basics of HTTP
- How It Works
- Resources and URIs
- Identifying resources on the Web
- Data URLs
- MIME types
- www and non-www URLs
- Flow of an HTTP session
- HTTP Messages
- Connection management in HTTP/1.x and HTTP/2
- Content Negotiation
2. An overview of HTTP
- HTTP headers
- HTTP request methods
- HTTP response status codes
- HTTP security
- HTTP access control (CORS)
- HTTP authentication
- HTTP caching
- HTTP compression
- HTTP conditional requests
- HTTP content negotiation
- HTTP cookies
- HTTP range requests
- HTTP redirects
- HTTP specifications
- Permissions Policy
– 2. Understanding ASP.NET Core –
1. Basics of ASP.NET Core
- Dependency injection (services)
- DI Containers: Microsoft.Extensions.DependencyInjection
- Life Cycles: Scoped, Transient, Singleton
- Scrutor
- Middleware
- Filters
- Host
- Servers
- Configuration
- Environments
- Logging
- Routing
- Error handling
- HttpContext
2. Advanced of ASP.NET Core
- Model Binding
- Write custom middleware
- Request and response operations
- Request decompression
- URL rewriting
- File providers
- Change tokens
- High-performance logging
- Use a file watcher
- Factory-based middleware
3. Best Practices of ASP.NET Core
– 3. APIs with ASP.NET Core –
1. Basics of APIs
- API protocols (REST APIs, RPC APIs, GraphQL APIs)
- API RESTful
- API Versioning
- URL Naming Conventions
2. Testing Web APIs
- xUnit or NUnit testing frameworks
- Selenium
- API tests in Postman
- JMeter for load testing
- Assertible for continuous testing
- Test with HttpRepl
3. Controller-based APIs
- Basics of Controller-based APIs
- ControllerBase class
- Attributes
- ApiController attribute
- Attribute routing requirement
- Automatic HTTP 400 responses
- Binding source parameter inference
- Multipart/form-data request inference
- Problem details for error status codes
- [Consumes] attribute
- Action return types
- Handle JSON Patch requests
- Format response data
- Custom formatters
- Analyzers
- Conventions
- Handle errors
4. Minimal APIs
- WebApplication and WebApplicationBuilder
- Route Handlers
- Parameter binding
- Create responses
- OpenAPI
- Filters
- Unit and integration tests
- Middleware
- Handle errors
- Authentication and authorization
5. API Clients & Communications
- REST: Sieve, OData
- GraphQL based Web APIs with Hot Chocolate
- gRPC
6. Web API documentation
- OpenAPI/Swagger for designing, building, and documenting APIs
7. Logging
- Microsoft.Extensions.Logging
- Serilog
8. API SDK Libraries
- Refit
- Restsharp
9. Object Mapping
- AutoMapper
– 4. Web apps –
1. Server rendered ASP.NET Core UI
- Razor Pages
- MVC
- Blazor Server
2. Client rendered ASP.NET Core UI
- Blazor WebAssembly
- Single Page Application (SPA): Angular and React
– 5. Real-time apps –
- SignalR Core
- Web Sockets
– 6. Remote Procedure Call apps –
- gRPC
– 7. Tests in ASP.NET Core –
- .NET Hot Reload
- Test with Visual Studio dev tunnels
- Test web APIs with the HttpRepl
- Razor Pages unit tests
- Unit test controller logic
- Integration tests
- Load and stress testing
- Test middleware
– 8. Debug in ASP.NET Core –
- Debug with Visual Studio
- Remote debugging
- Snapshot debugging in Azure
- Snapshot debugging in Visual Studio
- Visual Studio Dev Tunnels with Power Platform
– 9. Data access in ASP.NET Core –
- Entity Framework with ASP.NET Core
- Azure SQL Database with Azure App Service
- Azure Storage with Visual Studio: Blob storage, Queue storage, Table storage
– 10. Host and deploy –
1. Deploy ASP.NET Core
- Deploy ASP.NET Core apps to Azure App Service
- Deploy ASP.NET Core apps to Azure Virtual Machines
- Deploy ASP.NET Core apps to Azure Kubernetes Service
- Deploy ASP.NET Core apps to Azure Functions
2. Host ASP.NET Core
- Host ASP.NET Core on Windows with IIS
- Host ASP.NET Core in Docker containers
- Deploying and scaling on Azure Container Apps
- Container orchestration using Azure Kubernetes Service (AKS)
- Handles private Docker container using Azure Container Registry
- Host ASP.NET Core in a web farm
3. DevOps for ASP.NET Core
- Continuous integration and deployment (CI/CD)
- Infrastructure as Code (IaC): Terraform or ARM templates
- Monitoring and Logging
4. Proxy servers & Load balancers
- Nginx, HAProxy, Azure Load Balancer
5. Health check for ASP.NET Core
- Health checks
– 11. Security and Identity –
- Authentication and authorization
- Data protection
- HTTPS enforcement
- Host Docker with HTTPS
- Safe storage of app secrets in development
- XSRF/CSRF prevention
- Prevent open redirect attacks
- Cross Origin Resource Sharing (CORS)
- Cross-Site Scripting (XSS) attacks
- Application security – OWASP
– 12. Performance –
- Caching
- Rate limiting middleware
- Memory management and patterns
- Scaling ASP.NET Core Apps on Azure
- Object reuse with ObjectPool
- Response compression
- Performance Diagnostics Tools
- Load and stress testing
– 13. Globalization and localization –
- App’s content localizable
- Provide localized resources for languages and cultures
- Strategies for selecting language and culture in a localized
- Globalizing and localizing
- Microsoft Multilingual App Toolkit
That’s it, for now, I’ll keep updating and adding content in this post. I hope you found it interesting😉