Aspnetcore: Peta Jalan Blazor untuk .NET 5

Dibuat pada 5 Mei 2020  ·  38Komentar  ·  Sumber: dotnet/aspnetcore

Masalah ini akan mencantumkan kiriman besar yang dipertimbangkan tim Blazor untuk rilis ASP.NET Core 5.0. Sementara kami berharap untuk menyelesaikan semua masalah ini, masih banyak yang tidak diketahui dan banyak hal akan berubah seiring berjalannya waktu. Harap dicatat, bahwa ini adalah area investasi utama dan pekerjaan paralel akan dilakukan untuk membawa banyak perbaikan dan peningkatan yang lebih kecil termasuk kontribusi komunitas.

Pratinjau 7

  • [x] [Pindahkan Blazor ke .NET 5](https://github.com/dotnet/aspnetcore/issues/20519)

Pratinjau 8

  • [x] [Isolasi CSS](https://github.com/dotnet/aspnetcore/issues/10170)
  • [x] [Mendukung IAsyncDisposable](https://github.com/dotnet/aspnetcore/issues/9960)
  • [x] [Pemuatan area aplikasi yang lambat](https://github.com/dotnet/aspnetcore/issues/5465)
  • [x] [Tambahkan dukungan fokus ke BrowserRenderer](https://github.com/dotnet/aspnetcore/issues/17472)
  • [x] [Penyimpanan Browser yang Dilindungi](https://github.com/dotnet/aspnetcore/issues/18755)

RC1

  • [x] [Pengoptimalan kinerja Blazor](https://github.com/dotnet/aspnetcore/issues/22432)
  • [x] [Virtualisasi](https://github.com/dotnet/aspnetcore/issues/23092)
  • [x] [Cara mengunggah file di Aplikasi Blazor](https://github.com/dotnet/aspnetcore/issues/12205)
  • [x] [Isolasi JS dan JSObjectReference](https://github.com/dotnet/aspnetcore/issues/23560)
  • [x] [Prarendering Blazor WebAssembly](https://github.com/dotnet/aspnetcore/issues/24098)

    Potensi pemotongan

  • [ ] [Seret & Lepas](https://github.com/dotnet/aspnetcore/issues/18754)

  • [ ] [Tambahkan dukungan perkakas untuk parameter komponen yang diperlukan](https://github.com/dotnet/aspnetcore/issues/25055)

  • [ ] [Membangun peningkatan performa untuk Blazor](https://github.com/dotnet/aspnetcore/issues/22566)
  • [ ] [Parameter yang diperlukan untuk komponen blazer (pemeriksaan runtime)](https://github.com/dotnet/aspnetcore/issues/11815)
  • [ ] [Izinkan batasan jenis umum](https://github.com/dotnet/aspnetcore/issues/8433)
  • [ ] [Kompilasi AoT](https://github.com/dotnet/aspnetcore/issues/5466)
  • [ ] [Dukungan SVG di Blazor](https://github.com/dotnet/aspnetcore/issues/18271)
  • [ ] [Mendukung beberapa event handler untuk event yang sama pada elemen yang sama](https://github.com/dotnet/aspnetcore/issues/14365)
  • [ ] [Batasi hierarki komponen induk dan anak di blazor](https://github.com/dotnet/aspnetcore/issues/12302)
  • [ ] [Tambahkan kemampuan untuk meneruskan @typeparam ke komponen turunan](https://github.com/dotnet/aspnetcore/issues/7268)
Done area-blazor roadmap

Komentar yang paling membantu

@ pjmlp Kritik Anda bukannya tanpa alasan, tapi ayolah... Blazor (dan WebAssembly secara umum) adalah perkembangan yang paling mengejutkan, menarik, dan mengagumkan dalam teknologi web - SETIDAKNYA 20 tahun! Roth, Sanderson, dan teman-teman pantas mendapatkan pujian kami karena membuat pengembangan web menjadi menyenangkan lagi.

Dan untuk secara ajaib meningkatkan kemampuan kerja kita tanpa mempelajari sesuatu yang baru... pikirkan itu sejenak!

Dan pertimbangkan rekan .NET kami yang belum pernah melakukan SPA (angular/react/vue) - geng aspnet hanya mengayunkan tongkat ajaib mereka dan mengubahnya dari "pengembang backend" menjadi "pengembang fullstack". Persis seperti itu... sihir.


BTW: Isolasi css yang sangat bahagia direncanakan. Tapi tolong (!) tambahkan isolasi js juga. Komponen UI yang bergantung pada perpustakaan js (misalnya Bootstrap) harus dapat mendeklarasikan/menggunakan css DAN js di dalam komponen - jika tidak, proyek menjadi sulit untuk dipelihara.

Semua 38 komentar

Tautan ke Required parameters to blazor components menunjukkan masalah yang salah. Saya kira itu harus
https://github.com/dotnet/aspnetcore/issues/11815 ?

@JvanderStad Terima kasih telah menunjukkannya! Harus diperbaiki sekarang.

Akankah Blazor (Sisi Server) tersedia di implementasi Mono di masa mendatang tidak hanya untuk runtime inti bersih? Misalnya, akan sangat bagus untuk meluncurkan Blazor (dan aplikasi AspNetCore lainnya) di arsitektur cpu lain di mana mono didukung.

Ayo tim! Kerja bagus sudah, semoga ini akan menjadi lebih baik seiring waktu!

Akankah Blazor (Sisi Server) tersedia di implementasi Mono di masa mendatang tidak hanya untuk runtime inti bersih?

@EntityFX Kami tidak memiliki rencana untuk mendukung Blazor Server kecuali di .NET Core. Blazor Server didasarkan pada ASP.NET Core, yang merupakan bagian dari .NET Core. Jika ada arsitektur tempat Anda ingin melihat .NET Core didukung, beri tahu mereka dengan membuka masalah di https://github.com/dotnet/runtime/issues repo.

Apakah akan ada kompatibilitas mundur untuk QBasic? 🤪

Ayo Blazor 5.0! 🚀

RIPjs

Apakah akan ada peningkatan pada manajemen pengguna? Rasanya sedikit rumit untuk membuat dan mengarahkan pengguna ke halaman .cshtml untuk menangani pengguna masuk/keluar dan pembuatan pengguna. Akan lebih bagus jika semua ini bisa dikelola di komponen Blazor saja.

@KrazyTako Kami tidak memiliki pekerjaan langsung yang direncanakan seputar manajemen pengguna, tetapi kami melakukan yang terbaik untuk memprioritaskan pekerjaan berdasarkan umpan balik pengguna dan komunitas, jadi silakan ajukan masalah untuk umpan balik apa pun yang Anda miliki di area ini dan kami akan mempertimbangkannya.

Saya penggemar berat Blazor WASM, dan baru-baru ini menerapkan aplikasi perusahaan dengan Blazor. Ada fungsionalitas luar biasa dalam fitur berbasis komponen, penggunaan kode C# dan .Net penuh, pengalaman hebat! Namun, setelah memuat aplikasi dengan data, saya mengalami beberapa masalah, sebagian besar dalam kinerja; bahwa saya sekarang ragu apakah akan melanjutkan atau menunggu hingga peningkatan kinerja di versi mendatang:

  1. Dalam entitas yang kompleks, perubahan pada baris data-grid saat ini, akan memakan waktu hampir 5 detik untuk mengikat kembali kontrol formulir ke baris baru! (Saya menggunakan pola INotifyPropertyChanged di entitas saya) - tetapi Implementasi Angular melakukannya secara instan.
  2. Semua komponen jaringan data pihak ke-3 (setidaknya yang saya uji), entah bagaimana belum matang dan lambat dalam beberapa fitur dan sangat lambat dalam memuat data dan dalam pengeditan dalam sel, yang merupakan fitur menonjol dalam aplikasi perusahaan; jika Anda mengklik di dalam sel, dibutuhkan kira-kira 3-4 detik agar kotak teks muncul dan bersiap-siap untuk input pengguna (Telerik, Syncfusion, ...).
  3. Pada akhirnya, saya membuat tolok ukur, membandingkan kecepatan untuk Wasm Blazor dan Angular untuk menjalankan fungsi sederhana yang memiliki serangkaian perhitungan (kebanyakan meningkatkan nilai variabel terikat bentuk di beberapa loop). Untuk Blazor Wasm butuh 2000 ms, sedangkan untuk Angular hanya 25 ms! Dan itu adalah hasil yang tragis. Lebih dari 80x lebih lambat! (Semua tes dilakukan ulang dengan versi resmi Blazor Webassembly terbaru)

Saya telah mendengar bahwa dengan fitur AoT kami hanya akan mendapatkan peningkatan kinerja 5x dan bahkan dengan overhead peningkatan ukuran aplikasi.

Jadi tolong bantu dan katakan apakah kami memiliki kabar baik di versi .Net 5 atau 6 yang akan datang dalam masalah ini?
Terima kasih

_Menyimpang dari topik_

Apakah akan ada kompatibilitas mundur untuk QBasic? 🤪

Ayo Blazor 5.0! 🚀

RIPjs

Anda dapat mengirimkan permintaan tarik untuk https://github.com/microsoft/GW-BASIC

@Sherweeen Kami sedang mengerjakan berbagai peningkatan kinerja runtime untuk Blazor WebAssembly di .NET 5. Blazor WebAssembly saat ini berjalan pada runtime berbasis interpreter, yang telah mengetahui batasan kinerja yang sedang kami tangani. Kami juga bekerja sama dengan berbagai vendor komponen untuk membantu meningkatkan efisiensi implementasi komponen mereka.

@danroth27
Menantikan 5607 dukungan Directive untuk dimasukkan

Saat ini, sebagian besar pengguna yang berencana untuk mengadopsi blazer webassembly ditransfer dari WinForm asli, WPF, atau reaksi, sudut, pengembang Vue, dan banyak dari produk yang dikembangkan adalah aplikasi perusahaan. Jika seperangkat manajemen pengguna multi penyewa, pendaftaran, login, dan mekanisme manajemen keamanan lainnya dapat "di luar kotak", itu akan sangat mempercepat penerapan blazor webaeembly.

@199621616 Maksud Anda sesuatu seperti Azure B2C?

https://docs.microsoft.com/en-us/azure/active-directory-b2c/overview

@stephenstroud

Meskipun saya telah dapat mencapai Azure auth untuk aplikasi wasm saya, itu tidak termasuk dalam template wasm seperti untuk server Blazor, mungkin ini yang disebutkan, untuk mempermudah penyiapan untuk proyek baru?

@PylotLight Templat Blazor WebAssembly memang memiliki dukungan untuk menggunakan Azure AD atau Azure AD B2C , tetapi opsi hanya tersedia dari baris perintah saat ini, bukan dari VS. VS harus mengaktifkan opsi ini di pembaruan mendatang.

@PylotLight Anda dapat melihat beberapa info tentang ini di edisi #21671. Proses saat ini untuk mengimplementasikan sesuatu seperti Azure AD B2C di Blazor Web Assembly adalah proses yang cukup lama, jadi semoga pembaruan yang mereka sebutkan akan meningkatkan proses ini.

@lzinga , @danroth27 Terima kasih atas infonya tapi itu tidak mengganggu saya :P
Saya hanya mencoba membantu menjelaskan apa yang ditanyakan oleh pria di atas. Tentu saja akan sangat bagus untuk melihat fungsionalitas yang disertakan dalam template standar =].

@danroth27 Sementara saya memahami alasan di balik keputusan peta jalan, harap pertimbangkan bahwa setelah Silverlight, XNA, UWP (dengan sendiri .NET Flavor), EF6, WCF, .NET Native, C++/CX vs C++/WinRT, dan banyak lagi dari kesalahan langkah lainnya, Microsoft telah membakar banyak cinta pengembang, dan ini memengaruhi keputusan yang kami sarankan kepada pelanggan kami terkait adopsi teknologi.

@ pjmlp Kritik Anda bukannya tanpa alasan, tapi ayolah... Blazor (dan WebAssembly secara umum) adalah perkembangan yang paling mengejutkan, menarik, dan mengagumkan dalam teknologi web - SETIDAKNYA 20 tahun! Roth, Sanderson, dan teman-teman pantas mendapatkan pujian kami karena membuat pengembangan web menjadi menyenangkan lagi.

Dan untuk secara ajaib meningkatkan kemampuan kerja kita tanpa mempelajari sesuatu yang baru... pikirkan itu sejenak!

Dan pertimbangkan rekan .NET kami yang belum pernah melakukan SPA (angular/react/vue) - geng aspnet hanya mengayunkan tongkat ajaib mereka dan mengubahnya dari "pengembang backend" menjadi "pengembang fullstack". Persis seperti itu... sihir.


BTW: Isolasi css yang sangat bahagia direncanakan. Tapi tolong (!) tambahkan isolasi js juga. Komponen UI yang bergantung pada perpustakaan js (misalnya Bootstrap) harus dapat mendeklarasikan/menggunakan css DAN js di dalam komponen - jika tidak, proyek menjadi sulit untuk dipelihara.

@ lonix1 saya sebutkan bahwa saya mengerti alasan di balik perubahan.

Namun saya juga ingin menyampaikan pesan bahwa tidak semua orang senang dengan perubahan yang sedang berlangsung dari 10 tahun terakhir, yang saya sadari sepenuhnya bahwa Roth, Sanderson dan teman-teman tidak dapat disalahkan, tetapi mereka berada dalam posisi untuk menyampaikan pesan tersebut. up chaing untuk manajemen Microsoft.

Cara transisi .NET Core 1.0 => .NET Core 2.0 terjadi, saya mendapatkan proyek untuk pelanggan yang memutuskan untuk memigrasikan beberapa layanan penting dari .NET ke Java dan menyebarkannya ke Linux.

Mungkin jika dia lebih bahagia, dia akan bersedia berinvestasi ke .NET Core sebagai gantinya, karena sudah cukup mampu untuk serangkaian fitur layanan yang diinginkan.

Jadi bunuh si pengirim pesan jika Anda mau, tetapi itu tidak akan mengubah persepsi di beberapa kalangan.

karat yew sangat cepat
https://jetli.github.io/rust-yew-realworld-example-app/#/

Blazor terlalu lambat! terlalu lambat ! terlalu lambat !
Blazor butuh performa!!!

@pjmlp Saya pikir akan membantu jika Anda dapat mengklarifikasi keputusan mana yang Anda maksud. (Menunda AOT, mungkin?)

@chucker Semua keputusan yang telah membakar pengembang yang kebetulan menggunakan teknologi berbasis .NET sejak UWP diperkenalkan, diikuti oleh reboot .NET Core.

Untuk pengembang polyglot .NET bukan satu-satunya teknologi yang kami jangkau, hanya opsi lain di antara banyak, jadi jika manajemen Microsoft memutuskan untuk mendorong item peta jalan, seperti kompilasi AOT, ke masa depan yang tidak pasti, maka kami perlu mengevaluasi kembali bisnis kami keputusan yang sesuai, untuk berjaga-jaga jika dukungan AOT WebAssembly tidak pernah datang, terlepas dari pekerjaan luar biasa yang dilakukan oleh Daniel dan tim.

Sepertinya WebAssembly AOT ditunda hingga rilis 6.0 (November 2021).
https://github.com/dotnet/runtime/issues/38367#issuecomment -651117373

@Sherweeen kami memulai aplikasi ukuran menengah, dan saya sangat khawatir dengan kinerja yang Anda katakan. Apakah aplikasi Anda benar-benar intensif data? Atau apa skenario di mana kinerja ini hadir dan mungkin bagaimana menghindari untuk masuk ke tempat itu? Hargai saran apa pun

Apakah bagian sisi server Blazor dari .Net 5 dan apakah itu diperbarui?

Apakah bagian sisi server Blazor dari .Net 5 dan apakah itu diperbarui?

@ mg1357 , ya, itu bagian dari .NET 5 dan mendapatkan semua pembaruan model komponen.

Dalam salah satu standup komunitas baru-baru ini, seorang magang mendemonstrasikan beberapa kemampuan virtualisasi yang diharapkan akan mendarat di kandidat asp.net core 5.0 RC. Apakah masih demikian? Apakah ada masalah yang dapat dilacak untuk fungsi ini?

Hai, saya melihat #23560 ditutup, apakah ini berarti kita mendapatkan isolasi JS, atau itu adalah sesuatu yang tidak akan dibahas?

PD: Saya tidak melihatnya di roadmap itu sebabnya saya bertanya

@barahonajm - Saya pikir ini adalah taruhan yang aman bahwa itu telah selesai dan akan datang di 5.0.0 RC-1 karena masalah itu memiliki label Done dan 5.0.0-rc1 milestone ;)

@barahonajm Yup, isolasi JS melalui modul ES6 akan tersedia di rilis .NET 5 RC1 yang akan datang : tada:.

Adakah pembaruan tentang WASM AOT?

Apakah ada peta jalan untuk .NET 6? Kalo ada tolong kasih linknya

@ivanivanyuk1993 Belum. Kami masih menyelesaikan .NET 5 dan baru memulai perencanaan .NET 6.

Di mana saya dapat melihat dokumen hari ini untuk:

  • Isolasi CSS
  • Penyimpanan Browser Terlindungi

@VictorioBerra Dokumen resmi masih dalam proses, tetapi Anda dapat membaca tentang fitur-fitur baru ini di sini: https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-5-preview- 8/

Apakah halaman ini membantu?
0 / 5 - 0 peringkat