.NET 5: Apa arti penggabungan .NET Framework dan .NET Core

Strategi .NET Microsoft mungkin sedikit tidak jelas baru-baru ini, dengan dua rangkaian pengembangan yang berbeda di .NET Framework yang sudah dikenal dan yang baru, .NET Core, sumber terbuka. Seperangkat pustaka Standar .NET yang umum bertujuan untuk menyatukan keduanya, memberi pengembang satu cara untuk bekerja dengan versi .NET mana pun yang berbeda di semua platform target mereka, dari Windows ke seluler hingga web. Tapi itu masih berarti harus memikirkan runtime .NET mana yang akan digunakan: Core, Xamarin, Mono, atau Framework?

Memperkenalkan .NET 5, masa depan .NET

Pada Build 2019, Microsoft meluncurkan rencananya untuk masa depan .NET, mengumumkan bahwa rilis besar berikutnya setelah .NET Core 3 akan menjadi satu versi .NET yang disebut .NET 5. Membangun pertumbuhan pesat dalam .NET yang telah difaktorisasi dan dihidupkan kembali Inti, Microsoft bertujuan untuk memiliki banyak API .NET Framework 4.8 dan fitur yang berjalan di .NET 5, bersama dengan API dan layanan baru. Tidak hanya pustaka kelas dasar yang berkumpul; Microsoft mengambil kesempatan untuk menyatukan kompiler .NET yang berbeda, mengembangkan model kompilasi JIT (just-in-time) .NET Core dan sebelumnya dari Mono.

Ini bukan keputusan yang mengejutkan. .NET Framework tidak berkembang secepat .NET Core, terbebani oleh kode warisan. Itu, dikombinasikan dengan fokus Microsoft yang berkembang pada pengembangan lintas platform, memastikan bahwa perpindahan yang menentukan dari Kerangka kerja yang hampir dua puluh tahun ke Core yang lebih baru tidak bisa dihindari. Menghapus Core dari namanya juga logis. Dengan API yang ditambahkan sejak peluncuran dan dukungan untuk pustaka .NET Standard, .NET Core benar-benar bukan lagi inti pemotongan yang refactoring. Dengan .NET 5 menandakan akhir dari pengembangan untuk .NET Framework, ini jelas waktunya untuk nama baru.

Meski begitu, itu tidak akan menjadi perubahan dalam semalam. .NET Core 3 masih dikirimkan, dan kami tidak akan melihat .NET 5 hingga musim gugur 2020. Tanggal pengiriman yang direncanakan pada November 2020 memberi kami waktu hampir 18 bulan untuk menyiapkan kode kami, dengan versi pratinjau tersedia beberapa waktu di paruh pertama tahun 2020.

Apa yang terjadi dengan .NET Framework?

Satu hal yang Microsoft perjelas: .NET Core 3 akan menjadi rilis terakhir ke port .NET Framework API. Jadi tidak akan ada Framework API tambahan di .NET 5, dan beberapa teknologi lama seperti Formulir Web dan Windows Communication Foundation tidak akan menjadi bagian dari platform baru. Jika Anda ingin beralih dari .NET Framework 4.8, Anda harus mencari teknologi alternatif yang didukung. Saat ini Microsoft merekomendasikan Blazor untuk mengganti Formulir Web dan gRPC untuk menggantikan WCF. Mereka adalah alternatif yang masuk akal, memberi Anda dukungan lintas platform yang tidak akan tersedia melalui teknologi lama, dan dengan Blazor menggunakan Perakitan Web atau menawarkan kontrol sisi server di ASP.NET, mereka sekarang mendukung kinerja yang jauh lebih baru dan lebih tinggi. teknologi.

Saran Microsoft untuk pengembang adalah mulai menggunakan .NET Core 3 untuk semua aplikasi baru, tetapi penting untuk dicatat bahwa ini bukanlah akhir dari aplikasi .NET Framework Anda. Microsoft berkomitmen untuk mendukung jangka panjang .NET Framework, jadi jika Anda memiliki kode yang berjalan di .NET Framework 4.8, itu tidak perlu diperbarui sampai Anda siap untuk melakukan perubahan. Bagaimanapun, saat ini pengiriman alat pengembang inti, termasuk Visual Studio, dibuat menggunakan .NET Framework. Meskipun demikian, dengan kompatibilitas kelas dasar antara banyak .NET baru dan yang lama berkat .NET Standard, migrasi seharusnya tidak merepotkan dan akan memberi Anda kesempatan untuk menjalankan kode itu di lebih banyak tempat.

Namun, hanya dengan memigrasi kode akan kehilangan kesempatan untuk memfaktor ulang dan mendesain ulang aplikasi untuk cloud dan untuk layanan mikro. .NET 5 sedang dikembangkan untuk dunia TI saat ini, dengan cloud hybrid dan sistem terdistribusi dalam container sebagai agenda utama, daripada dunia klien-server yang melahirkan .NET asli pada akhir 1990-an.

Runtime lintas platform untuk dunia lintas platform

Dengan menyatukan .NET Core, .NET Standard, dan Xamarin dalam satu platform, Microsoft bertujuan untuk menguasai lintas platform. Kode Anda (dengan beberapa pekerjaan UI) akan dapat berjalan di Windows, Linux, iOS, Android, dan lainnya, dengan dukungan untuk berbagai kelas perangkat. Menambahkan dukungan .NET Core 3 untuk desktop Windows, ada berbagai macam aplikasi yang dapat dibangun di .NET 5, terutama jika Anda memanfaatkan kontrol UWP run -where berkat dukungan dari alat .NET pihak ketiga dari Uno dan orang lain.

Karena implementasi .NET melampaui .NET Core, masih akan ada tempat untuk pustaka Standar .NET. Pustaka umum mempermudah untuk menargetkan beberapa versi .NET dari kode sumber yang sama, dan semua kode .NET 5 Anda akan menggunakan .NET Standard, menyederhanakan meneruskan kode dari versi .NET Core yang lebih lama dan dari implementasi .NET lainnya seperti Mono atau Xamarin.

Mendapatkan pijakan perusahaan .NET dengan benar

Salah satu aspek dari pengumuman .NET 5 adalah jadwal rilis reguler untuk .NET. Menempatkan .NET pada irama tahunan, dengan rilis dukungan jangka panjang dua kali setahun, akan mengurangi tekanan tambahan pada pengembang, menambahkan tingkat prediktabilitas yang telah hilang. Mengetahui bahwa .NET 6 akan digunakan pada tahun 2021, yang akan diikuti oleh .NET 7 setahun kemudian, dan dengan empat tahun dukungan untuk rilis dukungan jangka panjang akan memudahkan perencanaan fitur baru dan siklus hidup aplikasi. Ini akan memungkinkan Microsoft dan seluruh.NET Foundation untuk mempublikasikan peta jalan yang jelas tentang apa yang diharapkan dan kapan harus mengharapkannya.

Di luar ekosistem .NET, ada peluang lain di sini untuk Microsoft dan fokusnya pada langganan alat pengembang. Dengan perubahan kondisi lisensi Oracle untuk Java, runtime perusahaan open source bebas royalti akan menarik bagi banyak tim pengembangan Java yang ada. Peluncuran selama 18 bulan sebelum peluncuran .NET 5 dapat dilihat sebagai waktu untuk melatih pengembang Anda dalam bahasa dan alat baru dan untuk merencanakan implementasi ulang aplikasi di layanan mikro .NET.

Menggabungkan semuanya, hasilnya adalah peta jalan .NET yang ramah pengembang untuk perusahaan. Microsoft dan .NET Foundation berkomitmen untuk pembaruan rutin dan runtime lintas platform tunggal, sambil tetap memastikan aplikasi .NET Framework yang lebih lama tidak ditinggalkan. Dukungan jangka panjang harus membantu tim pengembangan merencanakan siklus hidup aplikasi, memilih apa yang akan ditingkatkan dan kapan. Anda dapat memulai dengan pratinjau terkini .NET Core 3, siap untuk rilis tahun 2020.