{"id":105515,"date":"2022-11-10T15:36:45","date_gmt":"2022-11-10T13:36:46","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/microsoft-opublikoval-otkrytuyu-platformu-net-7"},"modified":"2022-11-10T15:36:45","modified_gmt":"2022-11-10T13:36:46","slug":"microsoft-opublikoval-otkrytuyu-platformu-net-7","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/microsoft-opublikoval-otkrytuyu-platformu-net-7","title":{"rendered":"Microsoft opublikowa\u0142 otwart\u0105 platform\u0119 .NET 7","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Firma Microsoft wprowadzi\u0142a znacz\u0105c\u0105 wersj\u0119 otwartej platformy .NET 7, stworzonej dzi\u0119ki unifikacji produkt\u00f3w .NET Framework, .NET Core i Mono. Na podstawie .NET 7 mo\u017cna tworzy\u0107 aplikacje wieloplatformowe dla przegl\u0105darek, system\u00f3w chmurowych, desktop\u00f3w, urz\u0105dze\u0144 IoT i platform mobilnych, u\u017cywaj\u0105c jednolitych bibliotek i wsp\u00f3lnego procesu budowania, kt\u00f3ry nie zale\u017cy od rodzaju aplikacji. Pakiety .NET SDK 7, .NET Runtime 7 i ASP.NET Core Runtime 7 s\u0105 dost\u0119pne dla system\u00f3w Linux, macOS i Windows. .NET Desktop Runtime 6 jest dostarczany tylko dla Windows. Zwi\u0105zane z projektem materia\u0142y s\u0105 udost\u0119pniane na licencji MIT. Wsparcie dla wersji .NET 7 b\u0119dzie realizowane przez 18 miesi\u0119cy do 14 maja 2024 roku.     <\/p>\n<p>W sk\u0142ad .NET 7 wchodzi runtime CoreCLR z kompilatorem JIT RyuJIT, biblioteki standardowe, biblioteki CoreFX, WPF, Windows Forms, WinUI, Entity Framework, interfejs wiersza polece\u0144 dotnet, a tak\u017ce narz\u0119dzia do tworzenia mikrous\u0142ug, bibliotek, aplikacji serwerowych, graficznych i konsolowych. Oddzielnie opublikowano stos do tworzenia aplikacji webowych ASP.NET Core 7.0, warstw\u0119 ORM Entity Framework Core 7.0 (sterowniki s\u0105 dost\u0119pne, w tym dla SQLite i PostgreSQL), bibliotek\u0119 WPF 7 (Windows Presentation Foundation), framework Windows Forms 7 do tworzenia GUI, platform\u0119 Orleans 7 do realizacji aplikacji Cloud Native, framework MAUI 7 do wieloplatformowych interfejs\u00f3w u\u017cytkownika, a tak\u017ce wydania j\u0119zyk\u00f3w C# 11 i F# 7. Wsparcie dla .NET 7.0 i C# 11 jest dost\u0119pne w darmowym edytorze kodu Visual Studio Code.    <\/p>\n<p>Cechy nowego wydania:  <\/p>\n<ul>\n<li class=\"l\"> Przeprowadzono unifikacj\u0119 podstawowej biblioteki klas (BCL, Base Class Library) do u\u017cytku w r\u00f3\u017cnych typach aplikacji, w tym programach dla system\u00f3w desktopowych, aplikacjach webowych, platformach chmurowych, aplikacjach mobilnych, grach, programach wbudowanych oraz systemach uczenia maszynowego. Do tworzenia r\u00f3\u017cnych typ\u00f3w aplikacji mo\u017cna wykorzysta\u0107 jeden wsp\u00f3lny SDK, Runtime i zestaw bibliotek.\n<li class=\"l\"> Dodano mo\u017cliwo\u015b\u0107 powi\u0105zania aplikacji z API odpowiadaj\u0105cym wersji .NET 7, przez okre\u015blenie docelowej platformy \u201enet7.0\u201d, na przyk\u0142ad, \u201enet7.0\u201d. Aby powi\u0105za\u0107 si\u0119 z API specyficznymi dla niekt\u00f3rych platform, mo\u017cna szczeg\u00f3\u0142owo okre\u015bli\u0107 typ platformy, na przyk\u0142ad podaj\u0105c \u201enet7.0-android\u201d.\n<li class=\"l\"> Zdecydowanie poprawiono wsparcie dla architektury ARM64 oraz kontynuowano prace nad osi\u0105gni\u0119ciem parytetu w wydajno\u015bci aplikacji .NET na architekturach x86 i ARM64. W runtime zwi\u0119kszono efektywno\u015b\u0107 wykorzystania pami\u0119ci cache trzeciego poziomu w systemach ARM64. Wykorzystano instrukcje LSE do rozgraniczenia dost\u0119pu do pami\u0119ci z r\u00f3wnoleg\u0142ych w\u0105tk\u00f3w, co doprowadzi\u0142o do zmniejszenia op\u00f3\u017anie\u0144 o 45%. W bibliotece dodano obs\u0142ug\u0119 typ\u00f3w wektorowych Vector64, Vector128 i Vector256, a tak\u017ce na podstawie instrukcji wektorowych przepisano funkcje EncodeToUtf8 i DecodeFromUtf8, co zapewni\u0142o wzrost ich wydajno\u015bci do 60% (dla funkcji NarrowUtf16ToAscii i GetIndexOfFirstNonAsciiChar wzrost wydajno\u015bci osi\u0105ga 35%). Og\u00f3lnie, pr\u0119dko\u015b\u0107 przej\u015bcia test\u00f3w na platformie ARM64 wzros\u0142a o 10-60%.   <center><img decoding=\"async\" alt=\"Microsoft opublikowa\u0142 otwart\u0105 platform\u0119 .NET 7\" src=\"\/wp-content\/uploads\/2022\/11\/c2defc0376e5bca9ae431b64bc7e85e5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>\n<li class=\"l\"> Poprawiono wsparcie dla platformy Linux, w tym do standardowych repozytori\u00f3w Ubuntu 22.04 dodano pakiety .NET 6 oraz dostarczono zoptymalizowany, kompaktowy i gotowy do u\u017cycia obraz dockerowy do szybkiego wdro\u017cenia kontener\u00f3w z aplikacjami opartymi na .NET.\n<li class=\"l\"> Dodano wsparcie dla 64-bitowej architektury IBM Power (ppc64le).\n<li class=\"l\"> Zaprezentowano narz\u0119dzie .NET Upgrade Assistant w celu uproszczenia migracji starych aplikacji do ga\u0142\u0119zi .NET 6 lub .NET 7. W nowej wersji rozszerzono wsparcie dla migracji aplikacji z ASP.NET do ASP.NET Core, dodano analizatory i poprawiacze kodu dla WinForms, WPF oraz bibliotek klas, zrealizowano wsparcie dla analizy plik\u00f3w wykonywalnych, dodano wsparcie dla platformy UWP (Universal Windows Platform).\n<li class=\"l\"> Rozszerzone mo\u017cliwo\u015bci tworzenia aplikacji dla system\u00f3w chmurowych (cloud-native) oraz platform PaaS (platforma jako us\u0142uga). Umo\u017cliwiono tworzenie aplikacji zapakowanych w izolowane kontenery za pomoc\u0105 polecenia \u201edotnet publish\u201d.\n<li class=\"l\"> Rozszerzono narz\u0119dzia do monitorowania stanu aplikacji oraz zbierania metryk dotycz\u0105cych ich dzia\u0142ania. Dodano nowe zdarzenia i metody do analizy aktywno\u015bci i wydajno\u015bci aplikacji.\n<li class=\"l\"> W j\u0119zyku C# 11 dodano wsparcie dla surowych litera\u0142\u00f3w tekstowych, kt\u00f3re mog\u0105 zawiera\u0107 znaki specjalne bez konieczno\u015bci ich eskalacji (takie litera\u0142y s\u0105 wyr\u00f3\u017cniane trzema cudzys\u0142owami). Zaproponowano uog\u00f3lnione interfejsy (generic) dla funkcji matematycznych oraz wprowadzono mo\u017cliwo\u015b\u0107 definiowania statycznych element\u00f3w w wirtualnych interfejsach, co pozwoli\u0142o na zastosowanie metod programowania og\u00f3lnego do przeprowadzania operacji matematycznych bez dok\u0142adnych informacji o typie warto\u015bci.\n<li class=\"l\"> Rozszerzono mo\u017cliwo\u015bci standardowej biblioteki. Dodano API System.Formats.Tar do pracy z archiwami w formacie Tar. W funkcjach zwi\u0105zanych z czasem (TimeStamp, DateTime itp.) dodano wsparcie dla mikrosekund i nanosekund. W System.Text.Json wdro\u017cono mo\u017cliwo\u015b\u0107 zarz\u0105dzania serializacj\u0105 i deserializacj\u0105 typ\u00f3w .NET.\n<li class=\"l\"> W interfejsie wiersza polece\u0144 \u201edotnet new\u201d dodano wsparcie dla autouzupe\u0142niania szablon\u00f3w typowych projekt\u00f3w przez naci\u015bni\u0119cie klawisza Tab.\n<li class=\"l\"> W .NET SDK wprowadzono mo\u017cliwo\u015b\u0107 ograniczenia stosowania dostarczanych szablon\u00f3w projekt\u00f3w, na przyk\u0142ad mo\u017cna okre\u015bli\u0107, w jakich systemach operacyjnych dany szablon jest dozwolony.\n<li class=\"l\"> W NuGet dodano tryb centralnego zarz\u0105dzania pakietami, umo\u017cliwiaj\u0105cy zarz\u0105dzanie zale\u017cno\u015bciami jednocze\u015bnie dla kilku projekt\u00f3w.\n<li class=\"l\"> Zwi\u0119kszono wydajno\u015b\u0107 kompilatora JIT. Dodano wsparcie dla mechanizmu OSR (On Stack Replacement) do modyfikacji kodu ju\u017c wykonywanych metod, co pozwala na wprowadzenie optymalizacji w metodach o du\u017cym czasie wykonywania, bez czekania na zako\u0144czenie bie\u017c\u0105cego wywo\u0142ania (w te\u015bcie TechEmpower zauwa\u017cono wzrost wydajno\u015bci przetwarzania pierwszych zapyta\u0144 o 10-30%).\n<li class=\"l\"> Podniesiono efektywno\u015b\u0107 optymalizacji z wykorzystaniem wynik\u00f3w profilowania kodu (PGO \u2014 Profile-guided optimization), umo\u017cliwiaj\u0105c uwzgl\u0119dnienie szczeg\u00f3lnych cech okre\u015blanych w trakcie wykonywania programu.\n<li class=\"l\"> Dodano wsparcie dla kompilacji do samodzielnych plik\u00f3w wykonywalnych (Native AOT), w kt\u00f3rych ca\u0142y projekt jest pocz\u0105tkowo kompilowany do kodu maszynowego docelowej platformy bez u\u017cycia kodu po\u015bredniego i bez zastosowania JIT.        <\/ul>\n<p>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=58084\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Microsoft \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0430 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b .NET 7, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0439 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0443\u043d\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 .NET Framework, .NET Core \u0438 Mono. \u041d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 .NET 7 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u043e\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430, \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430, IoT-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0438 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0435\u0434\u0438\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438 \u043e\u0431\u0449\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0431\u043e\u0440\u043a\u0438, \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u044f\u0449\u0438\u0439 \u043e\u0442 \u0442\u0438\u043f\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0421\u0431\u043e\u0440\u043a\u0438 .NET SDK 7, .NET Runtime [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":105516,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-105515","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Microsoft \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0430 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b .NET 7, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0439 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0443\u043d\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 .NET Framework, .NET Core \u0438 Mono.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/news\/microsoft-opublikoval-otkrytuyu-platformu-net-7\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Microsoft \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u043e\u0442\u043a\u0440\u044b\u0442\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 .NET 7 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Microsoft \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0430 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b .NET 7, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0439 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0443\u043d\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 .NET Framework, .NET Core \u0438 Mono.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/microsoft-opublikoval-otkrytuyu-platformu-net-7\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-11-10T13:36:46+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-11-10T13:36:46+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Microsoft opublikowa\u0142 otwart\u0105 platform\u0119 .NET 7 | ProHoster","description":"Firma Microsoft zaprezentowa\u0142a znacz\u0105ce wydanie otwartej platformy .NET 7, stworzonej dzi\u0119ki unifikacji produkt\u00f3w .NET Framework, .NET Core i Mono.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/microsoft-opublikoval-otkrytuyu-platformu-net-7","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Microsoft \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u043e\u0442\u043a\u0440\u044b\u0442\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 .NET 7 | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Microsoft \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0430 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b .NET 7, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0439 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0443\u043d\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 .NET Framework, .NET Core \u0438 Mono.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/microsoft-opublikoval-otkrytuyu-platformu-net-7","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2022-11-10T13:36:46+00:00","article:modified_time":"2022-11-10T13:36:46+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/105515","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=105515"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/105515\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/105516"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=105515"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=105515"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=105515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}