Apa itu .NET Framework? Jawaban Microsoft untuk Java

Apa itu .NET Framework? .NET ditentukan

 .NET adalah kerangka pengembangan perangkat lunak — dan ekosistem alat, bahasa, dan runtime yang menyertainya — yang dibuat oleh Microsoft untuk memudahkan pengembangan aplikasi di berbagai platform, dari desktop hingga perangkat seluler. Meskipun .NET (diucapkan dot net, dan kadang-kadang ditulis sebagai .Net) pada awalnya terkait dengan sistem operasi dan platform Windows milik Microsoft ketika diluncurkan pada awal tahun 00-an, aplikasi .NET sekarang dapat ditulis untuk web, MacOS, iOS , Android, Linux, dan lainnya — dan .NET adalah standar formal dan resmi tersedia sebagai sumber terbuka.

Microsoft mendeskripsikan .NET sebagai "lingkungan pemrograman berorientasi objek yang konsisten, baik kode objek disimpan dan dijalankan secara lokal, dijalankan secara lokal tetapi didistribusikan ke Internet, atau dijalankan dari jarak jauh." .NET bertujuan untuk menyediakan eksekusi kode yang aman, untuk memberikan kinerja yang lebih baik daripada bahasa yang ditafsirkan, dan untuk membuat pengalaman pengembang konsisten di berbagai aplikasi. 

Komponen utama dari .NETFramework

.NET Framework telah ada selama hampir 20 tahun, dan telah mengalami banyak perubahan, dengan komponen yang diluncurkan dan kemudian tidak digunakan lagi selama waktu itu. Saat ini, ada tiga lapisan utama untuk .NET:

  • Pustaka standar .NET menyertakan komponen yang akan membentuk infrastruktur untuk hampir semua aplikasi yang Anda tulis — kelas dan tipe yang berguna dalam melakukan tugas sehari-hari seperti menangani string dan primitif, membuat koneksi database, melakukan I / O operasi, dan sebagainya.
  • Model aplikasi opsional berisi kode pipa untuk berbagai platform tempat Anda dapat menerapkan aplikasi .NET Anda. Ada sejumlah model aplikasi untuk aplikasi Windows (warisan dari hubungan dekat .NET dengan OS andalan Microsoft yang terus berkembang) dan juga untuk platform lain: ASP.NET untuk aplikasi web, misalnya, dan model untuk Mac dan berbagai platform seluler.
  • The infrastruktur umum adalah lapisan dasar komponen yang memungkinkan seluruh ekosistem untuk benar-benar melaksanakan dalam praktek, dari kompiler untuk bahasa untuk komponen runtime. Ini sangat penting untuk memahami apa yang ditawarkan .NET, jadi kita akan melihatnya lebih detail di bagian selanjutnya. 

Cara kerja .NETFramework

Komponen utama .NETFramework bekerja sama untuk mempermudah proses penulisan aplikasi. Pustaka standar dan model aplikasi menyediakan banyak kode untuk menangani tugas-tugas pemrograman dasar untuk Anda sehingga Anda tidak perlu menemukan kembali roda pada setiap aplikasi yang Anda buat. Dan infrastruktur umum menangani banyak pekerjaan sampah dalam penerapan aplikasi tersebut.

Kode yang ditulis dalam salah satu bahasa .NET (lebih lanjut sebentar lagi) dikompilasi ke bahasa bytecode perantara yang disebut Common Intermediate Language , atau CIL. Kode CIL tidak dapat dibaca manusia, tetapi dapat di-porting ke seluruh sistem operasi dan platform. CIL kemudian dikompilasi lagi oleh Common Language Runtime , atau CLR. Implementasi CLR khusus untuk platform, dan mereka mengkompilasi kode CIL menjadi kode yang dapat dibaca mesin yang dapat dieksekusi pada platform saat itu. Versi CLR yang berbeda mendukung kompilasi just-in-time dan advance-of-time.

Dalam proses membuat kode lokal yang dapat dibaca mesin, CLR juga mengelola banyak fungsi aplikasi tingkat rendah, seperti pengumpulan sampah dan penguliran, yang penting untuk kinerja aplikasi tetapi seringkali membosankan bagi pengembang untuk ditangani. Bersama-sama, CIL dan CLR membentuk .NET Common Language Infrastructure (CLI, dan ya, kami tahu semua singkatan ini serupa dan agak membingungkan).

Semua ini seharusnya terdengar familier bagi siapa pun yang bekerja dengan platform Java, karena mengikuti paradigma dasar yang sama — library kelas besar yang tersedia, bytecode perantara, dan runtime khusus platform yang mengotomatiskan manajemen memori adalah semua fitur dari kedua penawaran. .NET dikembangkan pada akhir tahun 90-an, selama masa kejayaan awal Java, dan pada awalnya diposisikan sebagai pesaing platform Java Enterprise Edition; bahasa Java dan C #, bahasa .NET pertama dan paling menonjol, keduanya berasal dari C dan secara semantik serupa.

Apa saja bahasa pemrograman .NET?

C #, diumumkan dengan banyak kemeriahan setelah peluncuran .NET pada tahun 2000, adalah bahasa pemrograman .NET yang paling terkenal dan banyak digunakan. Ini dikembangkan secara internal oleh Microsoft sebagai bagian dari inisiatif .NET, dan sebagian besar kelas di pustaka standar .NET ditulis dalam C #. Bahasanya berorientasi objek dan dirancang agar cukup mirip dengan C agar mudah dipelajari dan digunakan oleh pengembang C, C ++, Java, dan JavaScript.

Microsoft saat ini juga mengedepankan dua bahasa pemrograman lain yang dapat digunakan untuk menulis untuk .NET Framework. Salah satunya adalah F #, bahasa pemrograman fungsional yang merupakan bagian dari keluarga bahasa ML yang pada akhirnya berakar pada LISP; yang lainnya adalah Visual Basic, bahasa pemrograman Microsoft yang terkemuka dan mudah dipelajari untuk mengembangkan aplikasi client-server. Tetapi ini hanyalah puncak gunung es: Karena .NET terdiri dari standar terbuka, siapa pun dapat menulis bahasa yang mengkompilasi bytecode CIL dan dapat dijalankan oleh CLR. Wikipedia memiliki daftar lebih dari 20 proyek bahasa CLI yang saat ini dikelola. Hampir semuanya mewakili port .NET dari bahasa yang ada, dari Pascal hingga JavaScript hingga bahkan COBOL.

Fakta bahwa keragaman bahasa ini dapat hidup berdampingan dalam .NET Framework adalah salah satu kekuatan platform ini. Karena semua kode dikompilasi ke bytecode CIL, .NET tidak terlalu peduli dalam bahasa apa Anda menulisnya; Anda dapat memilih bahasa berdasarkan preferensi Anda sendiri, kekuatan dan kelemahan yang berbeda dari setiap bahasa, atau aspek yang berbeda dari .NET Framework yang diberikan oleh setiap bahasa kepada Anda (ada beberapa variasi di sini). Seperti disebutkan, sebagian besar pustaka standar ditulis dalam C #, tetapi itu tidak menghentikan Anda mengakses kelas-kelas tersebut dari kode yang ditulis dalam bahasa CLI lainnya. Memang, komponen yang ditulis dalam bahasa CLI yang berbeda dapat dengan bebas beroperasi di seluruh aplikasi .NET.

.NET Framework versus .NET Core (dan seterusnya) 

Anda akan melihat kami telah menggunakan ".NET Framework" di seluruh artikel ini untuk merujuk ke platform secara umum. Sebenarnya, itu tidak benar: Microsoft menggunakan frasa itu untuk merujuk pada implementasi lama mereka .NET Standard, yang secara eksklusif berfokus pada Windows. Secara historis ada implementasi lain dari .NET; salah satu yang paling terkenal adalah Mono, implementasi open source yang pertama kali dirilis pada tahun 2004 yang memungkinkan untuk menjalankan aplikasi .NET di Linux. (Rilis tersebut menimbulkan beberapa kontroversi, karena ini adalah era ketika masih ada sedikit pertengkaran antara Microsoft dan komunitas open source.) Mono sekarang membentuk basis platform Xamarin, yang memungkinkan pembuatan .NET aplikasi untuk iOS, Android, dan MacOS serta Linux. Xamarin memulai hidup sebagai gagasan dari para pendiri Mono,tetapi perusahaan yang mereka dirikan untuk mendukung proyek tersebut akhirnya diakuisisi oleh Microsoft.

Implementasi .NET utama ketiga dari Microsoft adalah .NET Core, implementasi lintas platform .NET Standard yang dirilis sebagai open source pada 2016. .NET Core dibangun baru dari awal dan menghapus beberapa cruft yang telah terakumulasi di .NET Framework, meskipun itu juga tidak memiliki fitur lengkap. Memiliki banyak versi .NET Standard, semuanya dari Microsoft, dapat dimengerti agak membingungkan. Pada 2017, kolumnis Simon Bisson bergumul dengan pertanyaan tentang implementasi mana yang harus digunakan dalam konteks apa.

Tapi itu semua akan berubah dalam waktu yang tidak lama lagi. Pada November 2020, Microsoft bermaksud untuk menyatukan tiga implementasi .NET sebagai .NET 5. .NET 5 pada dasarnya akan menjadi generasi berikutnya dari .NET Core, dengan banyak komponen dari .NET Framework dan Xamarin diluncurkan ke dalamnya. Namun, sejumlah .NET Framework API tidak akan melakukan perjalanan ke .NET 5. Langkah ini bertujuan untuk menyederhanakan hal-hal bagi pengembang dan memfokuskan upaya Microsoft sendiri.

Apa .NET Framework yang saya miliki?

Namun, pada tulisan ini, itu lebih dari satu tahun libur. Versi .NET Framework terbaru adalah 4.8; versi .NET Core saat ini adalah 3.0. Microsoft memiliki halaman dengan instruksi tentang bagaimana Anda dapat mempelajari versi .NET Framework apa yang saat ini diinstal di komputer Anda.

Untuk apa .NET digunakan? 

Jadi semua itu memberi Anda banyak hal tentang apa dan bagaimana; tapi yang mungkin masih bertanya-tanya adalah mengapa. Mengapa menggunakan .NET Framework? Blog Altexsoft memiliki rincian yang baik tentang pro dan kontra .NET. Sisi positifnya, .NET menyediakan model pemrograman berorientasi objek dengan sistem cache yang andal dan sederhana serta IDE yang matang, dan memungkinkan penerapan yang fleksibel dan perawatan yang mudah. Selain itu, sifat lintas platform .NET memungkinkan kode untuk dikirim ke berbagai jenis titik akhir. .NET paling sesuai jika Anda membangun aplikasi lintas platform pada infrastruktur skala perusahaan yang ingin Anda dapat skalakan tanpa harus melengkapi ulang sepenuhnya.

Unduh .NET Framework

Siap untuk mulai bereksperimen dengan .NET? Unduh .NET Framework (untuk Windows) atau .NET Core (untuk Windows, Linux, atau MacOS) dari situs web Microsoft; Gambar Docker juga tersedia. Anda dapat menemukan Xamarin untuk iOS dan Android di GitHub. Selamat menjelajah!