aplikacja dla systemu Windows programowanie — często zadawane pytania

Te często zadawane pytania zawierają odpowiedzi na często zadawane pytania dotyczące tworzenia aplikacji Windows, w tym wskazówki dotyczące wybierania odpowiedniej platformy dla projektów. Omawiane tematy to m.in.:

  • Wprowadzenie i środowisko tworzenia aplikacji Windows.
  • Tworzenie wyłącznie natywnych aplikacji Windows z użyciem WinUI 3, Windows Presentation Foundation (WPF) i Windows Forms (WinForms).
  • Windows Software Development Kit (SDK) i Zestaw SDK do aplikacji systemu Windows.
  • Określanie celu Windows w ramach strategii tworzenia aplikacji dla wielu platform.
  • Tworzenie aplikacji hybrydowych i internetowych za pomocą .NET MAUI, platformy Blazor i ASP.NET Core.
  • Jak wybrać podejście podczas zrozumienia inwestycji Microsoft.

Windows krajobraz tworzenia aplikacji

Gdzie mogę znaleźć proste omówienie technologii tworzenia aplikacji dla Windows?

Aby uzyskać świetny przegląd dzisiejszych opcji dla deweloperów Windows, obejrzyj najnowszy odcinek Windows Dev Chat, Wybór Twojej idealnej platformy deweloperskiej, gdzie omawiają WinUI, .NET MAUI, React Native, Blazor i Progressive Web Apps (PWA).

Możesz również zapoznać się z przegląd opcji tworzenia aplikacji dla deweloperów Windows.

Dlaczego tworzenie aplikacji klienckich nadal jest kluczowe dla nowoczesnej transformacji cyfrowej w czasach usług chmurowych?

W wieku cloud services opracowywanie aplikacji klienckich pozostaje kluczowym składnikiem nowoczesnej transformacji cyfrowej. Dla programistów tworzenie aplikacji klienckich jest niezbędne nie tylko dla zasięgu, ale także dla zapewniania responsywnych, znaczących interakcji na urządzeniach użytkowników.

Oto dlaczego aplikacje klienckie mają znaczenie:

  • Zasięg urządzeń: Z ponad 1,5 miliarda urządzeń Windows i ponad 5 miliardów urządzeń z systemami Android i iOS na całym świecie, aplikacje klienckie umożliwiają bezpośrednie dostarczanie aplikacji użytkownikom na ich wybranych urządzeniach.
  • Gateway to Intelligent Services: Aplikacje klienckie często są pierwszym punktem interakcji użytkowników z Waszymi usługami. Oferują one bogaty, interaktywny interfejs, który umożliwia prezentowanie inteligentnych funkcji i odróżnienie produktu od innych.
  • Skalowalność przy integracji z chmurą: Dobrze zintegrowana aplikacja kliencka może bezproblemowo synchronizować się z usługami chmurowymi zaplecza, umożliwiając dostęp do danych w czasie rzeczywistym i płynną skalowalność w miarę wzrostu bazy użytkowników.
  • zwiększonej produktywności i lojalności użytkowników: Przemyślana aplikacja może zwiększyć produktywność i zapewnić użytkownikom zaangażowanie w produkt lub usługę w czasie.

Tworzenie aplikacji natywnych tylko na Windows

Jak jest Zestaw SDK do aplikacji systemu Windows?

Zestaw SDK do aplikacji systemu Windows to platforma tworzenia aplikacji Windows, która umożliwia tworzenie pięknych, nowoczesnych, zgodnych wstecz (do Windows 10 1809) aplikacji desktopowych. WinUI to struktura interfejsu użytkownika dostarczana z Zestaw SDK do aplikacji systemu Windows.

Jak różnica między Zestaw SDK do aplikacji systemu Windows a zestawem SDK Windows?

Oba są zestawami SDK (software development kit), które umożliwiają tworzenie aplikacji Windows.

Zestaw SDK do aplikacji systemu Windows to nowa platforma programistyczna, która umożliwia tworzenie nowoczesnych aplikacji klasycznych, które można instalować w Windows wersjach (do Windows 10 1809). Podczas kompilowania przy użyciu Zestaw SDK do aplikacji systemu Windows dostępne są najnowsze funkcje platformy programistycznej Windows. Zestaw SDK do aplikacji systemu Windows zawiera interfejs WinUI.

Windows SDK to platforma programistyczna umożliwiająca tworzenie aplikacji UWP i aplikacji Win32/desktop. Jest on przeznaczony dla interfejsów API Windows, które są powiązane z określonymi wersjami systemu operacyjnego.

Zestaw SDK do aplikacji systemu Windows nie zastępuje zestawu SDK Windows. Zamiast tego Zestaw SDK do aplikacji systemu Windows uzupełnia zestaw WINDOWS SDK. Zapewnia wygodną, niezależną od systemu operacyjnego abstrakcję obejmującą bogaty katalog interfejsów API systemu Windows, które są już dostępne przy użyciu zestawu SDK Windows. Aplikacje utworzone za pomocą Zestaw SDK do aplikacji systemu Windows mogą nadal używać interfejsów API zestawu SDK Windows w zależności od potrzeb funkcji. Z czasem więcej funkcji Windows SDK zostanie przeniesionych do Zestaw SDK do aplikacji systemu Windows.

I tworzy nowy zespół do tworzenia aplikacji tylko do Windows. Dlaczego należy wybrać programowanie za pomocą natywnej platformy Windows, takiej jak WinUI, WPF lub WinForms?

Oto kilka powodów, dla których należy wybrać natywną strukturę Windows dla aplikacji tylko Windows:

  • Performance: Natywne platformy Windows są zoptymalizowane pod kątem wykorzystania nowoczesnego sprzętu Windows, zapewniając szybkie i dynamiczne środowisko użytkownika.
  • Integracja: Windows jest dostarczany z szeroką gamą interfejsów API, które umożliwiają tworzenie zaawansowanych środowisk, dostępnych tylko w Windows. Struktury natywne zapewniają głęboką integrację z tymi funkcjami i interfejsami API.
  • Native user experience: Native frameworks zapewniają spójne środowisko na urządzeniach Windows, zapewniając, że aplikacja wygląda i działa świetnie wszędzie.
  • Obsługa trybu offline: Natywne struktury obsługują scenariusze offline, umożliwiając aplikacjom działanie nawet bez łączności z Internetem.
  • Monetization: Platformy natywne są aktywnie obsługiwane przez Microsoft, zapewniając dostęp do najnowszych aktualizacji i funkcji.
Który framework powinienem użyć, aby wykorzystać najnowsze inwestycje Microsoftu do tworzenia aplikacji Windows?

Jeśli tworzysz nową aplikację tylko Windows, zalecamy użycie interfejsu WinUI. WinUI to najnowsza natywna struktura interfejsu użytkownika służąca do tworzenia aplikacji Windows i zaprojektowana do pracy na wielu urządzeniach Windows. Zapewnia nowoczesną i elastyczną strukturę interfejsu użytkownika do tworzenia atrakcyjnych wizualnie i interaktywnych aplikacji Windows. WinUI jest częścią Zestaw SDK do aplikacji systemu Windows i działa najlepiej z najnowszymi wersjami Windows.

Czy mogę używać Zestaw SDK do aplikacji systemu Windows / WinUI w mojej istniejącej aplikacji Windows?

Należy pamiętać, że WinUI (struktura interfejsu użytkownika) jest częścią Zestaw SDK do aplikacji systemu Windows (platformy programistycznej Windows).

Ogólnie rzecz biorąc, nie można używać interfejsu WinUI, chyba że aplikacja jest gotowa do całkowitej migracji struktury interfejsu użytkownika. Funkcja o nazwie XAML Islands umożliwia hostowanie zawartości WinUI w innych strukturach interfejsu użytkownika (WPF, Win32). Aby uzyskać więcej informacji, zobacz dokumentację wysp XAML .

Elementy Zestaw SDK do aplikacji systemu Windows mogą być często używane w aplikacjach desktopowych, w zależności od sposobu tworzenia istniejącej aplikacji. Aplikacje platformy UWP nie są obsługiwane przez Zestaw SDK do aplikacji systemu Windows.

Oznacza to, że aplikacje WPF/MFC/WinForms mogą używać interfejsów API Zestaw SDK do aplikacji systemu Windows, które nie są powiązane z interfejsem WinUI. Przykłady obejmują cykl życia aplikacji, zarządzanie oknami oraz powiadomienia typu toast.

Aby uzyskać więcej informacji, zobacz Użyj Zestaw SDK do aplikacji systemu Windows w istniejącym projekcie.

Czy muszę używać Visual Studio do tworzenia aplikacji WinUI?

Korzystanie z Visual Studio 2026 lub nowszych jest zdecydowanie zalecane w przypadku programowania w systemie WinUI. Najnowsze wersje Visual Studio oferują zaawansowane funkcje programistyczne, takie jak Przeładowywanie na gorąco, oraz obejmują pracę Tworzenia aplikacji WinUI, która upraszcza konfigurację.

Inne środowiska IDE i przepływy pracy mogą działać, ale Visual Studio jest obecnie jedynym oficjalnie obsługiwanym środowiskiem IDE dla winUI. Należy pamiętać, że program MSBuild jest wymagany do kompilowania projektów XAML lub WinUI.

Otrzymuję błąd "Nie można załadować biblioteki DLL 'Microsoft.ui.xaml.dll'" podczas uruchamiania aplikacji. Jak mogę to naprawić?

Ten błąd występuje zwykle w scenariuszach aplikacji unpackaged, w których środowisko uruchomieniowe Zestaw SDK do aplikacji systemu Windows nie zostało zainstalowane na maszynie. Spróbuj wykonać następujące czynności:

  • Jeśli używasz aplikacji packaged (zalecana wartość domyślna), upewnij się, że uruchamiasz ją za pośrednictwem Visual Studio, wybierając profil uruchamiania MsixPackage (a nie zwykły profil wykonywalny). Krok pakowania MSIX instaluje wymagane składniki środowiska uruchomieniowego.
  • Jeśli korzystasz z aplikacji unpackaged musisz zainstalować Zestaw SDK do aplikacji systemu Windows środowisko uruchomieniowe oddzielnie przed uruchomieniem aplikacji poza Visual Studio.
  • Jeśli podczas programowania wystąpi błąd, otwórz .csproj i upewnij się, że konfiguracja pakowania jest zgodna z modelem wdrażania: w przypadku spakowanych aplikacji pomiń <WindowsPackageType> właściwość (lub pozostaw ją domyślną) i skompiluj/uruchom pakiet MSIX; dla aplikacji rozpakowanych ustaw <WindowsPackageType>None</WindowsPackageType> i upewnij się, że wywołano Bootstrap.Initialize() metodę podczas uruchamiania.

Aby uzyskać więcej informacji na temat wymagań dotyczących wdrażania, zobacz Wdrażanie aplikacji korzystających z Zestaw SDK do aplikacji systemu Windows.

Jaka jest różnica między systemami WinUI 3 i WinUI 2 dla platformy UWP?

WinUI (wcześniej nazywany WinUI 3) to najnowsza natywna struktura interfejsu użytkownika na potrzeby tworzenia aplikacji Windows. Zapewnia nowoczesną i elastyczną strukturę interfejsu użytkownika do tworzenia atrakcyjnych wizualnie i interaktywnych aplikacji Windows. WinUI jest częścią Zestaw SDK do aplikacji systemu Windows i działa najlepiej z najnowszymi wersjami Windows.

WinUI dla platformy UWP (wcześniej określanej jako WinUI 2) to zestaw kontrolek interfejsu użytkownika i stylów opartych na platformie UWP. Zapewnia nowoczesny wygląd i działanie aplikacji Uniwersalnej platformy Windows (UWP) i jest zaprojektowane dla Windows 10.

Czy kiedy tworzę aplikację przy użyciu Zestaw SDK do aplikacji systemu Windows i WinUI, tworzę aplikację "WinUI"?

Tak — "Aplikacja WinUI" jest zalecanym terminem. Aplikacje WinUI są nazywane "aplikacjami WinUI", ponieważ interfejs WinUI dla platformy UWP nie jest typem aplikacji, ale zestawem składników używanych w aplikacjach platformy UWP.

Czy mogę stopniowo aktualizować moją aplikację UWP, zastępując komponenty WinUI dla UWP kontrolkami WinUI?

Nie. Zestaw SDK do aplikacji systemu Windows nie można używać w aplikacjach platformy UWP, a interfejs WinUI dla platformy UWP nie może być mieszany z interfejsem WinUI. Zobacz Przejdź z platformy UWP do Zestaw SDK do aplikacji systemu Windows.

Jak trudno jest migrować aplikację platformy UWP do systemu WinUI?

Migrowanie składników interfejsu użytkownika jest ogólnie proste (w przypadku języka C# i C++/WinRT). W przeciwnym razie koszt migracji zależy przede wszystkim od:

  1. Plik projektu i dostosowywanie MSBuild: Nakład pracy nad migracją różni się w zależności od zaawansowanego wykorzystania MSBuild.
  2. .NET migracja API: aplikacje platformy UWP korzystające z .NET muszą przejść na .NET 6 lub nowszą wersję. W wielu przypadkach przyjęcie .NET 6 jest proste.
  3. Biblioteki składników interfejsu użytkownika: Biblioteki muszą mieć wersje przeznaczone dla winUI.
  4. Jeśli aplikacja platformy UWP została zapisana w zastąpionym języku C++/CX, wymagane jest przenoszenie kodu źródłowego. Zobacz Przejście z C++/CX na C++/WinRT.

Aby uzyskać więcej informacji, zobacz Migrate z platformy UWP do Zestaw SDK do aplikacji systemu Windows.

Jeśli mam istniejącą aplikację platformy UWP w Sklepie, czy mogę opublikować nową spakowana aplikację WinUI przy użyciu tych samych identyfikatorów?

Tak, uaktualnione aplikacje można publikować bez aktualizowania tożsamości aplikacji. Użytkownicy starej wersji zostaną zaktualizowani do nowej wersji. Dotyczy to tylko aplikacji na komputery stacjonarne. aplikacje Xbox, HoloLens i Surface Hub nie mogą migrować do usługi WinUI.

Jak spakować/rozprowadzić swoją aplikację WinUI?

Zobacz Omówienie wdrażania.

Gdzie mogę znaleźć wskazówki dotyczące migracji Zestaw SDK do aplikacji systemu Windows?

Zobacz Migracja z platformy UWP do Zestaw SDK do aplikacji systemu Windows.

Czy muszę używać znaczników XAML, jeśli chcę używać interfejsu WinUI?

Nie. Kontrolki interfejsu użytkownika można tworzyć w kodzie. Jednak reprezentowanie interfejsu użytkownika w deklaratywnym zapisie XAML oferuje wiele korzyści, w tym ulepszone środowisko deweloperskie.

  • Migracja z platformy UWP do winUI: wiele składników XAML i interfejsu użytkownika może być ponownie używanych, chociaż wymagane są pewne dostosowania składni.
  • Migracja z WPF do winUI: wiele pojęć jest przenoszonych, ale zestaw kontrolek i interfejsy API różnią się.
Czy Visual Studio zawiera powierzchnię projektową/projektanta interfejsu użytkownika dla WinUI?

Jeszcze nie. Jest to znana luka w środowisku dewelopera WinUI. Narzędzia, takie jak XAML Przeładowywanie na gorąco mogą pomóc w wielu scenariuszach. Rozpoczęto pracę nad projektantem interfejsu użytkownika Visual Studio dla WinUI w wersji Zestaw SDK do aplikacji systemu Windows 1.7, ale nie ma jeszcze harmonogramu jej wydania.

Does Zestaw SDK do aplikacji systemu Windows include WinUI?

Tak. WinUI jest dostarczany jako część Zestaw SDK do aplikacji systemu Windows.

Czy Zestaw SDK do aplikacji systemu Windows zawiera WinUI dla UWP?

Nie. WinUI dla platformy UWP jest częścią platformy UWP.

Czy platforma WinUI dla platformy UWP i winUI jest oparta na tej samej technologii?

Nie całkiem. Chociaż winUI pierwotnie rozpoczął się od bazy kodu WinUI dla platformy UWP, są to odrębne technologie. Oba są strukturami interfejsu użytkownika opartymi na języku XAML, które działają między .NET i C++, ale winUI dla platform UWP i WinUI nie są ze sobą zgodne.

Czy mogę używać interfejsu WinUI bez używania Zestaw SDK do aplikacji systemu Windows?

Nie. WinUI jest dostarczany jako część Zestaw SDK do aplikacji systemu Windows.

Czy mogę używać interfejsu WinUI w niezapakowanej aplikacji?

Tak. Wszystkie technologie w Zestaw SDK do aplikacji systemu Windows, w tym WinUI, działają w rozpakowanych aplikacjach.

Jaka jest różnica między wyspami XAML i WinUI?

Wyspy XAML umożliwiają hostowanie nowoczesnych kontrolek opartych na języku XAML wraz z istniejącym interfejsem użytkownika Win32 z innych platform, takich jak WinForms i WPF.

Obecnie wyspy XAML obsługują większość systemów XAML i WinUI dla kontrolek platformy UWP. Aby uzyskać więcej informacji, zobacz Hosting kontrolek WinRT XAML w aplikacjach desktopowych (XAML Islands). Obsługa hostowania kontrolek WinUI jest dostępna od Zestaw SDK do aplikacji systemu Windows 1.4.

Czy jeśli utworzę aplikację WinUI, będzie wyglądać nowocześnie zarówno na Windows 11, jak i na Windows 10?

Tak. Interfejs użytkownika Twojej aplikacji będzie przejmować (dziedziczyć) najnowsze zasady projektowania Fluent UI we wszystkich obsługiwanych wersjach systemu Windows 11 i Windows 10, aż do wersji 1809, zarówno w scenariuszach pakietowych, jak i niepakietowych.

Czy mogę używać tła miki lub akrylu w aplikacjach zbudowanych przy użyciu Zestaw SDK do aplikacji systemu Windows?

Tak. Zobacz Stosowanie materiałów Mica lub Akrylowych w aplikacjach desktopowych dla Windows 11.

Gdzie można znaleźć przykłady winUI?

Zobacz Przykład i zasoby. Niektóre istotne repozytoria:

Jeśli już zainwestowałem mocno w WPF, czy powinienem nadal używać WPF, czy rozważyć migrację do WinUI?

Jeśli zainwestowano już w WPF, możesz nadal korzystać z niej w przypadku istniejących aplikacji. WPF jest dojrzałą, stabilną strukturą powszechnie używaną do tworzenia aplikacji klasycznych Windows.

Rozważ użycie asystenta uaktualniania .NET w celu migracji aplikacji platformy WPF .NET Framework do najnowszej platformy .NET. Analizuje bazę kodu i zawiera wskazówki dotyczące jego aktualizowania.

Jeśli skompiluję nową aplikację WPF, czy będzie wyglądać przestarzale w porównaniu z innymi nowymi aplikacjami Windows?

Podczas tworzenia aplikacji WPF z .NET 9 lub nowszym możesz upewnić się, że aplikacja jest zgodna z eleganckim, nowoczesnym wyglądem Windows 11. Nowy motyw Fluent dla WPF wprowadza współczesną Windows 11 estetykę, ze zintegrowanym trybem jasnym/ciemnym i obsługą kolorów akcentów systemowych. To modernizuje wygląd aplikacji i zapewnia dopracowane, spójnie środowisko użytkownika.

Mój zespół jest wygodny w tworzeniu aplikacji WinForms i odpowiada naszym potrzebom. Czy powinniśmy rozważyć migrację do systemu WinUI lub innej platformy?

Jeśli rozwiązanie WinForms spełnia Twoje potrzeby, a Twój zespół jest w nim wygodny, możesz nadal używać formularzy WinForms dla istniejących aplikacji. WinForms to dojrzała i stabilna struktura powszechnie używana do tworzenia aplikacji klasycznych Windows.

Zespół WinForms nadal inwestuje w platformę. Niektóre bieżące obszary inwestycji obejmują:

  • Obsługa asynchronicznych kontrolek typowych
  • Tryb ciemny
  • Elastyczność układu
  • Funkcje zabezpieczeń pulpitu, takie jak dostęp do schowka

Programowanie natywne dla wielu platform

Jak są pewne przyczyny tworzenia międzyplatformowych aplikacji natywnych przeznaczonych dla Windows?

Jeśli kierujesz użytkowników na wiele platform systemu operacyjnego, tworzenie aplikacji międzyplatformowych za pomocą .NET MAUI lub React Native może oferować kilka korzyści:

  • Osiągnąć: Aplikacje międzyplatformowe docierają do większej grupy odbiorców na różnych urządzeniach i systemach operacyjnych.
  • Ponowne użycie kodu: Ponowne tworzenie kodu na różnych platformach skraca czas programowania i koszty. Tworzenie oddzielnych aplikacji dla systemów Windows, Android, iOS i macOS może być zbyt kosztowne.
  • Spójne środowisko użytkownika: Platformy międzyplatformowe pomagają zapewnić spójny wygląd i działanie na różnych platformach.
  • Integracja: Aplikacje międzyplatformowe mogą nadal integrować się z usługami specyficznymi dla platformy, aby zapewnić kompleksowe środowisko.
Czy mogę być pewien, że aplikacje .NET MAUI będą działać dobrze na Windows?

Podczas budowania aplikacji .NET MAUI dla Windows, wynikiem jest aplikacja WinUI. Podczas programowania .NET MAUI oferuje jedno środowisko .NET na różnych platformach, ale generuje kod specyficzny dla platformy pod maską. Dzięki temu .NET MAUI aplikacje działają dobrze na każdej platformie i zapewniają natywne środowisko użytkownika.

Jak .NET MAUI może dostarczać natywne interfejsy API urządzeń na każdej platformie?

.NET MAUI zapewnia ujednolicone środowisko .NET w systemach Windows, iOS, Android i macOS. Tworzy abstrakcję ponad 60 platformowych interfejsów API w jednym wieloplatformowym zestawie API, obejmującym obszary takie jak przechowywanie, sieci i czujniki urządzeń. Dostęp do dodatkowych interfejsów API specyficznych dla platformy można również uzyskać za pomocą iniekcji zależności w celu zapewnienia wyspecjalizowanych implementacji na platformę.

Czy mogę zaczynać z WinUI, a później zintegrować .NET MAUI, jeśli ostatecznie chcę obsługiwać scenariusze międzyplatformowe?

Nie w tej chwili. Mimo że .NET MAUI używa interfejsu WinUI podczas uruchamiania na Windows, zespoły planujące obsługę wielu platform powinny zacząć od platformy .NET MAUI lub React Native for Desktop.

Nasz zespół ma silne umiejętności programistyczne frontonu internetowego. Czy powinniśmy rozważyć użycie oprogramowania React Native dla programu Desktop?

Zespoły z silnym środowiskiem tworzenia aplikacji internetowych mogą chcieć rozważyć rozwiązanie React Native for Desktop. Obejmuje ona oprogramowanie React Native dla Windows i macOS. Dzięki podejściu "Dowiedz się raz, napisz w dowolnym miejscu", istniejące umiejętności javaScript, TypeScript i React mogą służyć do tworzenia natywnych aplikacji Windows i macOS.

Platforma React Native for Desktop renderuje interfejs użytkownika bezpośrednio z natywnymi elementami pierwotnymi, zapewniając natywną wydajność i możliwości platformy.

Zobacz dokumentację React Native for Desktop, aby rozpocząć.

Czy jakieś inne urządzenia z systemem Windows są obsługiwane przez React Native for Desktop?

Aplikacje react native można wdrażać na wszystkich urządzeniach obsługiwanych przez Windows 10 i nowsze, w tym komputery, tablety, 2-in-1, Xbox i urządzenia rzeczywistości mieszanej.

Co należy użyć, jeśli chcę tworzyć aplikacje działające na Windows i Xbox?

Jeśli aplikacja musi obsługiwać Xbox, HoloLens lub IoT, zaleca się platformę UWP. Zestaw SDK do aplikacji systemu Windows nie obsługuje tych platform. W przypadku tworzenia gier użyj Zestaw deweloperski firmy Microsoft do tworzenia gier.

Co należy użyć, jeśli chcę tworzyć aplikacje działające na Windows i Surface Hub?

Jeśli celujesz zarówno w Windows, jak i Surface Hub, zaleca się UWP.

Programowanie hybrydowe i internetowe

Co to są aplikacje hybrydowe i dlaczego należy rozważyć utworzenie aplikacji?

Aplikacje hybrydowe łączą najlepsze rozwiązania dotyczące tworzenia aplikacji internetowych i natywnych. Ich podstawowe funkcje są tworzone przy użyciu technologii internetowych, takich jak HTML, CSS i JavaScript, i opakowane w natywny kontener, który zapewnia access do niektórych natywnych funkcji platformy i sprzętu. Można je również dystrybuować za pośrednictwem sklepów z aplikacjami.

Główną zaletą jest to, że aplikacje hybrydowe umożliwiają tworzenie pojedynczej aplikacji, która może działać na wielu platformach natywnych i w Internecie, skracając czas programowania i koszty. Przykłady platform programowania aplikacji hybrydowych obejmują:

  • Electron dla aplikacji desktopowych
  • Ionic dla aplikacji mobilnych
  • .NET MAUI Blazor Hybrid dla aplikacji wieloplatformowych
Jak zbudować progresywne aplikacje internetowe (PWA) dające wrażenie natywności w systemie Windows?

Zobacz Tworzenie stron internetowych na Windows oraz Przegląd progresywnych aplikacji internetowych.

Co to jest aplikacja hybrydowa .NET MAUI Blazor?

Dzięki .NET MAUI aplikacje Platformy Blazor mogą być uruchamiane natywnie w systemach Windows, iOS, Android i macOS. Umożliwia to tworzenie hybrydowych aplikacji klienckich łączących komponenty Blazor i .NET MAUI w jednej natywnej aplikacji klienckiej z pełnym dostępem do możliwości natywnej platformy.

Dowiedz się więcej na stronie ASP.NET Core Blazor Hybrid.

Czy komponenty webowe aplikacji hybrydowej .NET MAUI muszą być utworzone za pomocą platformy Blazor?

Nie. Począwszy od .NET 9, .NET MAUI zawiera kontrolkę HybridWebView, która umożliwia hostowanie innych interfejsów użytkownika opartych na języku JavaScript wewnątrz aplikacji natywnej.

Umożliwia to hostowanie aplikacji Angular, React, Vue lub innych aplikacji HTML/JavaScript w aplikacji .NET MAUI. Kontrolka hybrydowa zapewnia współdziałanie między językami C# i JavaScript, więc kod języka C# może wywoływać funkcje Języka JavaScript i na odwrót.

Czy inne typy aplikacji natywnych mogą hostować składniki hybrydowe platformy Blazor?

Tak. WPF i aplikacje WinForms mogą również hostować składniki hybrydowe platformy Blazor, co umożliwia dodanie nowoczesnego internetowego interfejsu użytkownika do istniejących aplikacji. Nie jest to obsługiwane w przypadku aplikacji WPF ani WinForms opartych na platformie .NET Framework.

Czy cała moja aplikacja musi być aplikacją hybrydową lub czy mogę mieszać i dopasowywać składniki natywne i hybrydowe?

Składniki natywne i hybrydowe można mieszać w aplikacji. Na przykład rdzeń aplikacji może zostać skompilowany przy użyciu .NET MAUI składników, podczas gdy składniki hybrydowe zapewniają dodatkowe funkcje. Umożliwia to połączenie wydajności i możliwości składników natywnych z elastycznością i wydajnością kosztów składników hybrydowych.

Jakie są moje opcje tworzenia aplikacji internetowych opartych na .NET, które wyglądają świetnie w nowoczesnych przeglądarkach w Windows?

Web apps oferują najszerszy zasięg dowolnej platformy aplikacji klienckiej. Opcje tworzenia pięknych .NET aplikacji internetowych obejmują:

  • ASP.NET Core aplikacje z Razor Pages
  • ASP.NET Core aplikacje MVC
  • ASP.NET Core aplikacje Blazor z opcjami modelu hostingu:
    • Blazor WebAssembly
    • Blazor Server

Modele hostingu platformy Blazor można teraz skonfigurować na poziomie składnika, umożliwiając scenariusze takie jak hostowanie składnika Zestawu WebAssembly platformy Blazor w aplikacji blazor Server.

Aby uzyskać więcej informacji, zobacz dokumentację ASP.NET Core.

Wybieranie podejścia i zrozumienie inwestycji Microsoft

Tak wiele opcji struktury do tworzenia aplikacji docelowych Windows! Jak mogę zdecydować?

Windows to otwarta platforma, która obsługuje wiele technologii. Poniżej przedstawiono kilka kryteriów, które mogą pomóc w wyborze platformy:

  • Czy tworzysz najpierw Windows czy międzyplatformowo?
  • Jakie języki lub umiejętności już masz — .NET, JavaScript, coś innego?
  • Czy potrzebujesz dostępu do interfejsów API specyficznych dla Windows?
  • Które możliwości platformy najlepiej odpowiadają wymaganiom aplikacji?
  • Zobacz tę tabelę , aby uzyskać dodatkowe czynniki porównania.

W przypadku wielu aplikacji biznesowych zespoły często wybierają na podstawie istniejących umiejętności i tego, z czego najlepiej korzysta zespół.

Jak wybrać najlepsze podejście programistyczne dla mojej aplikacji internetowej?

Podczas wybierania podejścia programistycznego dla aplikacji internetowej należy wziąć pod uwagę następujące kwestie:

  • Platforma Blazor jest zalecana do tworzenia aplikacji webowych front-endu przy użyciu .NET. Umożliwia ona tworzenie zarówno frontonu, jak i zaplecza przy użyciu .NET, oszczędzania czasu i kosztów oraz jest szczególnie dobre w przypadku aplikacji dla przedsiębiorstw.
  • Aplikacje internetowe w JavaScript nadal mają sens, jeśli chcesz wykorzystać istniejące umiejętności JavaScript lub potrzebujesz zintegrować się z ustalonymi bibliotekami JS lub frameworkami.
  • Istniejące aplikacje korzystające ze starszych struktur, takich jak Web Forms, MVC lub Razor Pages, pozostają obsługiwane i mogą być nadal opracowywane i obsługiwane.
Kto obecnie tworzy aplikacje za pomocą interfejsu WinUI?

Wielu klientów korzysta z WinUI, w tym Adobe i Apple.

Microsoft utworzył również wiele aplikacji WinUI, takich jak Eksplorator plików Windows 11 i aplikacja Zdjęcia.

Who tworzy obecnie aplikacje .NET MAUI?

Wielu klientów, w tym Microsoft, tworzy międzyplatformowe aplikacje z .NET MAUI. Na przykład aplikacja mobilna Microsoft Azure jest tworzona przy użyciu .NET MAUI.

Zobacz więcej na pokazie klientów .NET.

Who tworzy obecnie aplikacje WPF?

Większość interfejsu użytkownika Microsoft Visual Studio jest kompilowana przy użyciu WPF. Sam Visual Studio IDE jest głównym przykładem złożonej, wysokowydajnej aplikacji WPF.

Kto obecnie tworzy aplikacje blazor?

GE Digitalowy system FlightPulse dla linii lotniczych używa platformy Blazor do konfiguracji zaplecza technicznego wszelkich interfejsów pilotów, dostarczając dane z czujników i analizy bezpośrednio do pilotów w celu poprawy bezpieczeństwa i wydajności.

Zobacz więcej historii klientów Blazor w witrynie .NET.

Pakowanie, wdrażanie i aktualizacje

Jaka jest różnica między aplikacjami w formie pakietu, niepakowanymi oraz pakietami zewnętrznymi?

Aby zapoznać się z definicjami aplikacji w wersji spakowanej, rozpakowanej i spakowanej z lokalizacją zewnętrzną, zobacz Omówienie wdrażania. W tym temacie wyjaśniono również zalety i wady każdej opcji.

Czy moja aplikacja WinUI zostanie automatycznie zaktualizowana dla użytkowników końcowych?

Aplikację WinUI można dostarczyć za pośrednictwem Sklepu, pliku .appinstaller lub za pomocą istniejącego pakietu MSI albo setup.exe. Aplikacja Store i AppInstaller obsługują automatyczne aktualizacje dla użytkowników końcowych, którzy mają włączone aktualizacje automatyczne, ale aplikacje MSI/setup.exe muszą zapewnić własny mechanizm aktualizacji.

Czy mogę używać Zestaw SDK do aplikacji systemu Windows bez używania MSBuild?

Ogólnie rzecz biorąc, nie. WinUI i Zestaw SDK do aplikacji systemu Windows wymagają MSBuild dlatego Visual Studio jest wymaganiem wstępnym do ich opracowywania. Chociaż technicznie jest możliwe tworzenie Zestaw SDK do aplikacji systemu Windows aplikacji, które nie korzystają z interfejsu WinUI z innymi łańcuchami narzędzi, nie jest to obsługiwane.

Wydajność i optymalizacja

W co mogę zrobić, aby moja aplikacja Windows czuła się świetnie dla użytkowników końcowych?

Zobacz Windows tworzenie aplikacji — najlepsze praktyki i Windows przegląd wydajności i podstaw aplikacji.

Compatibility

Czy moi użytkownicy kiedykolwiek muszą zaktualizować Windows do korzystania z mojej aplikacji WinUI?

Użytkownicy z Windows 10 w wersji 1809 lub nowszej mogą instalować aplikacje WinUI bez aktualizowania systemu operacyjnego.

Czy mogę kierować aplikację Arm64 do mojej aplikacji WinUI?

Tak.

Deprecacje i migracje

Czy UWP/WinUI dla UWP są przestarzałe?

Nie. Platformy UWP i WinUI dla platformy UWP są nadal obsługiwane i nadal otrzymują poprawki błędów, niezawodności i zabezpieczeń. Jednak większość nowych funkcji i możliwości jest dodawana do interfejsu WinUI.

Dostępna jest obsługa platformy UWP dla platformy .NET 9. Ta opcja zapewnia ścieżkę modernizacji aplikacji platformy UWP przy użyciu najnowszej wersji .NET.

Cele wsparcia platformy UWP w .NET 9 to:

  1. Zapewnij lepszą ścieżkę migracji dla deweloperów, którzy chcą przejść do rozwiązania WinUI.
  2. Usuń zależności od .NET Native, aby deweloperzy mogli korzystać z najnowszych funkcji .NET i C#.

Aby uzyskać więcej informacji, zobacz wpis na blogu: Zmodernizuj swoją aplikację UWP dzięki wsparciu UWP w wersji zapoznawczej dla platformy .NET 9 i natywnego AOT.

Kiedy należy przeprowadzić migrację aplikacji UWP/WinUI na WinUI?

Deweloperzy platformy UWP nie powinni czuć nacisku na migrację, jeśli są zadowoleni z platformy UWP i jej zestawu funkcji — w przypadku wielu aplikacji właściwym wyborem może być pozostanie na platformie UWP.

Aplikacje, które chcą korzystać z najnowszej platformy Windows i .NET inwestycji, powinny rozważyć przejście na Zestaw SDK do aplikacji systemu Windows. Zobacz Migracja z platformy UWP do Zestaw SDK do aplikacji systemu Windows.

Kiedy *nie* należy migrować aplikacji UWP + WinUI do systemu WinUI?

Kontynuuj korzystanie z platformy UWP, jeśli tworzysz aplikację Xbox, Surface Hub lub HoloLens.

Czy WPF jest wycofywane?

Nie. WPF jest obsługiwana, zalecana i nadal otrzymuje aktualizacje funkcji. Zobacz mapę drogową WPF na GitHubie.

Czy WinForms są wycofane?

Nie. Formularze WinForms są obsługiwane i nadal otrzymują aktualizacje funkcji. Zobacz mapę drogową Windows Forms na GitHubie.

Czy środowisko wykonawcze systemu Windows (WinRT) jest przestarzały?

Nie. WinRT to interfejs binarny aplikacji (ABI), który umożliwia współdziałanie w wielu językach. WinRT to ewolucja modelu COM, a Zestaw SDK do aplikacji systemu Windows zapewnia większość funkcji za pośrednictwem interfejsów API WinRT.

Informacje o wydaniu

Gdzie mogę znaleźć uwagi do wydania dla Zestaw SDK do aplikacji systemu Windows?

Najnowsze informacje o najnowszej wersji można znaleźć na stronie Co nowego.