Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Te często zadawane pytania zawierają odpowiedzi na często zadawane pytania dotyczące tworzenia aplikacji systemu Windows, w tym wskazówki dotyczące wybierania odpowiedniej struktury dla projektów. Omawiane tematy to m.in.:
- Wprowadzenie i krajobraz rozwoju aplikacji na Windows.
- Programowanie natywnych aplikacji dla systemu Windows za pomocą WinUI 3, Windows Presentation Foundation (WPF) i Windows Forms (WinForms).
- Windows Software Development Kit (SDK) i Windows App SDK.
- Ukierunkowanie na Windows jako część strategii tworzenia aplikacji dla wielu platform.
- Tworzenie aplikacji hybrydowych i internetowych za pomocą .NET MAUI, Blazor i ASP.NET Core.
- Jak wybrać podejście przy jednoczesnym zrozumieniu inwestycji firmy Microsoft.
Windows app środowisko rozwoju
Gdzie można znaleźć proste omówienie technologii programowania systemu Windows?
Aby zapoznać się z doskonałym przeglądem dzisiejszych opcji dla deweloperów systemu Windows, obejrzyj najnowszy odcinek Windows Dev Chat, Wybór idealnej platformy deweloperskiej, w którym omawiają WinUI, .NET MAUI, React Native, Blazor i Progressive Web Apps (PWA).
Możesz również zapoznać się z omówieniem opcji tworzenia aplikacji dla deweloperów systemu 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:
- Device Reach: Dzięki ponad 1,5 miliarda urządzeń z systemem Windows i ponad 5 miliardów urządzeń z systemem Android i iOS na całym świecie aplikacje klienckie umożliwiają bezpośrednie przenoszenie aplikacji do użytkowników na ich 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.
Programowanie aplikacji tylko dla systemu Windows
Jak jest Windows App SDK?
Windows App SDK to platforma do tworzenia aplikacji na system Windows, która umożliwia tworzenie pięknych, nowoczesnych, wstecznie kompatybilnych (do Windows 10 1809) aplikacji klasycznych. WinUI to struktura interfejsu użytkownika dostarczana z Windows App SDK.
Jaka jest różnica między zestawem Windows App SDK a zestawem SDK systemu Windows?
Oba są zestawami SDK (software development kit), które umożliwiają tworzenie aplikacji systemu Windows.
Windows App SDK to nowa platforma programistyczna, która umożliwia tworzenie nowoczesnych aplikacji klasycznych, które można instalować w różnych wersjach systemu Windows (do Windows 10 1809). Podczas kompilowania przy użyciu Windows App SDK dostępne są najnowsze funkcje platformy programistycznej systemu Windows. Windows App SDK zawiera interfejs WinUI.
Windows SDK to platforma programistyczna umożliwiająca tworzenie aplikacji platformy uniwersalnej systemu Windows i aplikacji Win32/desktop. Jest on przeznaczony dla interfejsów API systemu Windows, które są powiązane z określonymi wersjami systemu operacyjnego.
Windows App SDK nie zastępuje Windows SDK. Zamiast tego Windows App SDK uzupełnia zestaw Windows SDK. Zapewnia wygodną, niezależną od systemu operacyjnego abstrakcję wokół bogatego katalogu interfejsów API systemu Windows, które są już dostępne przy użyciu zestawu Windows SDK. Aplikacje utworzone za pomocą Windows App SDK mogą nadal używać interfejsów API zestawu Windows SDK w zależności od potrzeb funkcji. W czasie więcej funkcji zestawu Windows SDK zostanie przeniesionych do Windows App SDK.
I tworzy nowy zespół do tworzenia aplikacji tylko dla systemu Windows. Dlaczego warto tworzyć aplikacje za pomocą natywnej struktury systemu Windows, takiej jak WinUI, WPF lub WinForms?
Oto kilka powodów, dla których należy wybrać natywną strukturę systemu Windows dla aplikacji tylko dla systemu Windows:
- Wydajność: Natywne struktury systemu Windows są zoptymalizowane pod kątem wykorzystania nowoczesnego sprzętu systemu Windows, zapewniając szybkie i dynamiczne środowisko użytkownika.
- Integracja: System Windows jest dostarczany z szeroką gamą interfejsów API, które umożliwiają zaawansowane środowiska dostępne tylko w systemie Windows. Struktury natywne zapewniają głęboką integrację z tymi funkcjami i interfejsami API.
- Środowisko użytkownika natywnego: Struktury natywne zapewniają spójne środowisko na urządzeniach z systemem 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 firmę Microsoft, zapewniając access do najnowszych aktualizacji i funkcji.
Który framework powinienem użyć, aby wykorzystać najnowsze inwestycje firmy Microsoft w rozwój aplikacji Windows?
Jeśli tworzysz nową aplikację tylko dla systemu Windows, zalecamy użycie interfejsu WinUI. WinUI to najnowsza natywna struktura interfejsu użytkownika do tworzenia Windows app i zaprojektowana do pracy na wielu różnych urządzeniach z systemem Windows. Zapewnia nowoczesną i elastyczną strukturę interfejsu użytkownika do tworzenia atrakcyjnych wizualnie i interaktywnych aplikacji systemu Windows. WinUI jest częścią Windows App SDK i działa najlepiej z najnowszymi wersjami systemu Windows.
Czy mogę używać Windows App SDK / WinUI w mojej istniejącej aplikacji Windows?
Należy pamiętać, że WinUI (struktura interfejsu użytkownika) jest dostarczana z Windows App SDK (platforma deweloperska platformy 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 jest opracowywana w celu hostowania zawartości WinUI w innych strukturach interfejsu użytkownika (WPF, Win32).
Elementy Windows App SDK mogą być często używane w aplikacjach stacjonarnych, w zależności od sposobu, w jaki istniejąca aplikacja została zbudowana. Aplikacje platformy UWP nie są obsługiwane przez Windows App SDK.
Oznacza to, że aplikacje WPF/MFC/WinForms mogą używać interfejsów API Windows App SDK, 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 Windows App SDK w istniejącym project.
Czy muszę używać Visual Studio do tworzenia aplikacji WinUI?
Korzystanie z Visual Studio 2022 w wersji 17.10 lub nowszej jest zdecydowanie zalecane w przypadku opracowywania interfejsu WinUI. Najnowsze wersje Visual Studio oferują zaawansowane funkcje programistyczne, takie jak Hot Reload i obejmują obciążenie WinUI aplikacji rozwoju, które 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 rozwiązać ten problem?
Ten błąd występuje zwykle w scenariuszach niepakowanych aplikacji, w których środowisko uruchomieniowe zestawu SDK aplikacji systemu Windows nie zostało zainstalowane na maszynie. Spróbuj wykonać następujące czynności:
- Jeśli używasz spakowanej aplikacji (zalecane ustawienie domyślne), upewnij się, że uruchamiasz program Visual Studio przy użyciu wybranego profilu uruchamiania MsixPackage (a nie zwykłego profilu wykonywalnego). Krok pakowania MSIX instaluje wymagane składniki środowiska uruchomieniowego.
- Jeśli używasz aplikacji bez opakowania, musisz zainstalować środowisko wykonawcze SDK aplikacji Windows oddzielnie, zanim uruchomisz aplikację poza środowiskiem Visual Studio.
- Jeśli podczas programowania wystąpi błąd, otwórz
.csproji 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łanoBootstrap.Initialize()metodę podczas uruchamiania.Aby uzyskać więcej informacji na temat wymagań dotyczących wdrażania, zobacz Wdrażanie aplikacji korzystających z zestawu SDK aplikacji systemu Windows .
Jaka jest różnica między systemami WinUI i WinUI dla platformy UWP?
WinUI (wcześniej określany jako WinUI 3) to najnowsza natywna struktura interfejsu użytkownika na potrzeby programowania Windows app. Zapewnia nowoczesną i elastyczną strukturę interfejsu użytkownika do tworzenia atrakcyjnych wizualnie i interaktywnych aplikacji systemu Windows. WinUI jest częścią Windows App SDK i działa najlepiej z najnowszymi wersjami systemu 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 funkcjonalność aplikacji UWP oraz jest zaprojektowany specjalnie dla systemu Windows 10.
Czy kiedy tworzę aplikację przy użyciu Windows App SDK 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. Windows App SDK nie można używać w aplikacjach platformy UWP, a interfejs WinUI dla platformy UWP nie może być mieszany z interfejsem WinUI. Zobacz Migracja z platformy UWP do Windows App SDK.
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:
- Plik projektu i dostosowywanie MSBuild: Wysiłek związany z migracją różni się w zależności od zaawansowanego użycia programu MSBuild.
- .NET migracja interfejsu API: aplikacje platformy UWP korzystające z .NET muszą zostać przeniesione do .NET 6 lub nowszej wersji. W wielu przypadkach przyjęcie .NET 6 jest proste.
- Biblioteki składników interfejsu użytkownika: Biblioteki muszą mieć wersje przeznaczone dla winUI.
- 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 Windows App SDK.
Jeśli mam istniejącą aplikację platformy UWP w Sklepie, czy mogę opublikować nową spakowana aplikację WinUI przy użyciu tych samych identyfikatorów?
Jak spakować/rozprowadzić swoją aplikację WinUI?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.
Zobacz Omówienie wdrażania.
Gdzie mogę znaleźć wskazówki dotyczące migracji Windows App SDK?
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 ma powierzchnię projektową / projektanta interfejsu użytkownika dla WinUI?
Jeszcze nie. Jest to znana luka w środowisku dewelopera WinUI. Narzędzia, takie jak XAML Hot Reload mogą pomóc w wielu scenariuszach. Prace zostały rozpoczęte nad projektantem interfejsu użytkownika Visual Studio dla WinUI w wersji Windows App SDK 1.7, ale nie ma jeszcze ustalonej daty wydania.
Czy zestaw SDK aplikacji systemu Windows obejmuje interfejs WinUI?
Tak. WinUI jest dostarczany jako część Windows App SDK.
Czy Windows App SDK 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 można używać interfejsu WinUI bez używania Windows App SDK?
Nie. WinUI jest dostarczany jako część Windows App SDK.
Czy mogę używać interfejsu WinUI w niezapakowanej aplikacji?
Tak. Wszystkie technologie w Windows App SDK, 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 Windows App SDK 1.4.
Jeśli utworzę aplikację WinUI, czy będzie wyglądać nowocześnie zarówno na Windows 11, jak i Windows 10?
Tak. Interfejs użytkownika Twojej aplikacji będzie dziedziczyć najnowsze zasady projektowe interfejsu graficznego Fluent UI we wszystkich obsługiwanych wersjach Windows 11 i Windows 10, do wersji 1809, zarówno w scenariuszach spakowanych, jak i rozpakowanych.
Czy można używać tła miki lub akrylu w aplikacjach stworzonych za pomocą Windows App SDK?
Tak. Zobacz Zastosowanie materiałów Mica lub akrylu w aplikacjach na pulpicie dla systemu Windows 11.
Gdzie można znaleźć przykłady winUI?
Jeśli już zainwestowałem mocno w WPF, czy powinienem nadal używać WPF, czy rozważyć migrację do WinUI?Zobacz Przykład i zasoby. Niektóre istotne repozytoria:
- WindowsAppSDK-Samples: Pokazuje, jak używać określonych zestawów interfejsów API Windows App SDK.
- Przykłady tematyczne dla systemu Windows: zawiera przykład notatki WinUI używany w samouczku „Utwórz aplikację WinUI”.
- WinUI 3 Gallery: Prezentuje interfejs WinUI i Windows App SDK. Dostępne również w sklepie Microsoft Store.
Jeśli zainwestowano już w WPF, możesz nadal korzystać z niej w przypadku istniejących aplikacji. WPF jest dojrzałą, stabilną platformą powszechnie używaną do tworzenia aplikacji klasycznych systemu 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.
Czy moja nowa aplikacja WPF będzie wyglądać przestarzale w porównaniu z innymi nowymi aplikacjami systemu 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 systemu 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
Jakie są przyczyny tworzenia aplikacji natywnych dla wielu platform przeznaczonych dla systemu Windows?
Czy mogę być pewny, że aplikacje .NET MAUI będą dobrze działać w systemie operacyjnym 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.
Podczas tworzenia aplikacji .NET MAUI dla systemu Windows, wynikiem jest aplikacja WinUI. Podczas programowania .NET MAUI oferuje jedno doświadczenie .NET na różnych platformach, ale generuje kod specyficzny dla platformy pod maską. Dzięki temu .NET aplikacje MAUI działają dobrze na każdej platformie i zapewniają natywne środowisko użytkownika.
Jak .NET MAUI zapewnia natywne interfejsy API urządzeń na każdej platformie?
Czy mogę zacząć od WinUI, a później zintegrować .NET MAUI, jeśli ostatecznie chcę celować w scenariusze międzyplatformowe?.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ę.
Nie w tej chwili. Mimo że .NET MAUI używa interfejsu WinUI podczas uruchamiania w systemie Windows, zespoły, które zamierzają obsługiwać wiele platform, powinny zacząć od .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 systemu 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 inne urządzenia z systemem Windows są obsługiwane przez platformę React Native for Desktop?
Aplikacje React Native można wdrażać na wszystkich urządzeniach obsługiwanych przez systemy Windows 10 i nowszych, w tym na komputerach, tabletach, urządzeniach 2-w-1, konsoli Xbox i urządzeniach mixed reality.
Co należy użyć, jeśli chcę tworzyć aplikacje działające w systemach Windows i Xbox?
Jeśli aplikacja musi obsługiwać konsolę Xbox, HoloLens lub IoT, zaleca się platformę UWP. Windows App SDK nie obsługuje tych platform. W przypadku tworzenia gier użyj Microsoft Game Development Kit.
Co należy użyć, jeśli chcę tworzyć aplikacje działające w systemie Windows i Surface Hub?
Jeśli kierujesz swoje działania na oba, system Windows i Surface Hub, zaleca się użycie platformy 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 międzyplatformowych
Jak tworzyć natywne progresywne aplikacje webowe (PWA) w systemie Windows?
Zobacz tworzenie aplikacji Web w systemie Windows i Przegląd progresywnych Web Apps.
Co to jest aplikacja hybrydowa .NET MAUI Blazor?
Dzięki .NET MAUI aplikacje Platformy Blazor mogą działać natywnie w systemach Windows, iOS, Android i macOS. Umożliwia to tworzenie hybrydowych aplikacji klienckich, które łączą komponenty Blazor i .NET MAUI w jednej natywnej aplikacji klienckiej, z pełnym dostępem do funkcji platformy natywnej.
Dowiedz się więcej na stronie ASP.NET Core Blazor Hybrid.
Czy komponenty webowe aplikacji hybrydowej .NET MAUI muszą być utworzone z wykorzystaniem 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 składników MAUI, 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 webowych opartych na .NET, które wyglądają świetnie w nowoczesnych przeglądarkach na Windows?
Web apps oferują najszerszy zasięg dowolnej platformy aplikacji klienckiej. Opcje tworzenia pięknych .NET web apps obejmują:
- ASP.NET Core aplikacje ze stronami Razor
- Aplikacje ASP.NET Core MVC
- Aplikacje ASP.NET Core 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 firmy Microsoft
Jest tak wiele opcji frameworków do tworzenia aplikacji na Windows! Jak mam 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 dla systemu Windows, czy międzyplatformowo?
- Jakie języki lub umiejętności już masz — .NET, JavaScript, coś innego?
- Czy potrzebujesz dostępu do specyficznych dla Windows interfejsów API?
- 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:
- Zaleca się tworzenie aplikacji front-endowych z .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.
- Adobe Fresco, bezpłatna aplikacja do rysowania i malowania.
- Apple Music, Apple TV i Apple Devices zostały skompilowane za pomocą interfejsu WinUI i Windows App SDK.
Firma Microsoft opracowała również wiele aplikacji WinUI, takich jak Windows 11 File Explorer i aplikacja Zdjęcia.
Who tworzy obecnie aplikacje .NET MAUI?
Wielu klientów, w tym firmy Microsoft, tworzy aplikacje międzyplatformowe za pomocą .NET MAUI. Na przykład aplikacja mobilna Microsoft Azure jest tworzona przy użyciu .NET MAUI.
Zobacz więcej na temat prezentacji klienta .NET.
Who tworzy obecnie aplikacje WPF?
Większość interfejsu użytkownika Visual Studio firmy Microsoft 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ć Windows App SDK-u bez użycia programu MSBuild?
Ogólnie rzecz biorąc, nie. WinUI i Windows App SDK wymagają MSBuild dlatego Visual Studio jest wymaganiem wstępnym do ich opracowywania. Chociaż technicznie jest możliwe tworzenie Windows App SDK aplikacji, które nie korzystają z interfejsu WinUI z innymi łańcuchami narzędzi, nie jest to obsługiwane.
Wydajność i optymalizacja
Co mogę zrobić, aby moja aplikacja Windows była dobrze odbierana przez użytkowników końcowych?
Zobacz Tworzenie aplikacji systemu Windows — najlepsze praktyki i Wydajność i podstawy aplikacji Windows.
Compatibility
Czy moi użytkownicy będą musieli kiedykolwiek zaktualizować system Windows, aby korzystał 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 przez .NET 9 to:
- Zapewnij lepszą ścieżkę migracji dla deweloperów, którzy chcą przejść do rozwiązania WinUI.
- Usuń zależności od .NET Native, aby deweloperzy mogli korzystać z najnowszych funkcji .NET i C#.
Aby uzyskać więcej informacji, zobacz wpis w blogu: Modernizej aplikację platformy UWP z obsługą platformy 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 systemu Windows i .NET inwestycji, powinny rozważyć przejście na Windows App SDK. Zobacz Migracja z platformy UWP do Windows App SDK.
Kiedy *nie* należy migrować aplikacji UWP + WinUI do systemu WinUI?
Kontynuuj korzystanie z platformy UWP, jeśli tworzysz dla konsoli Xbox, Surface Hub lub HoloLens.
Czy WPF jest przestarzałe?
Nie. WPF jest obsługiwana, zalecana i nadal otrzymuje aktualizacje funkcji. Zobacz mapę drogową WPF na GitHub.
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 Windows (WinRT) jest przestarzałe?
Nie. WinRT to interfejs binarny aplikacji (ABI), który umożliwia współdziałanie w wielu językach. WinRT to ewolucja modelu COM, a Windows App SDK zapewnia większość funkcji za pośrednictwem interfejsów API WinRT.
Informacje o wydaniu
Gdzie mogę znaleźć informacje o wydaniach dla Windows App SDK?
Najnowsze informacje o najnowszej wersji można znaleźć na stronie Co nowego.