Gambaran umum ASP.NET Core
Oleh Daniel Roth, Rick Anderson, dan Shaun Luttin
Catatan
Ini bukan versi terbaru dari artikel ini. Untuk rilis saat ini, lihat versi .NET 9 dari artikel ini.
Peringatan
Versi ASP.NET Core ini tidak lagi didukung. Untuk informasi selengkapnya, lihat Kebijakan Dukungan .NET dan .NET Core. Untuk rilis saat ini, lihat versi .NET 9 dari artikel ini.
Penting
Informasi ini berkaitan dengan produk pra-rilis yang mungkin dimodifikasi secara substansial sebelum dirilis secara komersial. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Untuk rilis saat ini, lihat versi .NET 9 dari artikel ini.
ASP.NET Core adalah kerangka kerja lintas platform, berkinerja tinggi, sumber terbuka untuk membangun aplikasi modern yang didukung cloud, yang terhubung ke Internet.
Dengan ASP.NET Core, Anda dapat:
- Bangun aplikasi dan layanan web, aplikasi Azure IoT (Internet of Things), dan backend seluler.
- Gunakan alat pengembangan favorit Anda di Windows, macOS, dan Linux.
- Sebarkan ke cloud atau lokal.
- Jalankan di .NET.
Mengapa memilih ASP.NET Core?
Jutaan pengembang menggunakan atau telah menggunakan ASP.NET 4.x untuk membuat aplikasi web. ASP.NET Core adalah desain ulang ASP.NET 4.x, termasuk perubahan arsitektur yang menghasilkan kerangka kerja yang lebih ramping dan lebih modular.
ASP.NET Core memberikan manfaat berikut:
- Kisah terpadu untuk membangun antarmuka pengguna web dan API web.
- Dirancang untuk dapat diuji.
- Razor Halaman membuat pengodean skenario yang berfokus pada halaman menjadi lebih mudah dan lebih produktif.
- Blazor memungkinkan Anda menggunakan C# di browser bersama JavaScript. Bagikan logika aplikasi sisi server dan sisi klien yang semuanya ditulis dengan .NET.
- Kemampuan untuk mengembangkan dan menjalankan di Windows, macOS, dan Linux.
- Sumber terbuka dan berfokus pada komunitas.
- Integrasi kerangka kerja sisi klien modern dan alur kerja pengembangan.
- Dukungan untuk meng-hosting layanan Panggilan Prosedur Jarak Jauh (RPC) menggunakan gRPC.
- Sistem konfigurasi berbasis lingkungan yang siap untuk cloud.
- Injeksi dependensi bawaan.
- Alur permintaan HTTP yang ringan, berperforma tinggi, dan modular.
- Kemampuan untuk meng-host pada yang berikut:
- Penerapan versi berdampingan.
- Alat yang menyederhanakan pengembangan web modern.
Membangun API web dan UI web menggunakan ASP.NET Core MVC
ASP.NET Core MVC menyediakan fitur untuk membangun API web dan aplikasi web:
- Pola Model-View-Controller (MVC) membantu membuat API web dan aplikasi web Anda dapat diuji.
- Razor Halaman adalah model pemrograman berbasis halaman yang membuat membangun UI web lebih mudah dan lebih produktif.
- Razormarkup menawarkan sintaks produktif untuk Halaman dan tampilan MVC.
- Pembantu Tag mengaktifkan kode sisi server untuk berpartisipasi dalam membuat dan merender elemen HTML dalam file Razor.
- Dukungan bawaan untuk beberapa format data dan negosiasi konten memungkinkan API web Anda menjangkau berbagai klien, termasuk browser dan perangkat seluler.
- Pengikatan model secara otomatis memetakan data dari permintaan HTTP ke parameter metode tindakan.
- Validasi model secara otomatis melakukan validasi sisi klien dan sisi server.
Pengembangan sisi klien
ASP.NET Core termasuk Blazor untuk membangun UI web yang kaya interaktif, dan juga terintegrasi dengan kerangka kerja JavaScript frontend populer lainnya seperti Angular, React, Vue, dan Bootstrap. Untuk informasi selengkapnya, lihat ASP.NET Core Blazor dan topik terkait di bawah Pengembangan sisi klien.
kerangka target kerja ASP.NET Core
ASP.NET Core 3.x atau yang lebih baru hanya dapat menargetkan .NET.
Ada beberapa keuntungan untuk menargetkan .NET, dan keuntungan ini meningkat dengan setiap rilis. Beberapa keuntungan dari .NET melalui .NET Framework meliputi:
- Lintas-Platform Berjalan di Windows, macOS, dan Linux.
- Meningkatkan performa
- Penerapan versi berdampingan
- API baru
- Sumber terbuka
Jalur pembelajaran yang direkomendasikan
Kami merekomendasikan urutan tutorial berikut untuk pengenalan pengembangan aplikasi ASP.NET Core:
Ikuti tutorial untuk jenis aplikasi yang ingin Anda kembangkan atau pertahankan.
Jenis aplikasi Skenario Panduan Aplikasi web Pengembangan UI web sisi server baru Mulai menggunakan Razor Pages Aplikasi web Memelihara aplikasi MVC Mulai menggunakan MVC Aplikasi web Pengembangan UI web sisi klien Mulai menggunakan Blazor API Web Layanan HTTP RESTful Membuat API web† Aplikasi Panggilan Prosedur Jarak Jauh Layanan berbasis kontrak pertama menggunakan Protocol Buffers Mulai menggunakan layanan gRPC Aplikasi waktu nyata Komunikasi dua arah antara server dan klien yang terhubung Mulai menggunakan SignalR Ikuti tutorial yang menunjukkan cara melakukan akses data dasar.
Skenario Panduan Pengembangan baru Razor Halaman dengan Entity Framework Core Memelihara aplikasi MVC MVC dengan Entity Framework Core Baca gambaran umum dasar-dasar ASP.NET Core yang berlaku untuk semua jenis aplikasi.
Telusuri daftar isi untuk topik menarik lainnya.
†Tutorial API web interaktif juga tersedia. Tidak diperlukan penginstalan lokal alat pengembangan. Kode berjalan di Azure Cloud Shell di browser Anda, dan curl digunakan untuk pengujian.
Bermigrasi dari .NET Framework
Untuk panduan referensi untuk memigrasikan aplikasi ASP.NET 4.x ke ASP.NET Core, lihat Memperbarui dari ASP.NET ke ASP.NET Core.
ASP.NET Core adalah kerangka kerja lintas platform, berkinerja tinggi, sumber terbuka untuk membangun aplikasi modern yang didukung cloud, yang terhubung ke Internet. Dengan ASP.NET Core, Anda dapat:
- Bangun aplikasi dan layanan web, aplikasi Azure IoT (Internet of Things), dan backend seluler.
- Gunakan alat pengembangan favorit Anda di Windows, macOS, dan Linux.
- Sebarkan ke cloud atau lokal.
- Jalankan pada .NET Core atau .NET Framework.
Mengapa memilih ASP.NET Core?
Jutaan pengembang menggunakan atau telah menggunakan ASP.NET 4.x untuk membuat aplikasi web. ASP.NET Core adalah desain ulang dari ASP.NET 4.x, dengan perubahan arsitektur yang menghasilkan kerangka kerja yang lebih ramping dan lebih modular.
ASP.NET Core memberikan manfaat berikut:
- Kisah terpadu untuk membangun antarmuka pengguna web dan API web.
- Dirancang untuk dapat diuji.
- Razor Halaman membuat skenario yang berfokus pada halaman pengkodian lebih mudah dan lebih produktif.
- Blazor memungkinkan Anda menggunakan C# di browser bersama JavaScript. Bagikan logika aplikasi sisi server dan sisi klien yang semuanya ditulis dengan .NET.
- Kemampuan untuk mengembangkan dan menjalankan di Windows, macOS, dan Linux.
- Sumber terbuka dan berfokus pada komunitas.
- Integrasi kerangka kerja sisi klien modern dan alur kerja pengembangan.
- Dukungan untuk meng-hosting layanan Panggilan Prosedur Jarak Jauh (RPC) menggunakan gRPC.
- Sistem konfigurasi berbasis lingkungan yang siap dengan cloud.
- Injeksi dependensi bawaan.
- Alur permintaan HTTP yang ringan, berperforma tinggi, dan modular.
- Kemampuan untuk menghosting pada hal berikut:
- Penerapan versi berdampingan.
- Alat yang menyederhanakan pengembangan web modern.
Membangun API web dan UI web menggunakan ASP.NET Core MVC
ASP.NET Core MVC menyediakan fitur untuk membangun API web dan aplikasi web:
- Pola Model-View-Controller (MVC) membantu membuat API web dan aplikasi web Anda dapat diuji.
- Razor Halaman adalah model pemrograman berbasis halaman yang membuat membangun UI web lebih mudah dan lebih produktif.
- Razormarkup menyediakan sintaks produktif untuk Razor Pages dan tampilan MVC.
- Pembantu Tag mengaktifkan kode sisi server untuk berpartisipasi dalam membuat dan merender elemen HTML dalam file Razor.
- Dukungan bawaan untuk beberapa format data dan negosiasi konten memungkinkan API web Anda menjangkau berbagai klien, termasuk browser dan perangkat seluler.
- Pengikatan model secara otomatis memetakan data dari permintaan HTTP ke parameter metode tindakan.
- Validasi model secara otomatis melakukan validasi sisi klien dan sisi server.
Pengembangan sisi klien
ASP.NET Core terintegrasi dengan lancar dengan kerangka kerja dan pustaka sisi klien populer, termasuk Blazor, Angular, React, Vue, dan Bootstrap. Untuk informasi selengkapnya, lihat ASP.NET Core Blazor dan topik terkait di bawah Pengembangan sisi klien.
ASP.NET Core menargetkan .NET Framework
ASP.NET Core 2.x dapat menargetkan .NET Core atau .NET Framework. aplikasi ASP.NET Core yang menargetkan .NET Framework bukan lintas platform—hanya berjalan di Windows. Umumnya, ASP.NET Core 2.x terdiri dari pustaka .NET Standard . Pustaka yang ditulis dengan .NET Standard 2.0 berjalan pada platform .NET apa pun yang mengimplementasikan .NET Standard 2.0.
ASP.NET Core 2.x didukung pada versi .NET Framework yang menerapkan .NET Standard 2.0:
- Versi terbaru .NET Framework disarankan.
- .NET Framework 4.6.1 atau yang lebih baru.
ASP.NET Core 3.0 atau yang lebih baru hanya berjalan pada .NET Core. Untuk detail selengkapnya mengenai perubahan ini, lihat Melihat perubahan pertama yang masuk ASP.NET Core 3.0.
Ada beberapa keuntungan untuk menargetkan .NET Core, dan keuntungan ini meningkat dengan setiap rilis. Beberapa keuntungan dari .NET Core daripada .NET Framework meliputi:
- Antar platform. Berjalan di macOS, Linux, dan Windows.
- Meningkatkan performa
- Penerapan versi berdampingan
- API baru
- Sumber terbuka
Untuk membantu menutup celah API dari .NET Framework ke .NET Core, Paket Kompatibilitas Windows membuat ribuan API khusus Windows tersedia di .NET Core. API ini tidak tersedia di .NET Core 1.x.
Jalur pembelajaran yang direkomendasikan
Kami merekomendasikan urutan tutorial dan artikel berikut untuk pengenalan pengembangan aplikasi ASP.NET Core:
Ikuti tutorial untuk jenis aplikasi yang ingin Anda kembangkan atau pertahankan.
Jenis aplikasi Skenario Tutorial Aplikasi web Untuk pengembangan baru Mulai menggunakan Razor Pages Aplikasi web Untuk memelihara aplikasi MVC Mulai menggunakan MVC API Web Membuat Web API† Aplikasi waktu nyata Mulai menggunakan SignalR Ikuti tutorial yang menunjukkan cara melakukan akses data dasar.
Skenario Panduan Untuk pengembangan baru Razor Halaman dengan Entity Framework Core Untuk memelihara aplikasi MVC MVC dengan Entity Framework Core Baca gambaran umum dasar-dasar ASP.NET Core yang berlaku untuk semua jenis aplikasi.
Telusuri Daftar Isi untuk topik lain yang menarik.
†Ada juga tutorial API web yang dapat Anda ikuti sepenuhnya di dalam browser, tidak diperlukan penginstalan IDE lokal. Kode berjalan di Azure Cloud Shell, dan curl digunakan untuk pengujian.
Bermigrasi dari .NET Framework
Untuk panduan referensi untuk memigrasikan aplikasi ASP.NET ke ASP.NET Core, lihat Memperbarui dari ASP.NET ke ASP.NET Core.
Cara mengunduh sampel
Banyak artikel dan tutorial menyertakan tautan ke kode sampel.
- Unduh file repositori ASP.NET zip.
- Ekstrak file
AspNetCore.Docs-main.zip
. - Untuk mengakses aplikasi sampel artikel di repositori yang tidak di-zip, gunakan URL di tautan sampel artikel untuk membantu Anda menavigasi ke folder sampel. Biasanya, tautan sampel artikel muncul di bagian atas artikel dengan teks tautan Lihat atau unduh kode sampel.
Arahan pra-prosesor dalam kode sampel
Untuk menunjukkan beberapa skenario, aplikasi sampel menggunakan arahan #define
prapemrosan dan #if-#else/#elif-#endif
untuk mengkompilasi dan menjalankan bagian kode sampel yang berbeda secara selektif. Untuk sampel yang menggunakan pendekatan ini, atur #define
direktif di bagian atas file C# untuk menentukan simbol yang terkait dengan skenario yang ingin Anda jalankan. Beberapa sampel memerlukan penentuan simbol di bagian atas beberapa file untuk menjalankan skenario.
Misalnya, daftar simbol berikut #define
menunjukkan bahwa empat skenario tersedia (satu skenario per simbol). Konfigurasi sampel saat ini menjalankan TemplateCode
skenario:
#define TemplateCode // or LogFromMain or ExpandDefault or FilterInCode
Untuk mengubah sampel agar dapat menjalankan ExpandDefault
skenario tersebut, tentukan simbol ExpandDefault
dan biarkan simbol yang tersisa dalam bentuk komentar.
#define ExpandDefault // TemplateCode or LogFromMain or FilterInCode
Untuk informasi selengkapnya tentang menggunakan arahan praprosesor C# untuk mengkompilasi bagian kode secara selektif, lihat #define (Referensi C#) dan #if (Referensi C#).
Melanggar perubahan dan saran keamanan
Perubahan signifikan dan peringatan keamanan dilaporkan pada repositori Pengumuman. Pengumuman dapat dibatasi pada versi tertentu dengan memilih filter Label .
Langkah berikutnya
Untuk informasi selengkapnya, lihat sumber daya berikut:
- Mulai menggunakan ASP.NET Core
- Menerbitkan aplikasi ASP.NET Core ke Azure dengan Visual Studio
- dasar-dasar ASP.NET Core
- Pertemuan komunitas ASP.NET mingguan mencakup kemajuan dan rencana tim. Ini mencakup blog baru dan perangkat lunak pihak ketiga.
ASP.NET Core