Apa itu .NET?

Selesai

Ketika seseorang menggunakan istilah .NET, apa artinya sangat tergantung pada konteks. Dalam unit ini, Anda belajar tentang .NET dengan melihatnya sebagai ekosistem. Dengan kata lain, .NET adalah kumpulan banyak bagian dan orang-orang yang bersama-sama menciptakan lingkungan yang kuat untuk membangun aplikasi.

.NET adalah ekosistem untuk pengembangan aplikasi

Istilah ekosistem menggambarkan beberapa faset lingkungan pengembangan aplikasi dan komunitas yang mengelilinginya. Faset ini digabungkan untuk menciptakan alasan yang menarik untuk berinvestasi dalam mempelajari aplikasi .NET dan membangun .NET.

Gunakan bahasa dan kompilator .NET untuk menjalankan aplikasi dalam runtime .NET

Pengembang perangkat lunak menggunakan bahasa .NET seperti C# dan F# untuk menulis kode sumber. Setiap baris kode yang mereka tulis mengekspresikan instruksi atau perintah yang harus dilakukan komputer saat program sedang berjalan.

Sebelum pengembang perangkat lunak dapat menjalankan kode mereka, mereka harus terlebih dahulu mengkompilasinya. Pengkompilasi .NET adalah program yang mengonversi kode sumber (dalam bahasa pemrograman yang didukung) menjadi bahasa portabel yang disebut bahasa perantara (IL). Pengkompilasi .NET menyimpan kode IL ke dalam file yang disebut rakitan .NET . Dengan mengkompilasi kode ke dalam format menengah, Anda dapat menggunakan basis kode yang sama di mana pun Anda menjalankan kode, baik di Windows atau Linux, atau pada perangkat keras komputer 32-bit atau 64-bit.

Runtime .NET adalah lingkungan eksekusi untuk rakitan .NET anda yang dikompilasi. Dengan kata lain, runtime .NET adalah apa yang menjalankan dan mengelola aplikasi Anda saat berjalan pada sistem operasi host. Kita akan membahas lebih lanjut tentang apa yang dilakukan oleh runtime .NET sebentar lagi.

Untungnya, sebagai pengembang perangkat lunak yang baru saja mulai menggunakan .NET, Anda tidak perlu masuk ke detail tentang cara kerja mekanisme ini. Dengan pengalaman, Anda menjadi lebih memahami dan menghargai kekuatan yang mendasari bahasa dan kompilator .NET dan runtime.

Tips

Terkadang orang berpikir bahwa bahasa pemrograman C# adalah .NET. Namun, C# dan .NET berbeda. C# adalah sintaks bahasa pemrograman. Sebagai bagian dari sintaksis, Anda dapat mereferensikan dan memanggil metode yang ditentukan dalam pustaka kode .NET, atau rakitan . Selanjutnya, Anda menggunakan pengkompilasi C# yang diinstal dengan .NET SDK untuk membuat rakitan .NET dari kode C# Anda. Runtime .NET kemudian menjalankan assembly .NET. Perbedaan ini adalah konsep penting saat Anda mempelajari lebih lanjut tentang .NET dan C#.

Menggunakan kerangka kerja dan pustaka aplikasi .NET untuk memanfaatkan fungsionalitas bawaan

Semua perangkat lunak dibangun dalam lapisan, yang berarti perangkat lunak berjalan pada berbagai tingkat abstraksi pada komputer:

  • Pada tingkat terendah, perangkat lunak berkomunikasi langsung dengan perangkat keras komputer Anda. Ini mengontrol aliran data pada motherboard, prosesor, memori, dan hard drive.
  • Pada tingkat berikutnya, perangkat lunak memungkinkan pengguna akhir untuk memberikan instruksi melalui sistem operasi.
  • Pada tingkat berikutnya, perangkat lunak seperti .NET menyediakan cara bagi Anda untuk mengembangkan dan menjalankan aplikasi.
  • Pada tingkat berikutnya, kerangka kerja aplikasi dan pustaka fungsionalitas memungkinkan Anda untuk dengan cepat membangun aplikasi kaya dengan lebih sedikit upaya daripada metode pengembangan yang lebih lama.

Pustaka kode merangkum fungsionalitas untuk tujuan tertentu ke dalam satu rakitan. Untuk .NET, ribuan pustaka tersedia. Pustaka ini dapat berupa pihak pertama atau pihak ketiga, dan dapat berupa sumber komersial atau terbuka. Pustaka menyediakan berbagai fungsionalitas yang dapat Anda gunakan dalam aplikasi Anda. Anda hanya mereferensikan rakitan tersebut dan memanggil metode yang Anda butuhkan. Dengan cara ini, sebagai pengembang, Anda membangun pekerjaan pengembang perangkat lunak lainnya. Anda menghemat waktu dan energi karena Anda tidak perlu membangun dan memelihara setiap fitur sendiri.

Kerangka kerja aplikasi menggabungkan beberapa pustaka terkait, bersama dengan proyek pemula, templat file, generator kode, dan alat lainnya. Anda dapat menggunakan sumber daya ini untuk membangun seluruh aplikasi untuk tujuan tertentu. Kerangka kerja aplikasi ini dikenal sebagai model aplikasi . Misalnya, kerangka kerja aplikasi .NET tersedia untuk model aplikasi populer seperti pengembangan web, pengembangan desktop dan seluler, dan pengembangan game.

Anda dapat menginstal .NET SDK secara langsung atau dengan menginstal Visual Studio 2022. .NET SDK secara otomatis menginstal serangkaian pustaka dan kerangka kerja aplikasi komprehensif yang disebut 'pustaka kelas dasar'. Anda dapat menggunakan pustaka kode ini dalam program Anda terlepas dari platform atau model aplikasi yang ingin Anda buat.

Untuk pustaka pihak ketiga lainnya, pengembang menggunakan manajer paket seperti NuGet untuk menemukan dan mengintegrasikan pustaka kode dari repositori paket seperti Galeri NuGet.

Apa saja model aplikasi utama?

Anda mungkin bertanya-tanya kerangka kerja mana yang mendukung model aplikasi mana. Gunakan tabel berikut untuk memetakan model aplikasi ke kerangka kerja .NET.

Model aplikasi Kerangka kerja Catatan
Web ASP.NET Core Kerangka kerja untuk membangun logika sisi server.
Web ASP.NET Core MVC Kerangka kerja untuk membangun logika sisi server untuk halaman web atau API web.
Web Halaman ASP.NET Core Razor Kerangka kerja untuk membangun HTML yang dihasilkan server.
Klien web Blazor Blazor adalah bagian dari ASP.NET Core. Dua modenya memungkinkan manipulasi Model Objek Dokumen (DOM) melalui soket sebagai kendaraan komunikasi untuk menjalankan kode sisi server, atau implementasi WebAssembly untuk menjalankan C# yang dikompilasi di browser.
Dekstop .NET untuk Mac Memungkinkan pengembang .NET untuk membangun aplikasi untuk perangkat Mac dengan UI asli dan akses API.
Dekstop WinForms Kerangka kerja untuk membangun aplikasi bergaya Windows "battleship gray".
Dekstop Windows Presentation Foundation (WPF) Kerangka kerja untuk membangun aplikasi desktop dinamis yang sesuai dengan berbagai faktor bentuk. WPF memungkinkan elemen formulir untuk melakukan gerakan, memudar, meluncur, dan efek lain dengan bantuan pustaka animasi yang kaya.
Perangkat mobile .NET untuk Android Memungkinkan pengembang .NET membuat aplikasi untuk perangkat Android dengan UI asli dan akses API.
Perangkat mobile .NET untuk iOS Memungkinkan pengembang .NET membangun aplikasi untuk iOS dan iPadOS dengan akses UI dan API asli.
UI Aplikasi Multi-Platform .NET MAUI Cara utama untuk membuat aplikasi untuk iOS, Android, Mac, dan Windows dari satu basis kode bersama dengan UI asli dan akses ke API asli.

.NET juga mendukung lingkungan dan mesin pengembangan game pihak ketiga dan sumber terbuka yang populer seperti Unity.

Gunakan alat .NET untuk membangun aplikasi .NET

Pengembang perangkat lunak mengandalkan alat untuk menulis kode, menambahkan referensi ke pustaka kode, mengkompilasi kode, dan kode debug. Bagian ini menjelaskan beberapa alat .NET yang Anda gunakan untuk membangun aplikasi .NET.

Visual Studio 2022 adalah lingkungan pengembangan unggulan Microsoft. Jutaan pengembang menggunakannya untuk membangun aplikasi .NET. Antarmuka pengguna grafis (yang mencakup menu, jendela, desainer visual, kotak dialog, dan wizard) memandu pengembang melalui proses pengembangan aplikasi. Visual Studio 2022 tersedia dalam tiga edisi: Komunitas, Profesional, dan Enterprise. Setiap edisi mencakup alat yang berbeda dan dilisensikan untuk tujuan yang berbeda.

Visual Studio Code adalah editor kode unggulan Microsoft yang mendukung beberapa bahasa pemrograman dan didukung di Windows, Mac, dan Linux. Ekstensi C# Dev Kit menghadirkan pengembangan C# editor-first yang ditingkatkan ke Visual Studio Code dan meningkatkan pengalaman bekerja dengan proyek .NET dengan dukungan untuk penjelajah solusi, sistem proyek, penyempurnaan pengujian dan penjelajah, pengembangan yang dibantu AI, dan layanan bahasa yang kuat untuk fitur bahasa C# terbaik di kelasnya seperti navigasi kode, pemfaktoran ulang, kesadaran semantik, dan banyak lagi.

Pengembang yang lebih suka alur kerja baris perintah mungkin menggunakan kombinasi Visual Studio Code (editor kode paling populer di dunia), dan antarmuka baris perintah .NET (.NET CLI).

Selain itu, Anda dapat memilih dari banyak alat pihak pertama dan pihak ketiga untuk banyak kasus penggunaan .NET tingkat lanjut. Opsi termasuk pemprofilan kode, alat uji unit, dan penganalisis cakupan kode.

Anda dapat menemukan alat .NET lainnya untuk skenario lain. Misalnya, ada editor kode C# yang tersedia untuk digunakan langsung di browser. Editor browser menyediakan lingkungan yang ringan untuk menulis, menjalankan, dan menguji kode C# tanpa perlu menginstal perangkat lunak apa pun di komputer lokal Anda.

Menemukan solusi dan jawaban dalam dokumentasi dan tutorial

Microsoft secara aktif menyediakan serangkaian dokumentasi, tutorial, dan pelatihan yang kaya. Anda dapat menemukan materi pembelajaran dalam modalitas populer untuk membantu Anda di setiap langkah dalam proses pembelajaran Anda.

Tabel berikut ini menampilkan beberapa sumber daya hebat yang mungkin ingin Anda tandai dan kembali ke.

Sumber daya Maksud
Microsoft Learn Menyediakan tutorial mulai cepat dan dokumentasi referensi definitif.
Pola dan Praktik Membantu pengembang dan arsitek perangkat lunak menemukan solusi untuk kebutuhan pengembangan aplikasi umum. Sumber daya sering melampaui detail tingkat rendah dari penulisan kode dan mempelajari cara memilih produk dan layanan yang memungkinkan arsitektur yang tampaknya tak terbatas yang dapat diskalakan.
Video .NET Menyediakan tutorial video dari tim .NET. Video-video ini memandu pengembang melalui skenario penggunaan umum.
Mulai menggunakan C# Menyediakan lab langsung untuk membantu Anda membangun keterampilan Anda dengan menggabungkan instruksi, latihan, media, pemeriksaan pengetahuan, dan sarana untuk melacak kemajuan Anda.

Pelajari dan bagikan solusi dengan komunitas .NET

Ekosistem .NET melampaui bahasa, pustaka, dan alat hingga mencakup orang-orang. Anda bebas berinteraksi dengan belajar dari dan berkontribusi kepada komunitas.

  • Pelajari: Anggota komunitas .NET menyelenggarakan pertemuan langsung dan acara online langsung. Mereka membangun perangkat lunak sumber terbuka, berpartisipasi dalam forum Q&A, dan merekam tutorial video. Mereka menulis buku dan posting blog yang membantu Anda belajar dan tidak terjebak ketika Anda tidak yakin apa yang harus dilakukan selanjutnya.
  • Kontribusi: .NET adalah sumber terbuka di GitHub. .NET Foundation mengelola proyek di repositori ini. Organisasi independen ini didedikasikan untuk menumbuhkan ekosistem sumber terbuka yang tepercaya, ramah komersial, di sekitar platform pengembangan .NET. Dalam repositori ini, Anda dapat berbagi perspektif dan suara unik Anda untuk membantu orang lain belajar.

Bagaimana ekosistem .NET dibandingkan dengan yang lain?

Jika Anda terbiasa dengan dunia pengembangan perangkat lunak, Anda mungkin bertanya-tanya bagaimana ekosistem .NET dibandingkan dengan yang lain. Terus terang, ekosistem lain dapat membuat klaim serupa dengan beberapa atau banyak pernyataan yang dibuat sejauh ini di unit ini.

Namun, salah satu fitur paling khas dari .NET adalah bahwa pengembangan dan dukungannya yang sedang berlangsung tidak hanya berasal dari pemimpin teknologi utama, tetapi juga komunitas. Bagian signifikan dari .NET dikembangkan melalui sarana sumber terbuka. Masukan dan kontribusi komunitas disambut baik dan didorong. Bahkan, 87 persen kontributor berada di luar Microsoft. Berdasarkan input komunitas lebih dari 100.000 permintaan pull yang diterima, Microsoft secara aktif memindahkan platform ke depan dengan peningkatan fitur, perbaikan bug, dan peningkatan performa.

Selain itu, ekosistem .NET memiliki momentum:

  • Pengembang .NET berjumlah lebih dari 5 juta!
  • Hasil polling Stack Overflow secara konsisten menunjukkan bahwa .NET Core & .NET adalah kerangka kerja yang paling dicintai.
  • Siswa menyukai .NET; 40 persen pengembang yang baru menggunakan .NET adalah siswa.
  • Repositori GitHub untuk .NET dan ASP.NET berada di antara 30 proyek perangkat lunak sumber terbuka (OSS) dengan kecepatan tertinggi teratas.
  • GitHub mencantumkan C# dalam lima bahasa pemrograman teratas, dan bahasanya meningkat popularitasnya menurut indeks komunitas pemrograman TIOBE 2020.
  • .NET memiliki kerangka kerja web tercepat di planet ini menurut tolok ukur TechEmpower. Serangkaian tolok ukur performa web sumber terbuka independen yang mengukur puluhan bahasa dan kerangka kerja aplikasi.

Riwayat singkat .NET

.NET Framework asli pertama kali dirilis pada awal 2002. Sejak itu, banyak pembaruan dan lebih banyak fungsionalitas diikuti. Setelah bertahun-tahun penyempurnaan dan fitur baru, .NET Framework asli, terutama pustaka kode kunci, tumbuh secara signifikan.

Setelah 2002, Microsoft bekerja untuk membuat versi .NET yang memiliki kompatibilitas lintas platform. Tujuannya adalah untuk memungkinkan pengembang menulis satu basis kode dan menggunakannya di seluruh sistem operasi macOS, Linux, dan Windows.

Melalui upaya ini, .NET Core diperkenalkan sekitar tahun 2014. Microsoft mempertahankan .NET Framework asli, tetapi fitur dan peningkatan baru dicadangkan untuk .NET Core. Core kemudian dihilangkan dari namanya. Versi utama berikutnya adalah .NET 5, .NET 6, .NET 7, .NET 8, dan sebagainya. Versi biasanya dirilis setiap November.

Mengapa sejarah .NET layak disebutkan? Karena Anda cenderung menemukan posting blog, video, dan kode sumber yang menargetkan .NET Framework asli. Dalam beberapa kasus, instruksi atau kode masih berfungsi, tetapi dalam kasus lain, Anda mungkin perlu membuat penyesuaian agar sesuai dengan .NET baru.