Pengembangan aplikasi web modern menuntut platform yang andal, aman, lintas platform, dan siap dikembangkan ke skala enterprise. ASP.NET Core hadir sebagai framework open-source dari Microsoft yang dirancang untuk membangun aplikasi web, API, dan layanan backend dengan performa tinggi serta dukungan penuh terhadap pengembangan cross-platform di Windows, Linux, dan macOS. Pemahaman terhadap arsitektur .NET, web server, proses request–response, serta konsep managed code menjadi fondasi penting dalam membangun aplikasi backend yang robust dan maintainable (Microsoft, 2023).
Course ASP.NET Fundamentals membekali peserta dengan pemahaman menyeluruh mengenai pengembangan aplikasi menggunakan ASP.NET Core, mulai dari konfigurasi lingkungan lintas platform, penerapan Dependency Injection, hingga pengembangan antarmuka berbasis Razor View Engine, MVC, Razor Pages, dan Blazor. Peserta juga akan mempelajari pembangunan Web API, pengelolaan data menggunakan Entity Framework Core, serta penerapan autentikasi dan otorisasi berbasis Identity, OAuth, dan JSON Web Token (JWT). Pendekatan ini sejalan dengan praktik pengembangan aplikasi modern yang menekankan modularitas, keamanan, dan pemisahan tanggung jawab antar komponen aplikasi (Microsoft Learn, 2022).
Selain itu, course ini memperkenalkan konsep containerization dengan Docker, proses deployment ke cloud (AWS dan Azure), serta integrasi CI/CD menggunakan GitHub Actions sebagai fondasi pengembangan aplikasi cloud-native. Peserta juga akan memahami karakteristik aplikasi cloud-native, perbedaan monolithic dan microservices, serta praktik DevOps untuk mendukung skalabilitas, reliability, dan efisiensi biaya. Dengan pendekatan end-to-end dari development hingga deployment, course ini mempersiapkan peserta untuk membangun dan mengelola aplikasi ASP.NET Core yang siap digunakan di lingkungan produksi modern (Richards, 2021).
OBJECTIVES
1. Memahami dasar-dasar ASP.NET Core 5 dan arsitektur platform .NET
2. Mengimplementasikan dependency injection dengan benar untuk meningkatkan maintainability kode
3. Mengembangkan tampilan menggunakan Razor View Engine dan memahami perbedaan antara MVC dan Razor Pages
4. Membuat dan mengelola Web API serta mengintegrasikan data menggunakan Entity Framework Core
5. Mengenal dasar-dasar Blazor untuk pengembangan aplikasi berbasis web interaktif
6. Mengatasi masalah umum dalam komunikasi dengan web server dan debugging aplikasi ASP.NET
AUDIENCE
1. Developer
2. Software Engineer
PREREQUISITES
CONTENT
1. Writing, Debugging, and Testing Functions
1.1. Writing Functions
1.2. Debugging During Development
1.3. Hot Reloading During Development
1.4. Unit Testing
1.5. Throwing and Catching Exceptions in Functions
2. Building Own Types with Object-Oriented Programming
2.1. Talking About OOP
2.2. Building Class Libraries
2.3. Storing Data in Fields
2.4. Working with Methods and Tuples
2.5. Controlling Access with Properties and Indexers
2.6. Pattern Matching with Objects
2.7. Working with Record Types
3. Implementing Interfaces and Inheriting Classes
3.1. Setting Up a Class Library and Console App
3.2. Static Methods and Overloading Operators
3.3. Making Types Safely Reusable with Generics
3.4. Raising and Handling Events
3.5. Implementing Interfaces
3.6. Working with Null Values
3.7. Inheriting from Classes
3.8. Casting within Inheritance Hierarchies
3.9. Inheriting and Extending .NET Types
4. Packaging and Distributing .NET Types
4.1. The Road to .NET
4.2. Understanding .NET Components
4.3. Publishing Code for Deployment
4.4. Native Ahead-of-Time Compilation
4.5. Packaging Libraries for NuGet Distribution
5. Working with Common .NET Types
5.1. Working with Numbers
5.2. Working with Text
5.3. Pattern Matching with Regular Expressions
5.4. Storing Multiple Objects in Collections
5.5. Creating the Backend Application
5.6. Configuring an In-Memory Database
5.7. Implementing Real-Time Functionality with SignalR
5.8. Creating the API Endpoints
6. Working with Files, Streams, and Serialization
6.1. Managing a Filesystem
6.2. Reading and Writing with Streams
6.3. Encoding and Decoding Text
6.4. Serializing Object Graphs
