Mentionsy Mentionsy
Better Dev Club
Better Dev Club

Better Dev Club Weekly #6 - .NET 10

11.12.2025 ·27 min 37 s

Zapisz się na newsletter żeby zawsze być na bieżąco z nowościami:https://betterdevclub.pl/newsletterSzósty odcinek formatu Better Dev Club Weekly.Dwóch MS MVP:Piotr StappKajetan Duszyńskizajmują się przeglądem nowości z zakresu szeroko pojętego AI, nowoczesnych narzędzi.W szóstym odcinku omawiamy nowości w .NET 10Wszystkie nowości: https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/overview

Cześć Piotrek. Cześć Kajtek. Dzisiaj spotykamy się, żeby pogadać nie o AI. To radykalna nowość. Tak jest, tak jest, ale wracamy do korzeni, bo ja jestem od niedawna MVP, ty jesteś od bardzo dawna, więc raz na jakiś czas dobrze by było, żebyśmy jednak porozmawiali o .NET. Ale wiesz, że jestem MVP, ale nie z .NET. Jak to nie? Ty też nie z tego, co ja pamiętam. Ja jestem z .NET-a, ja jestem z .NET-a. Ty jesteś z .NET-a, .NET-a, ale nie wiem, zawsze myślałem, że jesteś z Development Technologies, ale to wcale nie oznacza, że musisz być z .NET-a. Jestem z dwóch. O kurczę, ja nigdy z dwóch nie byłem.

Boże. No, no właśnie. Dobra. Żeśmy się nachwalili, pokazaliśmy, że nie wiemy nic o sobie. Cudownie. Dokładnie. To zacznijmy o tym nieszczęsnym .NET. Ja w nim koduję już trzecie stulecie, czy tam, jak to tam było. Ostatnio wyszedł, Ty jesteś specjalistą, więc dzisiaj ja będę słuchał. Przed anteną od razu zdradza sekretka i tak powiedział, a czy Ty się w ogóle dzisiaj odezwiesz? Więc ja się przygotowałem. Naprawdę się przygotowałem, ale może nim zaczniemy, to w sumie tak w ramach trochę dowcipu, bo pogadamy sobie rzeczywiście o nowości, ale pogadamy sobie o czymś, co prawdopodobnie ani u was, ani u nas, że zaraz się okaże, że się mylę, wielkich emocji nie wywołuje.

W sensie to nie jest to, co kiedyś było, że nagle wychodził nowy .NET i w ogóle wszyscy szaleli. Nie ma już czegoś takiego. Nie wiem, czy zwróciłeś uwagę, to już nie jestem świadkiem, kiedy nagle język programowania w ogóle powoduje wow. To jest pierwszy punkt. Drugi punkt, nim dojdziemy, takie moje przemyślenia różne. Popatrz, gdzie 10 lat temu albo 10 wersji temu dotneta była Java? A gdzie teraz jest .NET? Jak firmy w tej chwili panikują o tym, że ORAC policzy im licencję i nagle będą płacić grube miliony, a .NET jest taki open source. To druga rzecz zabawna. Jakby koło się przekręciło i gdzie jesteśmy?

A trzecia rzecz, która jest dla mnie w sumie nadal zastanawiająca, czy trochę, ale to zaraz o tym pogadamy, czy trochę nie jest tak, że w tej chwili .NET chroni swój własny ogon, bo powiedzmy, że co roku powinien pojawić się nowy .NET, dobrze pamiętam, co roku czy co półtora, no nie wiem, co roku. Co roku. Co druga wersja jest Long Time Support, czyli jak to się po polsku mówi? Długoterminowe wsparcie. Sprawdziłem nawet, nigdy nie pamiętałem. Więc mamy wersję RTS, więc wszyscy się jarają, bo to nie to co ten zły .NET 9, gdzie trzeba było zaraz się upgrade'ować, tylko mamy, słuchaj, .NET 10.

No dobrze, to ja zacznę z mojego przygotowania, a Ty mi będziesz opowiadał, czy rzeczywiście tak jest, czy ja bzdury plecę. Przygotowany jestem, uwaga, radykalna poprawa wydajności. To punkt pierwszy zaznaczany przez, po pierwsze na .NET blogach, po drugie na innych tych. Co więcej, przetestowane jest, że serializacja JSON poprawiona o 10%. Dużo, mało, nie wiem. Do tego optymalizacja JITA, dzięki czemu jest podobno, no dobra, jest użyta physical promotion, nie mam pojęcia co to jest, ale dzięki temu podobno umieszczamy komponenty struktur w rejestrach zamiast na stosie.

Nie wiem co to daje, ale to podobno mega przyspiesza. Co tak naprawdę, jest do tego lepsza enumeracja tablic, Lepszy inlining i dzięki temu alokacja na stosie. I coś co ja nie rozumiem, czyli obsługa AVX 10.2, czyli nowe ścieżki akceleracji sprzętowej dla procesorów X64. Nie wiem, czy to prawda. To se doczytałem, a co dało, przepraszam, bo to mam znalezione, aż se pężykiem zanotowałem, to daje, że benchmarki pokazują, że przykład optymalizacji właśnie tablicowej zyskali z 19 nanosekund do 6 nanosekund w .NET 10.

Wiesz co, tak zacząłeś, że ciężko jest jakkolwiek to skomentować, żeby raz nie wyjść na głupka, a dwa wyjść jakoś z twarzą przy tym jeszcze, że faktycznie jakby trochę w tym .NET-cie musiałem już posiedzieć w związku z tym, że pisałem o tym książkę. Ale ja może wrócę do samego początku, zanim o tym performance. Bo powiedziałeś, że nikt się nie emocjonuje w tej chwili nowymi .NETami czy w ogóle nowymi wersjami. I ja chciałbym jeszcze dopytać, kiedy ostatnio się emocjonowałeś wyjściem nowego .NETa?

Nigdy chyba się nie emocjonowałem wynikiem nowego .NET-a, natomiast emocjonowałem się jak powstał pierwszy, pierwsze .NET Core. Nawet nie pierwszy, tylko powiedziałbym, że pierwsze trzy, nie? To kiedy nagle przesiadłem się, znaczy mogłem się przesiąść w .NET-cie natywnie na Linuxa, to dużo zmieniło w moim życiu, zupełnie szczerze. No tak, i to ma jak najbardziej sens w tym kontekście, bo był jeszcze moment, kiedy właśnie odeszliśmy od .NET Core na rzecz .NET po prostu, czyli od .NET Core 3.1 na .NET 5.

I tam też było sporo zmian. Szczególnie jak ktoś zaczął siedzieć w jakichś nowościach typu Blazor. O tym też sobie rozmawialiśmy tutaj z naszym wspólnym kolegą. Też trochę się kłóciłem na temat Blazora i jego przyszłości. I na szczęście tym razem byłem górą i Blazor przetrwał próbę czasu. Także pozdrawiamy Cię Gutek. Natomiast tam było tak, że przez chwilę co wersja to była rewolucja. I to rewolucja w takim nie najlepszym tego słowa znaczeniu. Bo zmieniały się zasady gry. Zmieniało się właściwie wszystko w jaki sposób traktujemy komponenty w Blazorze, w jaki sposób...

I one prawdopodobnie w 99% przypadków nie mają większego znaczenia. Natomiast dzisiaj, dosłownie dzisiaj, kiedy to nagrywamy, a jest 9 grudnia, dzisiaj napisała do mnie jedna osoba, która tworzy projekt właśnie już w .NET, ostatnio się przesiadła na .NET 10 i była ta osoba zachwycona, bo testy integracyjne Zaczęły się wykonywać blisko dwa razy szybciej niż do tej pory. A to już była faktycznie spora zmiana. I to było tak właściwie out of the box. Po prostu zmieniasz wersję .NET'a i ten performance boost dostajesz za darmo.

I to jest super, że w wielu przypadkach te zmiany, które dostajemy, one mogą nie robić dużego wrażenia, kiedy o nich czytasz i mogą nie robić dużego wrażenia, kiedy o nich myślisz, .NET 10. Names mentioned .NET 10. Names mentioned

Tak nudne, jak to tylko możliwe, bo on wchodzi... Ja użyłem Copilota do tego, żeby go przeczytać. No tak, ja dokładnie to samo w tej chwili robię. Od kiedy jest czat GPT, jest cokolwiek innego, to właśnie dzięki temu jestem w stanie w ogóle przebrnąć przez to. Aczkolwiek najchętniej to oglądam po prostu półgodzinną prezentację Stevena i on tam robi taki telegraficzny skrót najważniejszych informacji i dziękuję, to mi wystarczy. .NET 10. Names mentioned

I przyznam szczerze, że jestem zaskoczony, bo zrobię, przepraszam na chwilę, side note'a, bo To się dzieje w wielu miejscach, nie? W sensie to nie tylko dotyczy .NET-a, nie? Bo na przykład jak jesteście w świecie Javascriptu, to może słyszeliście o BUN, nie? Nie wiem jak to czytać. BAN, BUN, whatever. Także, że możesz używać... To co Antropik kupił? Tak, to co Antropik ostatnio kupił, nie? I ja tego, ja Ci powiem, że ja to parę razy użyłem u siebie, w sensie, żeby odpalić sobie coś lokalnie i też było, wiesz, tak nagle out of the box jest po prostu szybciej, nie? I było takie nagle wow, nie? I to rzeczywiście jest fajne, jak coś takiego wiesz, zamieniasz komendę A na B, czy tam podbijasz numerek w tym i to na pewno jest fajne dla deweloperów.

Ale myślę, że to jest kwestia też chmury, w sensie, że te firmy też optymalizują się pod chmurę, bo tam jest zysk z tego, że użyjesz nagle, to nie jest zysk tylko dla nas, że zapłacimy mniej rachunków, ale to jest przede wszystkim zysk dla nich, .NET 10. Names mentioned Ale ja bym Cię podpytał o jeszcze jedną rzecz, czyli o syntax, nie? Bo gdyby oczywiście wspomniałeś o Blazorze, tam też są jakieś rzeczy, fajnie, że to się rozwija. Ja dodam tylko jeden komentarz ze swojej strony, jestem super happy, że to się łączy z ASP.NET, nie?

To przestaje być Blazor i ASP, to po prostu się zaczyna robić, powiedzmy, że ASP.NET, tak? Nadal jest słowo Blazor, ja mam takie wrażenie, że jeszcze za trzy wersje i to po prostu będzie ASP, nie? To przestaje być w ogóle. To już jest. Ciągle się jeszcze słowo Blazer pojawia. Tak, ale jest ASP.NET Blazer w tym kontekście. Tak, ale w sensie, że w ogóle ten Blazer moim zdaniem zniknie, w sensie, że to po prostu będzie tak zintegrowane, że to zniknie. To jest moja opinia, mam prawo się mylić, w sensie, że to po prostu wchodzi jako... Normalne ASP, że będziemy robić normalne ASP, po prostu jak będziesz chciał mieć nie SPA, to będziesz, znaczy, nie SPA w Blazorze, no dobra, nie będziesz chciał mieć tradycyjnego SPA w Javascriptie, to po prostu będziesz miał wersję ASP.NET, czy czymś tak jak kiedyś było ASP.NET MVC, czy tam

Razor Pages i tak dalej. Moim zdaniem ten Blazor zostanie, bo cały czas zostaje MVC, Razor Pages, zostaje Web API, który też jest pod ASP.NET, więc to będzie po prostu cały czas jedna rodzina i to już tak w dokumentacji jest przedstawiane. Ale dobra, bo chciałeś o Syntaxie pogadać. Tak, chciałem o Syntaxie pogadać, bo jak to mówię, bo dobra, to może jeszcze szybko, nie? Jest trochę zmian w Entity Frameworku. To też sobie doczytałem. Dla mnie najbardziej, znaczy dla mnie tu właśnie AI wjeżdża na pełnej prędkości, bo jest Vector Search.

Tak. I w SQL Serverze i w Kosmosie. Zawsze się zastanawiam po co Entity Framework w Kosmosie, ale wiem, że ludzie Są jakieś zmiany dla .NET MAUI. Whatever. Pozdrawiam wszystkich moich kolegów, którzy w tym muszą robić. Jest też kolejny krok w IoT. Tu myślę, że znowu część osób z tego skorzysta. Tu są fajne rzeczy, że No tam nie wiem, gdzieś był jakiś link, że obrazy będą mniejsze o 40%. To oczywiście jest moim zdaniem nieprawda, bo to tylko ta ostatnia warstwa będzie mniejsza, to nie oznacza, że cały obraz będzie mniejszy. Ale to rzeczywiście będzie fajne, że ten IoT Compilation jak nigdy żeście nie używali, to warto sobie włączyć.

.NET Aspire, ja się nadal nie wypowiadam. I to, co zauważyłem, co uważam, że jest super, zresztą ostatnio nawet gadałem o tym z własnym tatą, że Quantum Computing też zaczyna się pojawiać. Bo nie wiem, czy wiesz, ale .NET 10 właśnie daje ci Post Quantum Cryptography, tak? Czyli to nie jest jeszcze w pełni wspierane, to nie gdyby... Nie mówmy, że już jest Quantum Computing, ale zaczynamy mieć rozszerzone wsparcie właśnie dla tej kryptografii odpornej na kwantowy komputer. To się zaczyna pojawiać, co niestety oznacza, że jak ktoś będzie miał ten komputer kwantowy, to po prostu wszyscy się przełączymy na wyższą kryptografię i z głowy.

Siedziałeś w tym dość głęboko. Teraz mam do ciebie pytanie, jak ty to wdrażasz w projektach? Nie, no bo podbicie, wiesz, podbicie z .NET 9 na, czy tam 8 na 9, z 9 na 10, zmieniamy w CS Pro i z głowy, nie? To? Ale kiedy się orientujesz, że jest nowy syntaks? Jak mi go Visual Studio Algorajder zaczyna podpowiadać? Ja właśnie mam dokładnie tak samo, nie? No bo umówmy się, w kontekście Syntaxu, no to mamy właśnie taki Syntax Sugar. Mamy coś, co trochę ładniej wygląda. W tej chwili łatwiej możemy robić metody rozszerzające Extension Members, to się nazywa.

Więc myślę, że dla wielu osób to jest zdecydowanie spoko opcja, że to też przypomina, bo to też daje, tak już kończąc mój przydługi wywód, to daje ludziom łatwiejszy, taki mniejszy próg wejścia w .NET i w nowe technologie. Bo ten kod w wielu przypadkach przypomina kod z innych języków. Także dzięki temu przejście między językami staje się prostsze, ale ostatecznie rzecz biorąc to może nie mieć żadnego znaczenia, bo i tak z tego co czytałem w przyszłym roku już 90% kodu będzie generowane przez AI, więc to czy będziemy stosować nowy synteks czy nie będziemy to już nie będzie zależało do końca od nas.

Pokazano wszystkie 20 dopasowań. Transkrypcja generowana automatycznie i niesprawdzana ręcznie — może zawierać błędy.