oleh Nate Barbettini
Hak Cipta © 2018. Semua hak dilindungi undang -undang.
ISBN: 978-1-387-75615-5
Dirilis di bawah lisensi Creative Commons Attribution 4.0. Anda bebas untuk berbagi, menyalin, dan mendistribusikan kembali buku ini dalam format apa pun, atau remix dan mengubahnya untuk tujuan apa pun (bahkan secara komersial). Anda harus memberikan kredit yang sesuai dan memberikan tautan ke lisensi.
Untuk informasi lebih lanjut, kunjungi https://creativecommons.org/licenses/by/4.0/
Terima kasih telah mengambil buku Inti Asp.net kecil! Saya menulis buku pendek ini untuk membantu pengembang dan orang -orang yang tertarik dengan pemrograman web belajar tentang ASP.NET Core 2.0, kerangka kerja untuk membangun aplikasi web dan API.
Buku Inti ASP.NET kecil disusun sebagai tutorial. Anda akan membangun aplikasi dari awal hingga selesai dan belajar:
Jangan khawatir, Anda tidak perlu tahu apa -apa tentang ASP.NET Core (atau salah satu di atas) untuk memulai.
Kode untuk versi selesai dari aplikasi yang akan Anda bangun tersedia di GitHub:
https://www.github.com/nbarbettini/little-aspnetcore-todo
Jangan ragu untuk mengunduhnya jika Anda ingin melihat produk jadi, atau membandingkan saat Anda menulis kode sendiri.
Buku itu sendiri sering diperbarui dengan perbaikan bug dan konten baru. Jika Anda membaca PDF, e-book, atau versi cetak, periksa situs web resmi (littleasp.net/book) untuk melihat apakah ada versi yang diperbarui yang tersedia. Halaman terakhir buku ini berisi informasi versi dan perubahan.
Berkat beberapa kontributor multibahasa yang fantastis, buku kecil ASP.NET Core telah diterjemahkan ke dalam bahasa lain:
Asp.net Core El Kitabı (Turki)
简明 asp.net core 手册(Cina)
Jika Anda baru dalam pemrograman, buku ini akan memperkenalkan Anda pada pola dan konsep yang digunakan untuk membangun aplikasi web modern. Anda akan belajar cara membangun aplikasi web (dan bagaimana potongan -potongan besar cocok) dengan membangun sesuatu dari awal! Meskipun buku kecil ini tidak akan dapat membahas semua yang perlu Anda ketahui tentang pemrograman, itu akan memberi Anda titik awal sehingga Anda dapat mempelajari topik yang lebih canggih.
Jika Anda sudah mengkode dalam bahasa backend seperti Node, Python, Ruby, Go, atau Java, Anda akan melihat banyak ide yang akrab seperti MVC, lihat templat, dan injeksi ketergantungan. Kode akan ada di C#, tetapi tidak akan terlihat terlalu berbeda dari apa yang sudah Anda ketahui.
Jika Anda seorang pengembang ASP.NET MVC, Anda akan merasa seperti di rumah! Asp.net Core menambahkan beberapa alat baru dan menggunakan kembali (dan menyederhanakan) hal -hal yang sudah Anda ketahui. Saya akan menunjukkan beberapa perbedaan di bawah ini.
Tidak peduli apa pengalaman Anda sebelumnya dengan pemrograman web, buku ini akan mengajari Anda semua yang Anda butuhkan untuk membuat aplikasi web yang sederhana dan berguna di ASP.NET Core. Anda akan belajar cara membangun fungsionalitas menggunakan kode backend dan frontend, cara berinteraksi dengan database, dan cara menggunakan aplikasi ke dunia.
Asp.net Core adalah kerangka kerja web yang dibuat oleh Microsoft untuk membangun aplikasi web, API, dan layanan microser. Ini menggunakan pola umum seperti MVC (model-view-controller), injeksi ketergantungan, dan pipa permintaan yang terdiri dari middleware. Ini sumber terbuka di bawah lisensi Apache 2.0, yang berarti kode sumber tersedia secara bebas, dan masyarakat didorong untuk menyumbangkan perbaikan bug dan fitur baru.
Asp.net Core berjalan di atas runtime .NET Microsoft, mirip dengan Java Virtual Machine (JVM) atau Ruby Interpreter. Anda dapat menulis aplikasi ASP.NET Core dalam sejumlah bahasa (C#, Visual Basic, F#). C# adalah pilihan paling populer, dan itulah yang akan saya gunakan dalam buku ini. Anda dapat membangun dan menjalankan aplikasi ASP.NET Core di Windows, Mac, dan Linux.
Ada banyak kerangka kerja web yang hebat untuk dipilih: Node/Express, Spring, Ruby on Rails, Django, Laravel, dan banyak lagi. Keuntungan apa yang dimiliki ASP.NET Core?
Kecepatan. Asp.net Core cepat. Karena kode .NET dikompilasi, itu mengeksekusi lebih cepat daripada kode dalam bahasa yang ditafsirkan seperti JavaScript atau Ruby. Asp.net Core juga dioptimalkan untuk tugas multithreading dan asinkron. Adalah umum untuk melihat peningkatan kecepatan 5-10x atas kode yang ditulis dalam node.js.
Ekosistem. Inti ASP.NET mungkin baru, tetapi .Net telah ada sejak lama. Ada ribuan paket yang tersedia di Nuget (manajer paket .NET; pikirkan NPM, Ruby Gems, atau Maven). Sudah ada paket yang tersedia untuk deserialisasi JSON, konektor database, pembuatan PDF, atau hampir semua hal lain yang dapat Anda pikirkan.
Keamanan. Tim di Microsoft menanggapi keamanan dengan serius, dan ASP.NET Core dibangun agar aman dari bawah ke atas. Ini menangani hal-hal seperti membersihkan data input dan mencegah serangan pemalsuan lintas-situs (CSRF), jadi Anda tidak perlu melakukannya. Anda juga mendapatkan manfaat dari pengetikan statis dengan kompiler .NET, yang seperti memiliki linter yang sangat paranoid dihidupkan setiap saat. Ini membuatnya lebih sulit untuk melakukan sesuatu yang tidak Anda inginkan dengan variabel atau potongan data.
Sepanjang buku ini, Anda akan belajar tentang ASP.NET Core (The Web Framework). Saya sesekali menyebutkan .NET Runtime, perpustakaan pendukung yang menjalankan kode .net. Jika ini sudah terdengar seperti bahasa Yunani bagi Anda, lewati saja ke bab berikutnya!
Anda juga dapat mendengar tentang .NET Core dan .NET Standard. Penamaan menjadi membingungkan, jadi inilah penjelasan sederhana:
.NET Standard adalah antarmuka platform-agnostik yang mendefinisikan fitur dan API. Penting untuk dicatat bahwa standar .NET tidak mewakili kode atau fungsionalitas aktual, hanya definisi API. Ada berbagai "versi" atau tingkat standar .NET yang mencerminkan berapa banyak API yang tersedia (atau seberapa lebar luas permukaan API). Misalnya, .NET Standard 2.0 memiliki lebih banyak API yang tersedia daripada .NET Standard 1.5, yang memiliki lebih banyak API daripada .NET Standard 1.0.
.NET Core adalah .NET Runtime yang dapat diinstal pada Windows, Mac, atau Linux. Ini mengimplementasikan API yang ditentukan dalam antarmuka .NET standar dengan kode spesifik platform yang sesuai pada setiap sistem operasi. Inilah yang akan Anda instal pada mesin Anda sendiri untuk membangun dan menjalankan aplikasi Core ASP.NET.
Dan hanya untuk ukuran yang baik, .NET Framework adalah implementasi yang berbeda dari standar .NET yang hanya Windows. Ini adalah satu -satunya runtime .NET sampai .NET Core datang dan membawa .NET ke Mac dan Linux. ASP.NET Core juga dapat berjalan di Windows-only .NET Framework, tetapi saya tidak akan terlalu banyak menyentuh ini.
Jika Anda bingung dengan semua penamaan ini, jangan khawatir! Kami akan mendapatkan beberapa kode nyata sedikit.
Jika Anda belum menggunakan versi sebelumnya dari ASP.NET, lewati ke depan ke bab berikutnya.
Asp.net Core adalah penulisan ulang yang lengkap dari ASP.NET, dengan fokus pada memodernisasi kerangka kerja dan akhirnya memisahkannya dari System.Web, IIS, dan Windows. Jika Anda ingat semua hal Owin/Katana dari ASP.NET 4, Anda sudah setengah jalan di sana: Proyek Katana menjadi ASP.NET 5 yang akhirnya diganti namanya menjadi ASP.NET Core.
Karena warisan Katana, kelas Startup ada di depan dan tengah, dan tidak ada lagi Application_Start atau Global.asax . Seluruh pipa didorong oleh middleware, dan tidak ada lagi perpecahan antara MVC dan API Web: Pengontrol dapat dengan mudah mengembalikan tampilan, kode status, atau data. Injeksi ketergantungan datang dipanggang, jadi Anda tidak perlu menginstal dan mengkonfigurasi wadah seperti StruktureMap atau Ninject jika Anda tidak mau. Dan seluruh kerangka kerja telah dioptimalkan untuk efisiensi kecepatan dan runtime.
Baiklah, pengantar yang cukup. Mari selami ASP.NET Core!