.NET 10 Preview 6 Mencetuskan Perdebatan Pembangun Mengenai Isu Perkakas dan Hala Tuju Ekosistem

Pasukan Komuniti BigGo
.NET 10 Preview 6 Mencetuskan Perdebatan Pembangun Mengenai Isu Perkakas dan Hala Tuju Ekosistem

Microsoft mengeluarkan .NET 10 Preview 6 pada 15 Julai 2024, membawa beberapa penambahbaikan ketara termasuk penjanaan kod JIT yang lebih baik dan pelaksanaan alat sekali guna. Walaupun kemas kini ini memperkenalkan ciri-ciri berguna, respons komuniti pembangun mendedahkan kebimbangan berterusan mengenai kebolehpercayaan perkakas dan hala tuju strategik platform yang mungkin memberi kesan kepada keputusan penggunaan.

Ciri-ciri Utama .NET 10 Preview 6

  • Penambahbaikan JIT: Penjanaan kod yang dipertingkatkan untuk argumen struct dengan ahli yang dipromosikan dalam daftar berkongsi
  • Pelaksanaan Alat Satu Tembakan: Arahan dotnet tool exec untuk menjalankan alat tanpa pemasangan
  • Sokongan Alat Berbilang Platform: Alat kini boleh menggabungkan binari untuk berbilang RuntimeIdentifiers (RIDs)
  • Penerbitan Boleh Laksana Natif: Aplikasi berasaskan fail menyokong penerbitan kepada boleh laksana natif melalui dotnet publish app.cs
  • Peningkatan Keselamatan JSON: Pilihan baharu untuk tidak membenarkan sifat JSON pendua semasa penyahsirialan
  • Output Skema CLI: Pilihan cli-schema baharu menyediakan perwakilan JSON bagi pokok arahan CLI
Gambaran keseluruhan keluaran  NET 10 Preview 6  dan ciri-ciri utamanya
Gambaran keseluruhan keluaran NET 10 Preview 6 dan ciri-ciri utamanya

Pelaksanaan Alat Sekali Guna Menangani Keperluan Skrip Lama

Pengenalan dotnet tool exec membolehkan pembangun menjalankan alat .NET tanpa memasangnya secara tempatan atau global. Ciri ini amat memberi manfaat kepada saluran paip CI/CD dan senario penggunaan sementara. Ahli komuniti telah mengalu-alukan penambahan ini, menyatakan ia membawa C# lebih dekat kepada keupayaan skrip yang telah dinikmati oleh F# melalui dotnet fsi. Ciri ini membolehkan pembangun melaksanakan fail C# sebagai skrip tanpa langkah pembinaan, menjadikan bahasa ini lebih sesuai untuk tugas automasi pantas dan utiliti sekali sahaja.

Masalah Perkakas Berterusan Mengecewakan Pengalaman Pembangunan

Walaupun terdapat ciri-ciri baru, pembangun terus melaporkan isu ketara dengan pengalaman pembangunan. Fungsi muat semula panas dalam dotnet watch kekal tidak boleh dipercayai, dengan perubahan CSS kadang-kadang tidak dikesan walaupun menggunakan bendera --no-hot-reload. Pengguna Visual Studio melaporkan masalah berterusan dengan penyerlahan sintaks dan IntelliSense untuk komponen Blazor , isu yang telah berterusan merentasi beberapa versi. Masalah perkakas ini mewujudkan ketidakpastian semasa pembangunan, menjadikannya sukar untuk membezakan antara ralat pengekodan sebenar dan kerosakan alat.

Yang saya mahukan hanyalah untuk dotnet watch berkelakuan dengan cara yang boleh diramalkan. Dalam .NET 9, walaupun menggunakan —no-hot-reload, kadang-kadang perubahan CSS kepada komponen tidak diambil pada komponen Blazor.

Alat Pemformatan Kod Ketinggalan Berbanding Piawaian Industri

Ekosistem .NET masih kekurangan pemformat kod beropini yang diterima pakai secara meluas yang setanding dengan Prettier dalam dunia JavaScript . Walaupun alat seperti CSharpier wujud dan telah mendapat sedikit daya tarikan, banyak pasukan perusahaan kekal teragak-agak untuk menggunakan pemformatan automatik. Arahan dotnet format terbina dalam menawarkan pilihan konfigurasi yang luas tetapi memerlukan persediaan yang ketara untuk mencapai pemformatan yang konsisten. Perpecahan ini memaksa pasukan bergantung banyak kepada pemformatan khusus IDE , mewujudkan cabaran dalam persekitaran pembangunan bercampur di mana ahli pasukan menggunakan editor yang berbeza.

Alat Pemformatan Kod yang Disebut oleh Komuniti

Alat Jenis Tahap Penggunaan Ciri Utama
CSharpier Pihak ketiga Berkembang (2k bintang GitHub) Pemformatan yang berpendirian dan deterministik
dotnet format Rasmi Microsoft Terbina dalam Sangat boleh dikonfigurasi, berintegrasi dengan penganalisis
StyleCop Warisan Menurun Penguatkuasaan susun atur fail dan penamaan
Roslynator Penganalisis Aktif Analisis kod dan pembetulan

Kebimbangan Penggunaan Platform di Tengah Pilihan Teknologi Microsoft Sendiri

Perbincangan komuniti mendedahkan kebimbangan yang semakin meningkat mengenai penggunaan masa depan .NET , terutamanya memandangkan pilihan teknologi Microsoft sendiri dalam perkhidmatan Azure . Banyak projek CNCF yang disumbangkan oleh Microsoft ditulis dalam Go atau Rust dan bukannya .NET , menimbulkan persoalan mengenai sokongan dalaman platform. Keputusan untuk menulis semula perkakas TypeScript dalam Go dan bukannya mencipta versi .NET telah mengecewakan beberapa pembangun yang melihatnya sebagai peluang yang terlepas untuk mempamerkan keupayaan platform.

Perdebatan Kitaran Hayat Rangka Kerja Berterusan

Komuniti kekal berpecah mengenai kitaran sokongan tiga tahun Microsoft untuk versi .NET . Walaupun sesetengah pembangun menghargai kemas kini berkala dan mendapati naik taraf agak mudah, yang lain lebih suka kestabilan .NET Framework 4.8 dengan garis masa sokongan yang lebih panjang. Perbezaan saiz penggunaan kekal sebagai kebimbangan praktikal, dengan aplikasi .NET Framework sering menghasilkan fail boleh laku yang lebih kecil kerana rangka kerja diprapasang pada sistem Windows , manakala aplikasi .NET Core boleh mencapai 70-80MB apabila berdikari.

Penerimaan bercampur .NET 10 Preview 6 menyerlahkan keupayaan teknikal platform bersama cabaran berterusan dalam pengalaman pembangun dan kedudukan strategik. Walaupun penambahbaikan prestasi dan ciri-ciri baru menunjukkan inovasi berterusan, menangani kebolehpercayaan perkakas dan konsistensi ekosistem mungkin penting untuk mengekalkan keyakinan pembangun dan menarik pengguna baru kepada platform.

Rujukan: .NET 10 Preview 6 brings JIT improvements, one-shot tool execution